チャンネル毎に違う反応ren - 2010/02/12(金) 01:21 No.2048
|
スクリプトの質問はここでいいのか悩みましたが、 limechat用なので書いてみることにしました。
※質問用に内容を省略してます。 同じ反応単語「test」を、特別なチャンネル「部屋2」 で発言した場合別のメッセージが出力されるというものを 作成しているのですが、 他人に発言してもらった場合、部屋2の設定が出力されません。 自分で発言した場合うまくいっているみたいです。
マクロなら簡単な設定ですが、スクリプトで作成したい条件なので もしよろしければご教授のほどお願いします。
function event::onChannelText(prefix, channel, text) { { if (channel.match(/^#部屋1$/) || channel.match(/^#部屋3$/)) { if (text.match(/test/)) {
send(channel, '○○○'); } } else if (channel.match(/^#部屋2$/)) { if (text.match(/test/)) {
send(channel, '△△△'); } } } }
|
Psychs - 2010/02/12(金) 02:35 No.2049
|
他のクライントは、大文字小文字が違うチャンネル名を送ってきているかも知れないですね。
channel.match(/^#部屋2$/i)
のように、正規表現リテラルに i オプションをつけてみてください。
|
ren - 2010/02/12(金) 03:59 No.2050
|
お早いお返事ありがとうございます。 助言いただいた内容で出力することができました。
指摘された通り、英文字で大小が違う名称設定が原因だったようです。
|
|