|
|||
|
Home News History Channels Abuse |
Channels and modesThe basic means of communication in an established IRC session is a channel. You can see all the channels in a server using the command /list [#string] [-min #] [-max #] that lists all currently available channels, optionally filtering for parameters (#string for the entire or part of the name, with wildcards, and #min / #max for number of users in the channel). Users can join to a channel using the command /join #channelname and send messages to it, which are relayed to all other users on the same channel. Channels that are available across an entire IRC network are prepended with a '#', while those local to a server use '&'. Other non-standard and less common channel types include '+' channels — 'modeless' channels without operators, and '!' channels, a form of timestamped channel on normally non-timestamped networks. Users and channels may have modes, which are engaged through the use of attributes or command line switches. Modes are abbreviated by single letters so you can string them together concisely. An example of a user-mode attribute is 'i', which stands for invisible. You cannot tell whether or not an invisible user is on a channel unless you join that channel or use the whois command on its NIC. A channel-mode example is 'm' (moderated), which specifies that only 'voiced' users and channel operators are allowed to speak on the channel. By combining the attributes 'k' (keyed - requires a password to join the channel) and 'i' (invite-only - requires an invitation from a channel operator) you can keep user abuse out of the channel. There are five types of channel modes. Four of the modes will accept an argument. Type A accepting an argument to add/remove values from a list (such as 'b'), Type B accepting an argument that is used when turning the mode 'on' and 'off' (such as 'k'), Type C accepting an argument only when the mode is turned 'on' (such as 'l'), Type D which accepts no arguments and is simply a boolean flag (such as 'm', 'n', and 't'), and Type E (usually called 'class' or 'prefix' modes) that gives or takes a privilege from a user on a channel (such as 'o'). Type E modes (channel classes) specify which users on a channel have privileges and the level of those privileges. Originally only 'channel operator' (mode 'o') and 'voice' (mode 'v') existed. Channel operator (usually abbreviated chanop or simply 'op') privileges allow a user to kick users off, set modes and change the topic, even if the channel is '+t'. Voice privileges allow a user to speak on a channel if it is moderated (mode 'm'). Additions to these classes are 'channel owner' (mode 'q') created by Microsoft in its IRCX implementation (and later used by UnrealIrcd); 'half-operator' (mode 'h') which is similar to a chanop, except they cannot set certain modes and can only kick normal users; 'protected'(mode 'a'); 'administrator' (mode 'a' or 'u'); and many more. Each channel class has an associated prefix that is shown beside a user's nickname whenever associated with that channel. The most common prefixes are '@' for channel operator, '+' for voice, '%' for half-op, '.' or '~' for channel owner, '&' for protected user, '!' or the lesser known '*' for administrator. Unless the channel is moderated the only effect of +v (voice) is the plus sign appearing beside the nick name. On many channels this is used to indicate seniority or regularity of use, or a kind of "trusted user" flag in case the channel does have to be moderated. Most IRC networks feature a lot of extra modes not specified in any RFC document. This is a very simple feat for clients to adapt to since a list of all the valid user and channelmodes are sent to clients in the RPL_MYINFO reply upon logon. In addition, the list of channelmodes (and what type of arguments they accept), and the prefixes for class modes are specified in the protocol control reply (RPL_PROTOCTL or 005) sent from most IRC servers when a client connects. This message is used to tell clients what features the server supports, and what its limits are (for example, the maximum number of users you can have on your notify list, or the maximum length of your nickname). There are also users whose privileges extend to whole servers or networks of servers; these are called IRC Operators. On some IRC implementations, IRC operators are also given channel operator status in every channel, although many people believe that administration of channels and administration of the network should be kept separate, and that IRC operator status does not confer the right to interfere with a particular channel's operation. Because IRC connections are unencrypted and typically span long time periods, they are an attractive target for malicious hackers. Because of this, careful security policy is necessary to ensure that an IRC network is not susceptible to an attack such as an IRC takeover war. IRC networks also k-line or g-line users or networks that tend to have a harming effect. IRC served as an early laboratory for many kinds of Internet attacks, such as using fake ICMP unreachable messages to break TCP-based IRC connections ("nuking") to annoy users or facilitate takeovers. Content from wikipedia.org |
||