Channel modes

From SwiftIRC Wiki
Jump to: navigation, search

Contents

Setting and removing channel modes

Channel modes are the core settings of a channel - they are separate from the services.

Channel modes are set for a variety of reasons. Each with a different purpose and functionality, channel modes form the core of any channel, and are useful in a variety of situations if used correctly.

To set a channel mode, type

   /mode #channel +mode(s) parameter
   /mode #SwiftChannel +ipm
   /mode #SwiftChannel +o SwiftUser

To unset modes, type

   /mode #channel -mode(s) parameter
   /mode #SwiftChannel -ipm
   /mode #SwiftChannel -o SwiftUser

Note:

  • All channel modes are case-sensitive, the channel mode 'm' is not the same as 'M'.
  • Some channel modes require a parameter while others don't.
  • You can use a maximum of 12 modes per line on SwiftIRC.

Shortlist of channel modes

Click one of the channel modes below to obtain more information about its usage.

Modes settable by services/opers only:

  • A (Server/NetAdmin only channel)
  • F (Trusted channel)
  • H (Helpoper only channel)
  • O (IRC Operator only channel)
  • r (Registered channel)

Modes requiring channel owner (q):

  • a (Channel admin)
  • L (Channel link)
  • q (Channel owner)
  • u (Auditorium mode)

Modes requiring at least chanop (o):

  • c (Block messages containing mIRC colour codes)
  • B (amsg ban)
  • C (No CTCPs allowed)
  • E (No actions for regulars)
  • f (Flood protection)
  • G (Badword filter)
  • h (HalfOp status)
  • j (Throttle joins)
  • K (/knock is not allowed)
  • l (Limit amount of users)
  • M (Must be using a registered nick (+r), or have voice access to talk)
  • N (No nickname changes)
  • o (Channel operator)
  • p (Private channel)
  • Q (No kicks allowed)
  • R (Only registered (+r) users may join the channel)
  • s (Secret channel)
  • S (Strips mIRC colour codes)
  • T (No NOTICEs allowed)
  • V (/invite is not allowed)
  • z (Only SSL clients can join)

Modes requiring at least halfop (h):

  • b (Bans matching users from the channel)
  • e (Overrides a ban for matching users)
  • i (Invite only channel)
  • I (Overrides +i for matching users)
  • k (Users must specify a key to join)
  • m (Moderated channel)
  • n (No outside messages)
  • t (Regulars cannot change the topic)
  • v (Voice status)

Channel modes explained

+a

Channel mode +/- a gives or takes channel admin status from a specific nickname. A parameter (the nickname) is therefore required. A channel admin can change channel modes without having to be opped (+o/@). Only a channel owner can give or take this channelmode.

   /mode #channelname +/-a nickname
   /mode #SwiftChannel +a SwiftUser

+A

Channel mode +/- A adds or removes the restriction that only server or network admins can join the channel. Users trying to join an admin only channel receive following error message: "Cannot join channel #SwiftAdminChannel (Admin only)". An invite cannot override this mode. Only server or network admins can set this mode.

   /mode #channelname +/-A
   /mode #SwiftAdminChannel +A

+b

Channel mode +/- b adds or removes a channel ban. A channel ban allows a halfop or above to deny someone access to the channel. A banned user will not be able to join the channel (unless he/she is invited or an exception (+e) is in place). When a user is banned while being in the channel he or she will not be able to speak (unless when the person has an active exception (+e) or he/she is voiced or better). When you try to join a channel in which you are banned, you will receive following error message: "#SwiftChannel unable to join channel (address is banned)".

You can place bans on a nickname or on a hostname (nick!ident@hostname). You can find the host of someone by using the /whois nickname command. The output will give you the needed information to form a host- or banmask:

   SwiftUSer is ~User@Swift-D1FF2A60.swiftexample.com * User of SwiftIRC

In the above example you could form a possible hostname: SwiftUser!~*@*.swiftexample.com. In a banmask, an asterisk (*) is a wildcard for any character and any number of characters, while a question mark (?) replaces one random character. You could for example ban 2 nicknames with one mask: pip and pap can be banned using p?p!*@*.

   /mode #channelname +/-b nickname/hostmask
   /mode #SwiftChannel +bb SwiftUser SwiftUser!~*@*.swiftexample.com (2 bans)

