ChannelMember のインスタンス取得方法についてTeloo - 2009/11/15(日) 12:53 No.1950
|
スクリプトの ChannelMember オブジェクトについてお尋ねしたいことがあります。
#GetChannelMemberTest チャンネルに4人参加しているときに、スクリプトで
function event::onChannelText(prefix, channel, text) { if (text.match(/^get-channel-member$/)) { readyChannel = findChannel("#GetChannelMemberTest"); for (member in readyChannel.members) { send(channel, "Hello " + member.nick); } } }
と設定し、「get-channel-member」と IRC で入力したところ、
(teloo) Hello undefined (teloo) Hello undefined (teloo) Hello undefined (teloo) Hello undefined
と表示されました。
以上の方法がうまくいかなかったので、指定したチャンネル内にいる ChannelMember の配列を取得する方法をどうすればよいか悩んでいます。
ご教授のほど、よろしくお願いします。
|
Le - 2009/11/15(日) 19:17 No.1952
|
単純にfor-in文の使い方を間違えていますね。この場合memberはカウンタになりますので・・・ function event::onChannelText(prefix, channel, text) { if (text.match(/^get-channel-member$/)) { readyChannel = findChannel("#GetChannelMemberTest"); for (member in readyChannel.members) { send(channel, "Hello " + readyChannel.members[member].nick); } } } みたいな感じでしょうか。
|
Teloo - 2009/11/16(月) 22:13 No.1954
|
迅速なお返事ありがとうございます。
> 単純にfor-in文の使い方を間違えていますね。この場合memberはカウンタになりますので・・・
初歩的なミスでした。すみません。 教えていただきました方法を試したところ、無事に正しく動作しました。
ありがとうございました。
|
Psychs - 2009/11/17(火) 03:06 No.1955
|
思った通りに動かないなと思ったら、その周辺の変数を log() で出力してみるといいですよ。
|
|