Channelmodes are modes that can be set on a channel or on an user in a certain channel.
The general syntax to (un)set channelmodes is:
/mode #CHANNEL +/-MODES ARGUMENTS
To set a mode, you use +MODE.
/mode #help.irc +s /mode #omerta +o Martin /mode #help +b *!*@cows.org
To remove a mode, you use -MODE.
/mode #heist -R /mode #help.irc -m /mode #omerta -h Ray
It is also possible to combine several channelmodes.
/mode #help.irc +mk Averystrangepassword /mode #omerta +ooh Martin Oyaji Bramblerose /mode #help +b-b *!*@cows.org *!*@dogs.org
Channelmodes can be divided into 2 general categories:
- Modes that are given to an user in a channel.
- Modes that are set on the channel itself.
Note: Channel modes never give any additional ChanServ access.
Modes given to a user
Name: IRCOperUsage: N/A (this mode can only be set by the server itself)Example: N/AEffect: Marks a user as IRC OperatorIRC Operators will now get a ! in front of their name in any channel they join
Name: Official IRCoper businessUsage: N/A (this mode can only be set by the server itself)Example: N/AEffect: This user is an IRCoper on official network business in the channel.This user can not get kicked from the channel.
Name: FounderUsage: N/A (this mode can only be set by ChanServ)Example: N/AEffect: Marks a user as founder.Founders are protected from being kicked and are indicated by a ~
Name: ProtectedUsage: /mode #CHANNEL +a NICKExample: /mode #help.irc +a MartinEffect: Marks a user as protected (SOP)Protected users can only be kicked by other protected users or founders and are indicated by an &.
Name: OperatorUsage: /mode #CHANNEL +o NICKExample: /mode #help.irc +o MartinEffect: Gives operator status to a user.Operators can set and/or remove channel modes, kick and/or ban users, set the topic of the channel, talk when +m is set and invite other users into the channel.They are indicated by an @.
Name: HalfopUsage: /mode #CHANNEL +h NICKExample: /mode #help.irc +h MartinEffect: Gives halfoperator status to a user.Halfoperators can set and/or remove channel modes, kick and/or ban users (only halfops and lower), set the topic of the channel, talk when +m is set and invite other users into the channel.They are indicated by a %.
Name: VoiceUsage: /mode #CHANNEL +v NICKExample: /mode #help.irc +v MartinEffect: Gives voiced status to a user.Voiced users can talk in the channel, even if +m is set.They are indicated by a +.
Name: BanUsage: /mode #CHANNEL +b NICK_OR_HOSTMASKExample: /mode #help.irc +b MartinExample: /mode #help.irc +b *!*@Martin.users.omertaEffect: Bans a user from the channel.Users matching a banned hostmask can no longer join the channel. Placing this mode however does not kick any users that are already in the channel.This mode accepts a nick!ident@host mask (wildcards allowed) or a nick.Also see Extended Bans
Name: Ban-exceptionUsage: /mode #CHANNEL +e HOSTMASKExample: /mode #help.irc +e *!*@Martin.users.omertaEffect: Adds a ban-exception for the given hostmask.Users matching a host on the +e-list can join the channel, even when they are banned.This mode accepts a nick!ident@host mask (wildcards allowed).
Name: Invite-exceptionUsage: /mode #CHANNEL +I HOSTMASKExample: /mode #help.irc +I *!*@Martin.users.omertaEffect: Adds an invite-exception for the given hostmask.Users matching a host on the +I-list can join the channel, even when they channel is set to invite-only (+i) and they did not get an /invite.This mode accepts a nick!ident@host mask (wildcards allowed).
Modes set on the channel
Name: Allow /INVITEUsage: /mode #CHANNEL +AExample: /mode #help.irc +AEffect: Allow all users to use the /INVITE command instead of only halfop+.
Name: Anti-CapsUsage: /mode #CHANNEL +BExample: /mode #help.irc +BEffect: This mode prevents users from saying lines containing only CAPITALS.
Name: Block Control CodesUsage: /mode #CHANNEL +cExample: /mode #help.irc +cEffect: Messages containing control codes (color, bold, underline, etc.) will be blocked from the channel.Users with +o (operator) or higher are not affected by this mode.
Name: No CTCPUsage: /mode #CHANNEL +CExample: /mode #help.irc +CEffect: Users can no longer send CTCP's to the channel. (This however does not prevent them from sending CTCP's to the users seperatly)Users with +o (operator) or higher are not affected by this mode.
Name: Anti-floodUsage: /mode #CHANNEL +f (*)LINES:SECExample: /mode #help.irc +f 5:3Example: /mode #help.irc +f *5:3Effect: When a user types more than LINES lines in SEC seconds, they will get kicked from the channel. If prefixed with a *, they will receive a kickban (see 2nd example). In the examples, a user will get kicked if he types more than 5 lines in 3 seconds.
Name: Anti-NickfloodUsage: /mode #CHANNEL +F NICKCHANGES:SECExample: /mode #help.irc +F 5:3Effect: When there are more nickchanges than 'NICKCHANGES' in 'SEC' seconds, nickchanges for users in that channel are locked for 60 seconds.
Name: CensorUsage: /mode #CHANNEL +g (WORD)Example: /mode #help.irc +g cowsExample: /mode #help.irc +gEffect: This mode prevents users from saying a line containing WORD.You can have multiple censored words on a channel.Using this mode without a word will return the list with all the censored words on the channel (see 2nd example).Users with +o (operator) or higher are not affected by this mode.
Name: Channel HistoryUsage: /mode #CHANNEL +H LINES:SECONDSExample: /mode #help.irc +H 10:30Effect: With this mode users will see the most recent lines when they join the channel.LINES is the number of lines that will be stored (maximum is 50) and SECONDS is the time these lines will be stored.In the example above, the last 10 lines will be stored for 30 seconds (if nothing is said within 30s, the history will be cleared).
Name: Invite-onlyUsage: /mode #CHANNEL +iExample: /mode #help.irc +iEffect: Sets the channel to invite-only. Only users invited by a channel (half)op, by ChanServ or users mathing an Invite-exception can join.You can invite users with the /INVITE-commandInvites to invite-only channels can only be giving by halfops and higher.
Name: Anti Join-floodUsage: /mode #CHANNEL +j JOINS:SECExample: /mode #help.irc +j 10:5Effect: When there are more joins than JOINS in the last SEC seconds, the channel gets locked for 60s and nobody can join during that time.
Name: Anti-RejoinUsage: /mode #CHANNEL +J SECExample: /mode #help.irc +J 60Effect: This mode prevents users from rejoining with SEC seconds after being kicked. In the example, a user would have to wait 60 seconds before rejoining the channel after being kicked.
Name: KeyUsage: /mode #CHANNEL +k KEYExample: /mode #help.irc +k AweirdkeyEffect: Sets a key (password) on the channel. Users need to type this if they wish to join.Example: /join #help.irc Aweirdkey
Name: LimitUsage: /mode #CHANNEL +l NUMBERExample: /mode #help.irc +l 25Effect: Sets a limit on the channel. When the number of users in the channel reaches the limit, the channel becomes full and nobody else can join untill the number of users drops below the limit again. (In the example only 25 users can join the channel.)
Name: RedirectUsage: /mode #CHANNEL +L #CHANNEL2Example: /mode #feds +L #help.ircEffect: Users will be directed to a secundary channel when the current channel becomes full. This mode will only work when +l (limit) is set.)
Name: ModeratedUsage: /mode #CHANNEL +mExample: /mode #help.irc +mEffect: Sets the channel to moderated. Users need to have at least +v (voice) to talk.
Name: Registered ModeratedUsage: /mode #CHANNEL +MExample: /mode #help.irc +MEffect: Only users that are logged in to a verified NickServ account can speak in the channel.
Name: No external messagesUsage: /mode #CHANNEL +nExample: /mode #help.irc +nEffect: Users must be in the channel to send a message to the channel.
Name: Anti-NickchangeUsage: /mode #CHANNEL +NExample: /mode #help.irc +NEffect: This mode prevents users from changing their nick while being on the channel.
Name: PrivateUsage: /mode #CHANNEL +pExample: /mode #help.irc +pEffect: Sets the channel to private. Private channels do not show up in a user's whois if they don't have the +I usermode set.
Name: No KickUsage: /mode #CHANNEL +QExample: /mode #help.irc +QEffect: Prevents users from kicking. Using ChanServ to kick however still works.
Name: Registered JoinUsage: /mode #CHANNEL +RExample: /mode #help.irc +REffect: Only users that are logged in to a verified NickServ account can join the channel.
Name: SecretUsage: /mode #CHANNEL +sExample: /mode #help.irc +sEffect: Sets the channel to secret. Same as private plus the channel also doesn't get shown in the /LIST-command.
Name: Strip Control CodesUsage: /mode #CHANNEL +SExample: /mode #help.irc +SEffect: Strips all control codes (color, bold, underline, etc.) from messages to the channel.
Usage: /mode #CHANNEL +tExample: /mode #help.irc +tEffect: Users be at least +h (halfop) to change the topic.
Name: Disable Channel NoticesUsage: /mode #CHANNEL +TExample: /mode #help.irc +TEffect: Users can no longer send Notices to the channel. (This however does not prevent them from sending Notices to the users seperatly)Users with +o (operator) or higher are not affected by this mode.
Name: Chanops ExceptionUsage: /mode #CHANNEL +X PERMISSION:MODEExample: /mode #omerta +X filter:oEffect: This mode allows channel-operators (or other users) to override certain channel modes, like filter (+g), no caps (+B), etc.PERMISSION indicates the channel mode to override, MODE indicates which mode the user most at least have (q, a, o, h or v).In the above example, operators and higher will override (they won't be affected by) the filters (+g-mode).Available Permissions: blockcaps (+B), blockcolor (+c), filter (+g), flood (+f), nickflood (+F), noctcp (+C), nonick (+N), nonotice (+T), regmoderated (+M), stripcolor (+S).You can also enter topiclock (+t). This will however lock the topic to users without this exception if +t is set on the channel.Example: /mode #omerta +X topiclock:qIf this is set, only users with +q (~) will be able to change the topic.
Name: SSL-onlyUsage: /mode #CHANNEL +zExample: /mode #help.irc +zEffect: Only users using SSL (secure connection) can join the channel. This mode can only be set when all current users are already using SSL.