~c

~c allows the channel operators and half operators to ban a channel. If the user is in the banned channel, they won't be able to join your channel without parting the channel first. If the user rejoins the channel, the user won't be able to talk in your channel if not voiced+.

    /mode #channel +/-b ~c:#bannedchannel
    /mode #SwiftChannel +b ~c:#BannedSwiftChannel

~q

It is possible to mute a devoiced user using a ban.

   /mode #channel +b ~q:nickname
   /mode #channel +b ~q:*!*@hostname.here
   /mode #SwiftChannel +b ~q:SwiftUser
   /mode #SwiftChannel +b ~q:*!*@Swift-D1FF2A60.swiftexample.com

~n

Perhaps a user is constantly changing their nickname and adding unwanted spam to your channel. It is possible to prevent that one user from changing nicks, rather than setting +N on the whole channel.

  • Note that the user must be devoiced as when muting.
   /mode #channel +b ~n:nickname
   /mode #channel +b ~n:*!*@hostname.here
   /mode #SwiftChannel +b ~n:SwiftUser
   /mode #SwiftChannel +b ~n:*!*@Swift-D1FF2A60.swiftexample.com

~r

A realname follows the hostmask when you /whois a user.

   SwiftUser is User@Swift-D1FF2A60.swiftexample.com * User of SwiftIRC

SwiftUser's real name would be User of SwiftIRC, after the * following his hostname. If a user has a space in their realname, then use a _ in place of spaces.

   /mode #channel +b ~r:realname
   /mode #SwiftChannel +b ~r:SwiftUser
   /mode #SwiftChannel +b ~r:Swift_User

~T

~T was recently added to the banned command. With the feature of blocking unwanted text or simply censor it.

   /mode #channel +/-b ~T:block/censor:*word_or_linkhere*
   /mode #SwiftChannel +b ~T:block:*noob*
   /mode #SwiftChannel +b ~T:censor:*noob*

For more information on placing channel bans, read our ban guide. When you use /mode #channel b without a parameter, you will receive the banlist of the channel. There are also extended bantypes you can use to ban real names, users joining while inside a specific channel and silence users.

+B

Channel mode +/- B adds or removes an amsg ban. An amsg ban denies users from using multi-target messages in the channel. Only channel operators or above can set and remove this mode.

   /mode #channelname +/-B
   /mode #SwiftChannel +B

+c

Channel mode +/- c adds or removes the restriction that allows only messages without colour codes. Users trying to send a message that contains colour codes receive following error message: "Color is not permitted in this channel (#SwiftChannel)". Only channel operators or above can set and remove this mode.

   /mode #channel +/-c
   /mode #SwiftChannel +c

+C

Channel mode +/- c denies or allows people to CTCP the channel. Users trying to send a CTCP to the channel receive following error message: "CTCPs are not permitted in this channel (#SwiftChannel)". Only channel operators or above can set and remove this mode.

   /mode #channel +/-C
   /mode #SwiftChannel +C

+e

Channel mode +/- e allows halfops and above to add or remove an exception for a channel ban. People matching an address in the banlist and also matching an entry on the exception list, will be able to join the channel and speak, therefore overriding the ban. This mode is useful when you want to place a broad ban (on an ISP for example) but do wish to allow certain people to join.

   /mode #channelname +/-e nickname/hostmask
   /mode #SwiftChannel +e SwiftUser!~*@*.swiftexample.com

+E

Channel mode +/- E denies or allows regular users, voices and halfops to use actions (/me or /describe) in the channel. Users trying to send an action to the channel receive following error message: "ACTIONs are not permitted in this channel (#SwiftChannel)". Only channel operators or above can set and remove this mode.

   /mode #channel +/-E
   /mode #SwiftChannel +E

+f

Video clip +f mode tutorial

There is also a more extensive guide to +f here.

Channel mode +/- f allows you to enable or disable flood control for your channel. This is a pretty complex channel mode as it is highly customisable.

