*ゴーストからウェブ拍手を送る方法 [#ccf142a1] ゴーストのinputboxから、開発者サイトのウェブ拍手へメッセージを送る方法です。~ YAYAとSSPの最新版を想定しています。 下のスクリプトは、パラメータが[[patipati>http://www.gnbnet.com/patipati/]]用になっています。ほかのウェブ拍手には、 _parameters = "com=%(_ghostprefix + SUBSTR(reference0,0,_cutoff))" この行を変更することで対応可能です。 ///////////// ゴーストマスタに一言フォーム OnShowWebclapForm { // \![open,inputbox,OnSendWebclap,0,] をスクリプト中に入れると、フォームが表示される。 // ↓は表示例 "\t\u\s[10]\h\s[5]\![open,inputbox,OnSendWebclap,0,]ウェブ拍手を送れるえ。\u\w9\w950文字までだぞ。\e" } OnSendWebclap { ////////////////////////////////////////// // あなたの環境にあわせて設定 ↓ ////////////////////////////////////////// // patipati 用 設定(2007.8.7版) // 配布ページ http://www.gnbnet.com/patipati/ // ウェブ拍手のURL _webclapurl = 'http://your.server.com/patipati/index.cgi' // (どのゴーストから送られたかを判別するための)プレフィックス文字列 _ghostprefix = 'FROM_GHOST(test):' // 何文字まで送れるかの制限(文字数) _cutoff = 50 /* ここから先は基本的にトークを追加するだけ! */ // メッセージを収納する変数 _msg = REPLACE( _msg, '[', '\[' ) _msg = REPLACE( _reference0, '[', '\[' ) // パラメータ作成 _parameters = "com=%( _ghostprefix + SUBSTR(_msg,0,_cutoff) )" // 文字数制限をかける if STRLEN(_msg) > TOINT(_cutoff) { "\![open,inputbox,OnSendWebclap,0,%(SUBSTR(_msg,0,_cutoff))]" // ここはさわらない -- "\u\s[10]\h\s[9]送れるん、\w5%(_cutoff)文字までやねん。\w9\nもうちょっと短くしてな?\u\w9\w9すまんなー。\e" /* ここに_cutoff文字以内にしてねというメッセージを並べる */ } elseif (reference0 != 'timeout') { "\![execute,http-post,%(_webclapurl),--param=%(_parameters),--async=WEBCLAP,--param-charset=Shift_JIS]\e" /* これがウェブ拍手メッセージを送る本体。いじらない */ } else { "\u\s[10]\h\s[9]ほな、\w5また気が向いたらよろしくな。\u\w9\w9ん。\e" /* ここにタイムアウト時のメッセージを並べる */ } } OnExecuteHTTPComplete { if reference1 == 'WEBCLAP' { "\u\s[10]\h\s[5]送ったえ。\u\w9\w9ありがとうだ。\e" /* きちんと送れた場合のメッセージを並べる */ } } OnExecuteHTTPFailure { if reference1 == 'WEBCLAP' { "\u\s[10]\h\s[4]アカン、\w5送れへんかった。\u\w9\w9%(reference4)だそうだ。\e" /* 送れなかった場合のメッセージを並べる。%(reference4)は送れない原因 */ } } SSPの\![execute,http-post,...]を使っているため、古いSSPやCROW・Materiaでは動作しません。~ それらの環境で動作させるためには、櫛ヶ浜やぎ様の[[httpc.dll>http://www.geocities.jp/poskoma/]]を使ったうえで、~ ウェブ拍手側のスクリプトを、getメソッドで受信できるように改造する必要があります。~ ちょっと面倒…。 *** 修正履歴 [#r36b891e] -2007/8/8 - 拍手テキストに「]」が含まれているとき、スクリプトがトークに漏れる不具合の対策を追加。