⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 protocol

📁 irc message protocol stack
💻
📖 第 1 页 / 共 5 页
字号:
   issue an SQUIT message for a remote server connection.  In this case,   the SQUIT must be parsed by each server inbetween the operator and   the remote server, updating the view of the network held by each   server as explained below.   The <comment> should be supplied by all operators who execute a SQUIT   for a remote server (that is not connected to the server they are   currently on) so that other operators are aware for the reason of   this action.  The <comment> is also filled in by servers which may   place an error or similar message here.   Both of the servers which are on either side of the connection being   closed are required to to send out a SQUIT message (to all its other   server connections) for all other servers which are considered to be   behind that link.Oikarinen & Reed                                               [Page 18]RFC 1459              Internet Relay Chat Protocol              May 1993   Similarly, a QUIT message must be sent to the other connected servers   rest of the network on behalf of all clients behind that link.  In   addition to this, all channel members of a channel which lost a   member due to the split must be sent a QUIT message.   If a server connection is terminated prematurely (e.g. the server  on   the  other  end  of  the  link  died),  the  server  which  detects   this disconnection is required to inform the rest of  the  network   that  the connection  has  closed  and  fill  in  the comment field   with something appropriate.   Numeric replies:           ERR_NOPRIVILEGES                ERR_NOSUCHSERVER   Example:   SQUIT tolsun.oulu.fi :Bad Link ? ; the server link tolson.oulu.fi has                                   been terminated because of "Bad Link".   :Trillian SQUIT cm22.eng.umd.edu :Server out of control                                    ; message from Trillian to disconnect                                   "cm22.eng.umd.edu" from the net                                    because "Server out of control".4.2 Channel operations   This group of messages is concerned with manipulating channels, their   properties (channel modes), and their contents (typically clients).   In implementing these, a number of race conditions are inevitable   when clients at opposing ends of a network send commands which will   ultimately clash.  It is also required that servers keep a nickname   history to ensure that wherever a <nick> parameter is given, the   server check its history in case it has recently been changed.4.2.1 Join message      Command: JOIN   Parameters: <channel>{,<channel>} [<key>{,<key>}]   The JOIN command is used by client to start listening a specific   channel. Whether or not a client is allowed to join a channel is   checked only by the server the client is connected to; all other   servers automatically add the user to the channel when it is received   from other servers.  The conditions which affect this are as follows:           1.  the user must be invited if the channel is invite-only;Oikarinen & Reed                                               [Page 19]RFC 1459              Internet Relay Chat Protocol              May 1993           2.  the user's nick/username/hostname must not match any               active bans;           3.  the correct key (password) must be given if it is set.   These are discussed in more detail under the MODE command (see   section 4.2.3 for more details).   Once a user has joined a channel, they receive notice about all   commands their server receives which affect the channel.  This   includes MODE, KICK, PART, QUIT and of course PRIVMSG/NOTICE.  The   JOIN command needs to be broadcast to all servers so that each server   knows where to find the users who are on the channel.  This allows   optimal delivery of PRIVMSG/NOTICE messages to the channel.   If a JOIN is successful, the user is then sent the channel's topic   (using RPL_TOPIC) and the list of users who are on the channel (using   RPL_NAMREPLY), which must include the user joining.   Numeric Replies:           ERR_NEEDMOREPARAMS              ERR_BANNEDFROMCHAN           ERR_INVITEONLYCHAN              ERR_BADCHANNELKEY           ERR_CHANNELISFULL               ERR_BADCHANMASK           ERR_NOSUCHCHANNEL               ERR_TOOMANYCHANNELS           RPL_TOPIC   Examples:   JOIN #foobar                    ; join channel #foobar.   JOIN &foo fubar                 ; join channel &foo using key "fubar".   JOIN #foo,&bar fubar            ; join channel #foo using key "fubar"                                   and &bar using no key.   JOIN #foo,#bar fubar,foobar     ; join channel #foo using key "fubar".                                   and channel #bar using key "foobar".   JOIN #foo,#bar                  ; join channels #foo and #bar.   :WiZ JOIN #Twilight_zone        ; JOIN message from WiZ4.2.2 Part message      Command: PART   Parameters: <channel>{,<channel>}Oikarinen & Reed                                               [Page 20]RFC 1459              Internet Relay Chat Protocol              May 1993   The PART message causes the client sending the message to be removed   from the list of active users for all given channels listed in the   parameter string.   Numeric Replies:           ERR_NEEDMOREPARAMS              ERR_NOSUCHCHANNEL           ERR_NOTONCHANNEL   Examples:   PART #twilight_zone             ; leave channel "#twilight_zone"   PART #oz-ops,&group5            ; leave both channels "&group5" and                                   "#oz-ops".4.2.3 Mode message      Command: MODE   The MODE command is a dual-purpose command in IRC.  It allows both   usernames and channels to have their mode changed.  The rationale for   this choice is that one day nicknames will be obsolete and the   equivalent property will be the channel.   When parsing MODE messages, it is recommended that the entire message   be parsed first and then the changes which resulted then passed on.4.2.3.1 Channel modes   Parameters: <channel> {[+|-]|o|p|s|i|t|n|b|v} [<limit>] [<user>]               [<ban mask>]   The MODE command is provided so that channel operators may change the   characteristics of `their' channel.  It is also required that servers   be able to change channel modes so that channel operators may be   created.   The various modes available for channels are as follows:           o - give/take channel operator privileges;           p - private channel flag;           s - secret channel flag;           i - invite-only channel flag;           t - topic settable by channel operator only flag;           n - no messages to channel from clients on the outside;           m - moderated channel;           l - set the user limit to channel;Oikarinen & Reed                                               [Page 21]RFC 1459              Internet Relay Chat Protocol              May 1993           b - set a ban mask to keep users out;           v - give/take the ability to speak on a moderated channel;           k - set a channel key (password).   When using the 'o' and 'b' options, a restriction on a total of three   per mode command has been imposed.  That is, any combination of 'o'   and4.2.3.2 User modes   Parameters: <nickname> {[+|-]|i|w|s|o}   The user MODEs are typically changes which affect either how the   client is seen by others or what 'extra' messages the client is sent.   A user MODE command may only be accepted if both the sender of the   message and the nickname given as a parameter are both the same.   The available modes are as follows:           i - marks a users as invisible;           s - marks a user for receipt of server notices;           w - user receives wallops;           o - operator flag.   Additional modes may be available later on.   If a user attempts to make themselves an operator using the "+o"   flag, the attempt should be ignored.  There is no restriction,   however, on anyone `deopping' themselves (using "-o").  Numeric   Replies:           ERR_NEEDMOREPARAMS              RPL_CHANNELMODEIS           ERR_CHANOPRIVSNEEDED            ERR_NOSUCHNICK           ERR_NOTONCHANNEL                ERR_KEYSET           RPL_BANLIST                     RPL_ENDOFBANLIST           ERR_UNKNOWNMODE                 ERR_NOSUCHCHANNEL           ERR_USERSDONTMATCH              RPL_UMODEIS           ERR_UMODEUNKNOWNFLAG   Examples:           Use of Channel Modes:MODE #Finnish +im               ; Makes #Finnish channel moderated and                                'invite-only'.MODE #Finnish +o Kilroy         ; Gives 'chanop' privileges to Kilroy onOikarinen & Reed                                               [Page 22]RFC 1459              Internet Relay Chat Protocol              May 1993                                channel #Finnish.MODE #Finnish +v Wiz            ; Allow WiZ to speak on #Finnish.MODE #Fins -s                   ; Removes 'secret' flag from channel                                #Fins.MODE #42 +k oulu                ; Set the channel key to "oulu".MODE #eu-opers +l 10            ; Set the limit for the number of users                                on channel to 10.MODE &oulu +b                   ; list ban masks set for channel.MODE &oulu +b *!*@*             ; prevent all users from joining.MODE &oulu +b *!*@*.edu         ; prevent any user from a hostname                                matching *.edu from joining.        Use of user Modes::MODE WiZ -w                    ; turns reception of WALLOPS messages                                off for WiZ.:Angel MODE Angel +i            ; Message from Angel to make themselves                                invisible.MODE WiZ -o                     ; WiZ 'deopping' (removing operator                                status).  The plain reverse of this                                command ("MODE WiZ +o") must not be                                allowed from users since would bypass                                the OPER command.4.2.4 Topic message      Command: TOPIC   Parameters: <channel> [<topic>]   The TOPIC message is used to change or view the topic of a channel.   The topic for channel <channel> is returned if there is no <topic>   given.  If the <topic> parameter is present, the topic for that   channel will be changed, if the channel modes permit this action.   Numeric Replies:           ERR_NEEDMOREPARAMS              ERR_NOTONCHANNEL           RPL_NOTOPIC                     RPL_TOPIC           ERR_CHANOPRIVSNEEDEDOikarinen & Reed                                               [Page 23]RFC 1459              Internet Relay Chat Protocol              May 1993   Examples:   :Wiz TOPIC #test :New topic     ;User Wiz setting the topic.   TOPIC #test :another topic      ;set the topic on #test to "another                                   topic".   TOPIC #test                     ; check the topic for #test.4.2.5 Names message      Command: NAMES   Parameters: [<channel>{,<channel>}]   By using the NAMES command, a user can list all nicknames that are   visible to them on any channel that they can see.  Channel names   which they can see are those which aren't private (+p) or secret (+s)   or those which they are actually on.  The <channel> parameter   specifies which channel(s) to return information about if valid.   There is no error reply for bad channel names.   If no <channel> parameter is given, a list of all channels and their   occupants is returned.  At the end of this list, a list of users who   are visible but either not on any channel or not on a visible channel   are listed as being on `channel' "*".

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -