ゴーストからウェブ拍手を送る方法

ゴーストのinputboxから、開発者サイトのウェブ拍手へメッセージを送る方法です。
YAYAとSSPの最新版を想定しています。

下のスクリプトは、パラメータが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( _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を使ったうえで、
ウェブ拍手側のスクリプトを、getメソッドで受信できるように改造する必要があります。
ちょっと面倒…。

修正履歴

  • 2007/8/8 - 拍手テキストに「]」が含まれているとき、スクリプトがトークに漏れる不具合の対策を追加。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-08-08 (水) 10:00:48