@if(0)==(0) ECHO OFF
CScript.exe //NoLogo //E:JScript "%~f0" %*
GOTO :EOF
@end
function wsock_ConnectionRequest(reqId) {
if (socket.State != 0/* closed */) socket.Close();
socket.Accept(reqId);
}
function wsock_DataArrival(bytesTotal) {
var data = script.Run('GetData', socket, bytesTotal);
socket.SendData([
"HTTP/1.1 200 OK",
"Connection: closed",
"Content-Type: text/html;",
"",
"Hello World! " + new Date(),
""
].join("\n"));
// 相手が閉じてくれないので閉じたいけど待たないとレスポンスが無くなる
WScript.Sleep(1000);
socket.Close();
socket.Listen();
}
var socket = WScript.CreateObject('MSWinsock.Winsock', 'wsock_');
var script = WScript.CreateObject('ScriptControl');
script.language = 'VBScript';
script.AddObject('WScript', WScript);
script.AddCode([
'Function GetData(socket, bytesTotal):',
' Dim data:',
' socket.GetData data, vbString, bytesTotal:',
' GetData = data:',
'End Function'
].join(''));
socket.Bind(8080);
socket.Listen();
while (socket.State != 9/* error */) {
WScript.Sleep(100);
}
// vim:set ft=javascript:
GetDataがByRefなので、ScriptControlを使ってます。2009/08/25
バッチファイルで簡易Webサーバを起動する。
ネタ的にはZIGOROuさんかhasegawaさんのネタっぽいが...
2009/08/24
mattn的IRC全裸botの作り方
すぎゃーんさんのirssi全裸プラグインをベースに、kazuhoさんのpicojsonを使い、freenodeのwebchat機能をAPI的に使って、全裸発言リプライするIRC botを作ってみた。
コンパイルは以下の通り
実行は第一引数にnick名、第二引数にチャネル名を指定します。
例えば
とても有用ですね!
よろしければどうぞ。
コンパイルは以下の通り
# g++ zenra-bot.cc -lmecab -lcurl
Windows(mingw32)でも動作します。実行は第一引数にnick名、第二引数にチャネル名を指定します。
# ./zenra-bot zenra-bot #zenra-room
常駐している間は、誰かの発言をZENRIZE(全裸的変換)してつぶやきます。例えば
会社に行くと誰かが発言すれば
全裸で会社に行くとつぶやいてくれます。
とても有用ですね!
よろしければどうぞ。
2009/08/21
ポストをpubsubhubbubで通知するblosxomプラグイン書いた。
テストも兼ねて...
追記
これだけだとなんなので...。
RSSもしくはAtomにrel="hub" href="http://pubsubhubbub.appspot.com"のlink要素を追加し、このpluginのhub_urlにRSSもしくはAtomのURLを指定すれば動きます。
追記
これだけだとなんなので...。
RSSもしくはAtomにrel="hub" href="http://pubsubhubbub.appspot.com"のlink要素を追加し、このpluginのhub_urlにRSSもしくはAtomのURLを指定すれば動きます。