Below is a list of the possible settings, the default action and other available actions:


Setting Name Default action Other available actions
c CTCPs +C m, M
j joins +i R
k knocks +K
m messages/notices +m M
n nickchanges +N
t per-user text kick b


   /mode #channel +f [settings]:time
   /mode #SwiftChannel +f [10j]:15

In case more than 10 users join within a timespan of 15 seconds, the channel will automatically be set +i.

   /mode #SwiftChannel +f [10j#i10,5n,5c,20t#b]:15

In case more than 10 users join within a timespan of 15 seconds, the channel will automatically be set +i for 10 minutes. In case more than 5 nickname changes occur within 15 seconds, the channel will be set +N. In case more than 5 CTCP's are sent within 15 seconds, the channel will be set +C. In case a specific user sends more than 20 messages within 15 seconds, he/she will be banned.

+F

Channel mode +/- F gives or removes trusted filter status from a channel. When a channel is trusted, the channel operators can give out links to users even if the user has +f mode enabled. Only IRC operators can set and remove this mode.

   /mode #channel +/-F
   /mode #SwiftChannel +F

+G

Channel mode +/- G enables or disables the badwords filter for a channel. When a bad word (matched to the predefined list each server has loaded) is used it will be replaced by ***** (asterisks) for other users. Only channel operators and above can set and remove this mode.

   /mode #channel +/-G
   /mode #SwiftChannel +G

Note: This is in no way related to BotServ's badword list!

+h

Channel mode +/- h gives or takes Halfop (Half Operator) status from a specific nickname. A Halfop can change certain channel modes (b,e,i,I,k,m,n,t,v) and kick users from the channel. Their nickname will receive the % prefix. You have to be at least channel operator to give or take Halfop status.

   /mode #channel +/-h nickname
   /mode #SwiftChannel +h SwiftUser

+H

Channel mode +/- H adds or removes the restriction that only help operators or above can join the channel. Users trying to join a help operator only channel receive following error message: "Permission Denied- You do not have the correct IRC operator privileges". An invite cannot override this mode. Only staff can set this mode.

   /mode #channel +/-H
   /mode #SwiftAdminChannel +H

+i

Channel mode +/- i adds or removes the restriction that only people who were invited can join the channel. Users trying to join an invite-only channel receive following error message: "#SwiftChannel unable to join channel (invite only)". Only halfops and above can set and remove this mode.

   /mode #channel +/-i
   /mode #SwiftChannel +i

To invite someone to your channel use:

   /invite nickname #channel

Note: You can allow certain users to join the channel without having to invite them, by adding then to the invite list (+I).

+I

Channel mode +/- I manages the list of people who can join an invite-only channel without being invited. It works in the same way as the ban and except modes. Only halfops and above can set and remove this mode. This is also used for the second part of channel linking. In order for a channel link to be successful, the new channel must have an +I exception for the channel.

   /mode #channel +/-I nickname/hostmask
   /mode #SwiftChannel +I SwiftUser!~*@*.swiftexample.com

For the second part of a channel link:

   /mode #newchannel +/-I ~c:#oldchannel

+j

Channel mode +/- j allows you to set or remove join throttle settings. This is useful to contain join-part floods. This mode prevents limits the amount of joins from a user to X over a timespan of Y seconds. Only channel operators and above can set this mode.

   /mode #channel +j times:seconds
   /mode #channel -j
   /mode #SwiftChannel +j 3:5

The above example would allow someone to join a maximum of 3 times within 5 seconds. When exceeding this limit he/she will receive following error message instead of joining: "Too many join requests. Please wait a while and try again.".

+k

Channel mode +/- k allows you to set or remove a secret key for a channel. Channels that have a key set cannot be joined without giving the key, unless the user is invited in. Users trying to join a channel that has a key set, without giving a key will receive following error message: "#SwiftChannel unable to join channel (need correct key)". Only halfops and above can set and remove this mode.

   /mode #channel +/-k key
   /mode #SwiftChannel +k SwiftKey123

To join a channel with a key, use:

   /join #SwiftChannel SwiftKey123

+K

