4.2.1 Join メッセージ
Command: JOIN
Parameters: <channel>{,<channel>} [<key>{,<key>}]
JOIN コマンドは,クライアントが特定のチャネルのリスニングを開始するために使用されます.クライアントがチャネルに参加できるかどうかは,クライアントが接続しているサーバのみが確認します.他のサーバは,他のサーバからチャネルを受信すると,自動的にユーザをチャネルに追加します.これに影響する条件は以下の通りです.
- チャネルが招待制である場合,ユーザは招待されていなければなりません.
- ユーザのニックネーム/ユーザ名/ホスト名は,アクティブな禁止事項にマッチしてはいけません.
- 正しいキー(パスワード)が設定されている場合は,それを入力しなければなりません.
これらについては,MODE コマンドで詳しく説明します(詳細は4.2.3 モードメッセージの章を参照してください).
ユーザがチャネルに参加すると,そのチャネルに影響を与えるサーバが受け取るすべてのコマンドに関する通知を受け取ります.これには,MODE,KICK,PART,QUIT や,もちろん PRIVMSG/NOTICE が含まれます.JOIN コマンドは,各サーバがチャネルに参加しているユーザをどこで見つけることができるかを知るために,すべてのサーバにブロードキャストされる必要があります.これにより,PRIVMSG/NOTICE メッセージのチャネルへの最適な配信が可能になります.
JOIN が成功すると,ユーザにチャネルのトピック(RPL_TOPIC を使用)とチャネルに参加しているユーザのリスト(RPL_NAMREPLY を使用)が送られますが,これには参加しているユーザを含める必要があります.
数値返信:
ERR_NEEDMOREPARAMS ERR_BANNEDFROMCHAN
ERR_INVITEONLYCHAN ERR_BADCHANNELKEY
ERR_CHANNELISFULL ERR_BADCHANMASK
ERR_NOSUCHCHANNEL ERR_TOOMANYCHANNELS
RPL_TOPIC
例:
JOIN #foobar ; チャネル #foobar に参加します.
JOIN &foo fubar ; "fubar" をキーにチャネル &foo に参加します.
JOIN #foo,&bar fubar ; チャネル #foo にキー "fubar" で,&bar にキー無しで参加します.
JOIN #foo,#bar fubar,foobar ; キー "fubar" を使ってチャネル #foo に参加し,キー "foobar" を使ってチャネル #bar に参加します.
JOIN #foo,#bar ; チャネル #foo と #bar に参加します.
:WiZ JOIN #Twilight_zone ; WiZ からの JOIN メッセージ