5.1 コマンド返答

001から099の範囲の数値は、クライアントとサーバの接続にのみ使用され、サーバ間を移動することはありません。コマンドに対する応答として生成されるリプライは、200から399の範囲にあります。

001    RPL_WELCOME
       "Welcome to the Internet Relay Network
        <nick>!<user>@<host>"
002    RPL_YOURHOST
       "Your host is <servername>, running version <ver>"
003    RPL_CREATED
       "This server was created <date>"
004    RPL_MYINFO
       "<servername> <version> <available user modes>
        <available channel modes>"
  • サーバは、登録に成功したユーザに対して、返信001~004を送信します。
005    RPL_BOUNCE
       "Try server <server name>, port <port number>"
  • 代替サーバを提案するために、サーバからユーザに送信されます。これは、サーバがすでに満杯で接続を拒否された場合によく使われます。
302    RPL_USERHOST
       ":*1<reply> *( " " <reply> )"
  • USERHOST がクエリリストの返信を一覧表示するために使用する返信フォーマット。返信文字列は以下のように構成されます。

    reply = nickname [ "*" ] "=" ( "+" / "-" ) hostname

    * は、クライアントがオペレータとして登録されているかどうかを示します。-, + は,それぞれクライアントが AWAY メッセージを設定しているか否かを示します。

303    RPL_ISON
       ":*1<nick> *( " " <nick> )"
  • ISON がクエリリストに対する返信を一覧表示するために使用する返信フォーマット。
301    RPL_AWAY
       "<nick> :<away message>"
305    RPL_UNAWAY
       ":You are no longer marked as being away"
306    RPL_NOWAWAY
       ":You have been marked as being away"
  • これらの応答は、AWAY コマンドと一緒に使用されます(許可されている場合)。RPL_AWAY は、離席中のクライアントに PRIVMSG を送信するすべてのクライアントに送信されます。RPL_AWAY は、クライアントが接続されているサーバによってのみ送信されます。応答 RPL_UNAWAY と RPL_NOWAWAY は、クライアントが AWAY メッセージを削除して設定するときに送信されます。
311    RPL_WHOISUSER
       "<nick> <user> <host> * :<real name>"
312    RPL_WHOISSERVER
       "<nick> <server> :<server info>"
313    RPL_WHOISOPERATOR
       "<nick> :is an IRC operator"

317    RPL_WHOISIDLE
       "<nick> <integer> :seconds idle"
318    RPL_ENDOFWHOIS
       "<nick> :End of WHOIS list"
319    RPL_WHOISCHANNELS
       "<nick> :*( ( "@" / "+" ) <channel> " " )"
  • 返信 311 - 313, 317 - 319 は、すべて WHOIS メッセージに応答して生成される返信です。十分な数のパラメータが存在する場合、応答サーバは上記の数値から応答を作成するか(クエリニックが見つかった場合)、エラー応答を返す必要があります。RPL_WHOISUSER の * はワイルドカードとしてではなく、リテラル文字として存在します。各返事セットについて、RPL_WHOISCHANNELS だけが複数回現れるかもしれません(チャネル名の長いリストの場合)。チャネル名の横にある @+ の文字は、クライアントがチャネルオペレータであるか、モデレートされたチャネルで発言する許可を得ているかどうかを示します。RPL_ENDOFWHOIS 応答は、WHOIS メッセージの処理の終了をマークするために使用されます。
314    RPL_WHOWASUSER
       "<nick> <user> <host> * :<real name>"
369    RPL_ENDOFWHOWAS
       "<nick> :End of WHOWAS"
  • WHOWAS メッセージに返信するとき、サーバは提示されたリストの各ニックネームに対して RPL_WHOWASUSER、RPL_WHOISSERVER または ERR_WASNOSUCHNICK の返信を使用しなければなりません。すべての応答バッチの終わりには、たとえ1つの応答しかなく、それがエラーであったとしても、RPL_ENDOFWHOWAS がなければなりません。
321    RPL_LISTSTART
       Obsolete. Not used.

322    RPL_LIST
       "<channel> <# visible> :<topic>"
323    RPL_LISTEND
       ":End of LIST"
  • 返信 RPL_LIST、RPL_LISTENDは、LIST コマンドに対するサーバの応答のデータと終了を伴う実際の返信をマークします。返送可能なチャネルがない場合は、終了応答のみを送信する必要があります。