Channel mode +/- K denies or allows users to knock (/knock) the channel. A knock is used when a channel is invite-only and a user wants to receive an invite. (You can compare it to a knock on the door.)

An example of the usage of /knock:

   /knock #SwiftChannel Hello! Let me in, please!

The channel operators will receive an onotice containing:

   [Knock] by SwiftUser!~User@Swift-8F7CB51A.swiftexample.com (Hello! Let me in, please!)

Users trying to knock a channel set +K receive following error message: "Cannot knock on SwiftChannel (No knocks are allowed! (+K))". Only channel operators or above can set and remove this mode.

   /mode #channel +/-K
   /mode #SwiftChannel +K

+l

Channel mode +/- l sets or removes a user limit on the channel. When a limit is set and reached any new user trying to join will receive following error message: "#SwiftChannel unable to join channel (channel is full)". Of course you can override a limit by inviting the person in. Only channel operators or above can set and remove this mode.

   /mode #channel +l limit
   /mode #channel -l
   /mode #SwiftChannel +l 10

+L

Channel mode +/- L allows the channel owner to set or remove the channel name where users are sent to in case the channel limit is reached and they try to join. When this happens the user receives following message: "[Link] #SwiftChannel has become full, so you are automatically being transferred to the linked channel #NewSwiftChannel".

   /mode #channel +/-L #linkchannel
   you will also need to add an except on the linkchannel for the link to work,
   /mode #channel +I ~L:#linkchannel
   /mode #SwiftChannel +lL 10 #NewSwiftChannel
   /mode #NewSwiftChannel +I ~L:#SwiftChannel

Note: You can only set this mode when +l is already set (or along with +l).

+m

Channel mode +/- m enables or disables moderated status for a channel. When a channel is moderated, only voices and above can speak. Regular users trying to speak in a moderated channel receive following error message: "You need voice (+v) (#SwiftChannel)". Only halfops or above can set and remove this mode.

   /mode #channel +/-m
   /mode #SwiftChannel +m

+M

Channel mode +/- M enables or disables the restriction where regular users without a registered and identified nickname cannot speak in the channel. When a user has voice status or above this restriction does not apply to him or her. Regular unidentified users trying to speak in a +M channel receive following error message: "You must have a registered nick (+r) to talk on this channel (#SwiftChannel)". Only channel operators or above can set and remove this mode.

   /mode #channel +/-M
   /mode #SwiftChannel +M

+n

Channel mode +/- n enables or disables the restriction where messages from outside the channel cannot be sent to the channel. When a user outside the channel tries to send a message to a +n channel they receive following error message: "No external channel messages (#SwiftChannel)". Only channel half-operators or above can set and remove this mode.

   /mode #channel +/-n
   /mode #SwiftChannel +n

+N

Channel mode +/- N denies or allows regular users, voices and halfops to change their nickname while in the channel. Users trying to change their nickname receive following error message: "Can not change nickname while on #SwiftChannel(+N)". Only channel operators or above can set and remove this mode.

   /mode #channel +/-N
   /mode #SwiftChannel +N

+o

Channel mode +/- o gives or takes channel operator status from a specific nickname. Channel operators can change certain channel modes (b,e,i,I,k,m,n,t,v,c,C,E,f,g,h,j,K,l,M,N,o,p,Q,R,s,S,T,V,z) and kick users from the channel. Their nickname will receive the @ prefix. You have to be at least a channel operator yourself to give or take channel operator status.

   /mode #channel +/-o nickname
   /mode #SwiftChannel +oo-o SwiftUser SwiftUser2 SwiftUser3

+O

Channel mode +/- O adds or removes the restriction that only IRC operators can join the channel. Users trying to join an oper only channel receive following error message: "Cannot join channel #SwiftAdminChannel (IRCops only)". An invite cannot override this mode. Only IRC operators can set this mode.

   /mode #channel +/-O
   /mode #SwiftAdminChannel +O

+p

Channel mode +/- p enables or disables the private mode for a channel. Private channels do not show up in someone's whois reply (unless when you are in the private channel with that user). Only channel operators or above can set or remove this mode. The channelmode +p on SwiftIRC will also hide your channel from /list. This mode can be considered the same as channelmode +s.

   /mode #channel +/-p
   /mode #SwiftChannel +p

