What are channel modes?
Channel modes are modes set or removed on a channel by a channel op (someone with @nick)
Channel modes can affect users in a channel and its visibility. Any channel mode can be set on using
/mode #channel -mode or
/mode #channel +mode (if it requires one). You can also use any combination of
+ modes and
- modes in one line.
+o This is channel operator mode ("op" or "chanop" for short). An op has the ability to change other channel modes - basically you can't set channel modes in a particular channel if you're not currently an op there. Chanops also have the ability to kick (forcibly remove) people from a channel, using
/kick #channelname . So, Banjo could do
/kick #popsicle lamer no spamming allowed! which results in lamer being removed from #popsicle and the following output:
*** lamer was kicked by Banjo (no spamming allowed!)
Any chanop can make someone else an op as well, and they will have the same abilities in the channel as the channel op who opped him. Just type
/mode #channel +o , e.g.,
/mode #popsicle +o stoney`.
You can also op more than one person at a time:
/mode #popsicle +ooo bluesmurf papasmurf tallsmurf
Or deop some people and op others e.g.
/mode #popsicle +o-oo+o stoney` dumbsmurf lamesmurf papasmurf
Now the order of mode change letters becomes important, since the first person specified gets opped, the second and third are deopped, and the fourth is opped. This is because of the order of the mode changes - modes are applied in order the arguments are given.
By the way, you should be careful in choosing who you op - don't op just anyone, but also make sure the channel has enough ops in case some are disconnected suddenly (for whatever reason), since the channel may be left opless. If you op someone and they deop all the other ops, then the channel has not been taken over, since they got ops legitimately.
In this case, there is nothing you can do, so don't ask an IRCop for help. Instead, learn to be cautious in who you op, and never op someone just because their nick is that of your friend. Get into the habit of remembering and recognising people by their addresses rather than their nicks or any other way you work out so that you can positively identify people you trust.
+n This mode means no external messages to the channel, i.e., you can't send a /msg to the channel without being inside it. For example, if #popsicle is
+n and cArLiLLoS, who's not in #popsicle, tries to send a message using
/msg #popsicle boo! scared ya!, he will get a message similar to
*** #popsicle Cannot send to channel
If a channel isn't
+n, then you could
/msg #channelname and it will appear inside the channel as if the person was saying it from right inside -- this is somewhat spooky to see. Note that
+n also stops people from doing CTCPs to the entire channel unless they are inside it.
If #popsicle is
-n, then it is possible to
/ping #popsicle without even being inside it.
As a general precaution against flooding, and to stop people annoying you with ghostlike messages from outside the channel, it's generally a good idea to set channels
+n, and you will find that almost all channels are set
+n by their ops.
+t This mode means only ops can set or change the topic for the channel, using
/topic #channel . If the channel is -t, then anyone can change the topic, e.g.,
/topic #popsicle This is the place for smurfs to chat and flirt!
+p Channel is private. When a
/WHOIS is performed from outside on anyone in a private channel, the channel will not be displayed in the
/WHOIS result. It won't be shown in a channel listing either. Suppose banjo is in channels #userguide and also in #smurflove (which is a private channel). If stoney` (who is not in #smurflove) does
/whois on nick, this will be the output
*** nick is email@example.com (I'm just cold.)
*** on channels: #userguide
*** nick using *.undernet.org The Undernet Underworld
*** nick End of /WHOIS list.
However, smurfette, who is in #smurflove with nick (*grin*), will see the following channels listed instead because she is also in the private channel:
*** nick is firstname.lastname@example.org (I'm just cold.)
*** on channels #userguide #smurflove
*** nick using *.undernet.org The Undernet Underworld
*** nick End of /WHOIS list.
+s This means the channel is a secret channel, which is virtually identical to a private channel. It also does not show up in a channel listing, and not in the
/whois info unless the person doing the
/whois is also in that channel. The difference is that with private channels, you can
/who #channel to see who is inside, so if #smurflove was
+p, then stoney` could
/who #smurflove to see that Banjo and smurfette are inside (unless they have set themselves
In a secret channel, this is not possible, since doing a
/who #channel does not reveal who is inside. Note that even with a private (
+p) channel, any people inside who are
+i (invisible) will not show up in a
/who #channel listing. If you attempt to do a
/who on a secret channel, the server will not protest, but will merely send you an empty listing.
+m This is a moderated channel, which means only ops (
+o) and voiced (
+v) users can send messages/text to channel. Non-ops or non-voiced users will get the response:
Cannot send to channel
Unless you are voiced (
+v) on the channel.
+v This is for voice mode; it lets the person speak if the channel is moderated, even if they are not ops. Obviously a channel op need not be
+v since they can already speak (but it's possible to set
+v on an op anyway). If #popsicle is moderated (
+m) then Banjo (who must be an op) can let greysmurf talk by either making him an op or by
/mode #popsicle +v greysmurf. Someone with voice in a channel has a
+ before their nick, similar to the way an op has an
@ before their nick.
Some channels that are not moderated use the voice setting to show who in the channel is a helper or a channel op who chooses not to be oped at the time. A channel does not have to be moderated (
+m) to "voice" people and thus have a
+ in front of their nick.
+i This means the channel is invite-only, meaning you must explicitly be invited by an op of the channel, using
/invite (nick) #channel before you can join the channel. If you are not invited, you will be unable to join the channel. So if #popsicle was
+i and Banjo (an op) wanted to let darksmurf join the channel, he should
/invite darksmurf #popsicle. Otherwise darksmurf would get the following message if he tried to join:
Cannot join channel (+i) (Invite only channel)
+l This means that the channel is limited to a certain number of people. If Banjo wanted to limit #popsicle to 20 people at a time, he would set
/mode #popsicle +l 20. If cArLiLLoS then attempted to join #popsicle when it already had 20 smurfs in it, he would get the following message:
Can't join channel (channel is full)
+k This means that the channel has a key, like a password, which is necessary to join the channel. If stoney` wanted to set "brainysmurf" as the password to join the channel, he'd set
/mode #popsicle +k brainysmurf. If cArLiLLoS then wanted to join #popsicle, he would have to do
/join #popsicle brainysmurf. Note that to remove a keyword (unlock the channel), you must specify the key. That is, cArLiLLoS would have to set
/mode #popsicle -k brainysmurf to undo the channel's keyword status and permit entry without a password. If you attempt to join a keyed channel without the key or use an incorrect one, then you will get a message along the following lines:
Cannot join channel (+k)
+b This is the mode used to set a ban, which prevents a particular nick and/or address (nick!user@host) from entering the channel. A banned person cannot enter the channel, or if already in the channel when the ban is set, cannot speak, change nicks, or do any CTCP (pings, versions, etc. to the channel). A ban is of the form
/mode #channel +b nick!user@host, e.g.,
/mode #popsicle ban *!*Gargamel@*.nastyhouse.com.
Any "overlapping" bans will be removed by the server first. For example, if you had banned
*!*jane@*.xyz.com, then if you ban *
!*@*.com, those 2 bans will be removed, since the
*!*@*.com ban covers them, making them redundant.
Modes can be set on and off in one
/mode command, and may be combined at will, e.g.,
/mode #popsicle +mno-t+sl stoney` 10. This would set the channel moderated, no external messages, op stoney`, anyone can change topic, make it secret and limit the channel to 10 people. You can see this by looking at the order of the modes given and the order of the arguments specified. The first mode from the left which requires an argument will use the first argument, the second will use the second and so on. Don't worry if you don't understand all this yet. It will come with time, and you can ask other people on IRC too.
+r Now available as a channel mode, sets the channel as restricted to registered users only. If the channel is set
+r then a user who doesnt have a username registered and logged into X at the time, cannot enter the channel until
+r is taken off ( set
-r). This is used to restrict flooders and clones from the channel and allows only registered users to join.
This mode is set the same way any other mode is for a channel...
/mode #Tidbits +r. This mode is for all channels, not just for registered channels (with @X).
+D/+d If a channel is set to
+D users joining the channel wont be shown. This means, a user joins the channel and remains "hidden" till he speaks, gets opped/voiced. Only at this point the join will be displayed. This mode is to prevent the disruption of channel discussions where lots of users are joining or to prevent channel being flooded with joins/parts made by abusive botnets.
If the channel is set to
-D again and there are still "hidden" users left, the server will set mode
+d until the last one is visible or left the channel.
"Hidden" users are shown by
/names -d #channel.
/whois a user who is in a channel with
+D set and the user is not "visible" there yet, you'll see that channel prefixed by a
< sign. i.e.
+R This mode indicates a channel is registered and is automaticaly set by X upon channel registration, not by channel operators.
+C Disable channel-wide CTCP. This mode prevents CTCP requests [time/version/ping/sound] from being sent to the entire channel at once.
+c Disable colors. This mode prevents mIRC and ANSI color control codes from being sent to the channel.
Note: Most IRC clients (programs) automate many channel op functions. Consult your program's help files.