325    RPL_UNIQOPIS
       "<channel> <nickname>"

324    RPL_CHANNELMODEIS
       "<channel> <mode> <mode params>"

331    RPL_NOTOPIC
       "<channel> :No topic is set"
332    RPL_TOPIC
       "<channel> :<topic>"
  • チャネルのトピックを決定する TOPIC メッセージを送信する場合、2つの返信のうち 1つを送信します。トピックが設定されていれば、RPL_TOPIC が返送され、そうでなければ RPL_NOTOPIC が返送されます。
341    RPL_INVITING
       "<channel> <nick>"
  • 試行された INVITE メッセージが成功し、エンドクライアントに渡されることを示すためにサーバから返されます。
342    RPL_SUMMONING
       "<user> :Summoning user to IRC"
  • SUMMON メッセージに応答したサーバが、そのユーザを呼び出していることを示すために返されます。
346    RPL_INVITELIST
       "<channel> <invitemask>"
347    RPL_ENDOFINVITELIST
       "<channel> :End of channel invite list"
  • 与えられたチャネルの "招待マスク" をリストするとき、サーバは RPL_INVITELIST と RPL_ENDOFINVITELIST メッセージを使用してリストを送り返すことが要求されます。別々の RPL_INVITELIST が各アクティブマスクに対して送信されます。マスクがリストされた後、または1つも存在しない場合、RPL_ENDOFINVITELIST を送信する必要があります。
348    RPL_EXCEPTLIST
       "<channel> <exceptionmask>"
349    RPL_ENDOFEXCEPTLIST
       "<channel> :End of channel exception list"
  • 与えられたチャネルの "例外マスク" をリストするとき、サーバは RPL_EXCEPTLIST および RPL_ENDOFEXCEPTLIST メッセージを使用してリストを送り返すことが要求されます。アクティブなマスクごとに個別の RPL_EXCEPTLIST が送信されます。マスクがリストアップされた後、または1つも存在しない場合は、RPL_ENDOFEXCEPTLIST を送信する必要があります。
351    RPL_VERSION
       "<version>.<debuglevel> <server> :<comments>"
  • サーバがそのバージョンの詳細を示す返信。<version> はパッチレベルのリビジョンを含む使用中のソフトウェアのバージョンで、<debuglevel> はサーバが "デバッグモード" で動作しているかどうかを示すために使用されます。

    "comments" 欄には、バージョンに関するコメントや、さらなるバージョンに関する詳細情報を入力することができます。