+q

Channel mode +/- q gives or takes channel owner status from a specific nickname. A channel owner can change channel modes without having to be opped (+o/@) and has access to more modes than other channel operators. Only a channel owner can give or take this channelmode.

   /mode #channel +/-q nickname
   /mode #SwiftChannel +q SwiftUser

+Q

Channel mode +/- Q adds or removes the restricition that disallows you to kick people from the channel. With this mode only U:lined servers (services for example) can kick people from the channel, anyone else will receive following error message: "KICK channel is +Q". Only channel operators or above can set and remove this mode.

   /mode #channel +/-Q
   /mode #SwiftChannel +Q

Note: Because U:lined servers (services for example) can kick, /chanserv kick still works in channels set +Q.

+r

Channels set +r are registered. Channels that do not have this mode set are unregistered channels. Only services will set or remove this mode. To register your channel, read Creating and registering a channel.

+R

Channel mode +/- R adds or removes the restriction that disallows people without a registered and identified nick to join the channel. Anyone attempting to join a +R channel while not identified or registered will receive following error message: "You need a registered nick to join that channel.". You can override this mode by inviting the person in. Only channel operators or above can set and remove this mode.

   /mode #channel +/-R
   /mode #SwiftChannel +R

+s

Channel mode +/- s enables or disables the secret mode for a channel. Secret channels do not show up in someone's whois reply (unless when you are in the secret channel with that user) and do not show up in the channel list (/list) either. Only channel operators or above can set or remove this mode.

   /mode #channel +/-s
   /mode #SwiftChannel +s

+S

Channel mode +/- S enables or disables the stripping of colorcodes for a channel. Unlike channelmode c, messages containing colour codes will be sent to the channel, but the colorcodes will be removed from the message. Only channel operators or above can set or remove this mode.

   /mode #channel +/-S
   /mode #SwiftChannel +S

+t

Channel mode +/- t enables or disables the restriction where only halfops or above can edit the channel topic. When a regular user or voiced user tries to change the topic in a +t channel they receive following error message: "You're not channel operator". Only halfops or above can set and remove this mode.

   /mode #channel +/-t
   /mode #SwiftChannel +t

+T

Channel mode +/- T enables or disables the restriction which prevents anyone but channel operators and above from noticing the channel. When a regular, voiced or halfopped user tries to notice the channel they receive following error message: "NOTICEs are not permitted in this channel (#SwiftChannel)". Only channel operators or above can set or remove this mode.

   /mode #channel +/-T
   /mode #SwiftChannel +T

+u

Channel mode +/- u enables or disables auditorium mode. When a channel is in auditorium mode regular users can only see ops and their own nick in the channel (/names and /who #channel only shows ops and the user). Only channel owners or above can set or remove this mode.

   /mode #channel +/-u
   /mode #SwiftChannel +u

+v

Channel mode +/- v gives or takes Voice status from a specific nickname. A voiced person can talk in the channel when it's moderated (+m/+M) or when he/she is banned. Their nickname will receive the + prefix. You have to be at least halfop to give or take channel voice status. Also, this mode is often used as a sign of trust or respect towards the user.

   /mode #channel +/-v nickname
   /mode #SwiftChannel +v SwiftUser

+V

Channel mode +/- V enables or disables the restriction which prevents anyone from inviting users to the channel. When anyone tries to invite someone to the channel they receive following error message: "Cannot invite (+V) at channel #SwiftChannel". Only channel operators or above can set or remove this mode.

   /mode #channel +/-V
   /mode #SwiftChannel +V

+z

Channel mode +/- z enables or disables the restriction which prevents anyone but users on a secure (SSL) connection from joining the channel. When anyone not using a secure connection tries to join the channel they receive following error message: "#SwiftChannel unable to join channel (not using secure connection)". Only channel operators or above can set or remove this mode and it can only be set when everyone in the channel is using a secure connection. An invite cannot override channel mode +z!

   /mode #channel +/-z
   /mode #SwiftChannel +z