352    RPL_WHOREPLY
       "<channel> <user> <host> <server> <nick>
       ( "H" / "G" > ["*"] [ ( "@" / "+" ) ]
       :<hopcount> <real name>"

315    RPL_ENDOFWHO
       "<name> :End of WHO list"
  • RPL_WHOREPLY と RPL_ENDOFWHO のペアは、WHO メッセージに答えるために使用されます。RPL_WHOREPLY は、WHO クエリに適切なマッチがある場合にのみ送信されます。WHO メッセージで供給されるパラメータのリストがある場合、<name> を項目とする各リスト項目を処理した後に RPL_ENDOFWHO を送信する必要があります。
353    RPL_NAMREPLY
       "( "=" / "*" / "@" ) <channel>
        :[ "@" / "+" ] <nick> *( " " [ "@" / "+" ] <nick> )
  - "@" is used for secret channels, "*" for private
    channels, and "=" for others (public channels).

366    RPL_ENDOFNAMES
       "<channel> :End of NAMES list"
  • NAMES メッセージに返信するために、RPL_NAMREPLY と RPL_ENDOFNAMES からなる返信ペアがサーバからクライアントに返送されます。クエリのように見つかったチャネルがない場合、RPL_ENDOFNAMES だけが返されます。この例外は、NAMES メッセージがパラメータなしで送信され、すべての可視チャネルとコンテンツが一連の RPL_NAMEREPLY メッセージで送り返され、RPL_ENDOFNAMES で終了をマークする場合です。
364    RPL_LINKS
       "<mask> <server> :<hopcount> <server info>"
365    RPL_ENDOFLINKS
       "<mask> :End of LINKS list"
  • LINKS メッセージに返信する際、サーバは RPL_LINKS 数値を使用して返信を送り、RPL_ENDOFLINKS 返信を使用してリストの終わりをマークしなければなりません。
367    RPL_BANLIST
       "<channel> <banmask>"
368    RPL_ENDOFBANLIST
       "<channel> :End of channel ban list"
  • 特定のチャネルのアクティブな "禁止" をリストアップする場合、サーバは RPL_BANLIST と RPL_ENDOFBANLIST メッセージを使用してリストを送り返すことが要求されます。アクティブな禁止マスクごとに別々の RPL_BANLIST が送信されます。禁止マスクがリストアップされた後、または1つも存在しない場合は、RPL_ENDOFBANLIST を送信する必要があります。
371    RPL_INFO
       ":<string>"
374    RPL_ENDOFINFO
       ":End of INFO list"
  • INFO メッセージに応答するサーバは、そのすべての "info" を一連の RPL_INFO メッセージで送信し、返信の終わりを示すために RPL_ENDOFINFO 返信をすることが要求されます。
375    RPL_MOTDSTART
       ":- <server> Message of the day - "
372    RPL_MOTD
       ":- <text>"
376    RPL_ENDOFMOTD
       ":End of MOTD command"
  • MOTD メッセージに応答し、MOTD ファイルが見つかった場合、RPL_MOTD 形式の返信で、1行80文字以内で1行ずつ表示されます。これらは、RPL_MOTD の前に RPL_MOTDSTART、後に RPL_ENDOFMOTD で囲む必要があります。
381    RPL_YOUREOPER
       ":You are now an IRC operator"
  • RPL_YOUREOPER は、OPER メッセージを正常に発行し、オペレータ・ステータスを得たばかりのクライアントに返送されます。
382    RPL_REHASHING
       "<config file> :Rehashing"
  • REHASH オプションが使用され、オペレータが REHASH メッセージを送信する場合、RPL_REHASHING がオペレータに返送されます。
383    RPL_YOURESERVICE
       "You are service <servicename>"
  • 登録に成功したときにサーバからサービスに送信されます。
391    RPL_TIME
       "<server> :<string showing server's local time>"
  • TIME メッセージに返信する場合、サーバは上記の RPL_TIME 形式を使用して返信を送信する必要があります。時刻を示す文字列は、そこに正しい曜日と時刻を含むだけでよいです。時刻を示す文字列には、それ以上の要件はありません。
392    RPL_USERSSTART
       ":UserID   Terminal  Host"
393    RPL_USERS
       ":<username> <ttyline> <hostname>"
394    RPL_ENDOFUSERS
       ":End of users"
395    RPL_NOUSERS
       ":Nobody logged in"
  • USERS メッセージがサーバによって処理される場合、応答 RPL_USERSTART、RPL_USERS、RPL_ENDOFUSERS、RPL_NOUSERS が使用されます。RPL_USERSSTART を最初に送信し、その後に一連の RPL_USERS または単一の RPL_NOUSER のいずれかを送信する必要があります。これに続くのは RPL_ENDOFUSERS です。
200    RPL_TRACELINK
       "Link <version & debug level> <destination>
        <next server> V<protocol version>
        <link uptime in seconds> <backstream sendq>
        <upstream sendq>"
201    RPL_TRACECONNECTING
       "Try. <class> <server>"
202    RPL_TRACEHANDSHAKE
       "H.S. <class> <server>"
203    RPL_TRACEUNKNOWN
       "???? <class> [<client IP address in dot form>]"
204    RPL_TRACEOPERATOR
       "Oper <class> <nick>"
205    RPL_TRACEUSER
       "User <class> <nick>"
206    RPL_TRACESERVER
       "Serv <class> <int>S <int>C <server>
        <nick!user|*!*>@<host|server> V<protocol version>"
207    RPL_TRACESERVICE
       "Service <class> <name> <type> <active type>"
208    RPL_TRACENEWTYPE
       "<newtype> 0 <client name>"
209    RPL_TRACECLASS
       "Class <class> <count>"
210    RPL_TRACERECONNECT
       Unused.
261    RPL_TRACELOG
       "File <logfile> <debug level>"
262    RPL_TRACEEND
       "<server name> <version & debug level> :End of TRACE"
  • RPL_TRACE* はすべて TRACE メッセージに応答してサーバから返されます。いくつ返されるかは、TRACE メッセージとそれがオペレータによって送信されたかどうかに依存します。どれが最初に起こるか、あらかじめ定義された順序はありません。リプライ RPL_TRACEUNKNOWN、RPL_TRACECONNECTING、RPL_TRACEHANDSHAKE はすべて、完全に確立されていない接続、不明、まだ接続しようとしている、または "サーバハンドシェイク" の完了プロセスのいずれかに使用されています。RPL_TRACELINK は、TRACE メッセージを処理し、それを別のサーバに渡す必要があるすべてのサーバによって送信されます。IRC ネットワーク を横断する TRACE コマンドに応答して送信される RPL_TRACELINK のリストは、その経路に沿ったサーバ自身の実際の接続性を反映する必要があります。RPL_TRACENEWTYPE は、他のカテゴリに当てはまらないが、とにかく表示される接続に使用されます。RPL_TRACEEND は、リストの終わりを示すために送信されます。
211    RPL_STATSLINKINFO
       "<linkname> <sendq> <sent messages>
        <sent Kbytes> <received messages>
        <received Kbytes> <time open>"
  • 接続に関する統計情報を報告します。<linkname> は特定の接続を識別し、<sendq> はキューに入れられ送信待ちのデータ量、<sent messages> は送信したメッセージ数、<sent Kbytes> は送信データ量(Kbytes 単位)を表わします。<received messages><received Kbytes> は、それぞれ受信データの <sent messages><sent Kbytes> に相当します。<time open> は、接続が開かれてから何日経ったかを秒単位で示します。
212    RPL_STATSCOMMANDS
       "<command> <count> <byte count> <remote count>"
  • コマンドの使用に関する統計情報を報告します。
219    RPL_ENDOFSTATS
       "<stats letter> :End of STATS report"

242    RPL_STATSUPTIME
       ":Server Up %d days %d:%02d:%02d"
  • サーバーの稼働時間を報告します。
243    RPL_STATSOLINE
       "O <hostmask> * <name>"
  • ユーザが IRC オペレータになることを許可するホストを報告します。
221    RPL_UMODEIS
       "<user mode string>"
  • クライアント自身のモードに関するクエリに答えるために、RPL_UMODEIS が返送されます。
234    RPL_SERVLIST
       "<name> <server> <mask> <type> <hopcount> <info>"

235    RPL_SERVLISTEND
       "<mask> <type> :End of service listing"
  • SERVLIST メッセージに応答してサービスをリストアップするとき、サーバは RPL_SERVLIST と RPL_SERVLISTEND メッセージを使用してリストを送り返すことが要求されます。各サービスに対して別々の RPL_SERVLIST が送信されます。サービスがリストアップされた後、または何も存在しない場合は、RPL_SERVLISTEND を送信する必要があります。
251    RPL_LUSERCLIENT
       ":There are <integer> users and <integer>
        services on <integer> servers"
252    RPL_LUSEROP
       "<integer> :operator(s) online"
253    RPL_LUSERUNKNOWN
       "<integer> :unknown connection(s)"
254    RPL_LUSERCHANNELS
       "<integer> :channels formed"
255    RPL_LUSERME
       ":I have <integer> clients and <integer>
         servers"
  • LUSERS メッセージの処理では、サーバは RPL_LUSERCLIENT、RPL_LUSEROP、RPL_USERUNKNOWN、RPL_LUSERCHANNELS および RPL_LUSERME から一式の応答を送信します。返信するとき、サーバは RPL_LUSERCLIENT と RPL_LUSERME を送り返さなければなりません。他の返信は、それらにゼロでないカウントが見つかった場合にのみ送り返されます。
256    RPL_ADMINME
       "<server> :Administrative info"
257    RPL_ADMINLOC1
       ":<admin info>"
258    RPL_ADMINLOC2
       ":<admin info>"
259    RPL_ADMINEMAIL
       ":<admin info>"
  • ADMIN メッセージに返信する場合、サーバは RPL_ADMINME から RPL_ADMINEMAIL までの返信を使用し、それぞれにテキストメッセージを提供することが期待されています。RPL_ADMINLOC1 には、サーバがある都市、州、国の説明が期待され、次に機関の詳細 RPL_ADMINLOC2、最後にサーバの管理連絡先 RPL_ADMINEMAIL にはメールアドレスが必要です。
263    RPL_TRYAGAIN
       "<command> :Please wait a while and try again."
  • サーバがコマンドを処理せずにドロップした場合、応答 RPL_TRYAGAIN を使用して発信元クライアントに通知する必要があります。