Difference between revisions of "Channel Modes"
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
These are all channel modes that can be set. Use the command: <code>MODE #channel +modeshere</code>. | |||
Normally you need channel operator status (+o, or some other level such as +h/+a/+q) if you want to change channel modes. However, IRCOp's with OperOverride privileges may bypass these restrictions. And similarly for IRCOps with access to the <code>SAMODE</code> command. | |||
== Access levels == <!--T:1--> | |||
These are the modes that grant a certain 'level' to a user. | |||
<!--T:2--> | |||
{| class="wikitable" | |||
!Channel mode | |||
!Module | |||
!Description | |||
!Restrictions | |||
|- | |||
!v | |||
!chanmodes/voice | |||
|Voice. This makes the user able to speak in +m/+M channels. User can also still speak if banned. | |||
|May be set by +hoaq users | |||
|- | |||
!h | |||
!chanmodes/halfop | |||
|Half-Op. Gives some of the usual channel operator rights, but not all. They are basically a light version of channel ops. | |||
|May be set by +oaq users | |||
|- | |||
!o | |||
!chanmodes/chanop | |||
|Channel Op. This is the channel operator privilege everyone knows about, allows the user to do almost all administrative tasks in a channel such as /KICK, /MODE, etc.. | |||
|May be set by +oaq users | |||
|- | |||
!a | |||
!chanmodes/chanadmin | |||
|Channel Admin. A level above channel ops but with no special extra privileges except for one: people below chanadmin (so +h/+o) cannot KICK +a people. | |||
|May be set by +q users | |||
|- | |||
!q | |||
!chanmodes/chanowner | |||
|Channel Owner. The highest level. Channel owners can't be kicked by any level below. Usually there's only one person with +q and the mode is set by services. | |||
|Normal users can't set this | |||
|} | |||
<!--T:3--> | |||
Note that often [[Services]] are used to manage +vhoaq lists in so called "access lists" or AOP/HOP/etc. Consult your services documentation. | |||
=== Disabling levels === | |||
In UnrealIRCd 5 these are built-in modules that cannot be disabled. In UnrealIRCd 6 you can decide not to load a level by using [[blacklist-module directive|blacklist-module]], eg <code>blacklist-module "chanmodes/chanowner";</code> if you don't want <code>+q</code>. | |||
</translate> | |||
<translate> | |||
== List modes == <!--T:5--> | |||
These are so called 'list modes'. | |||
<!--T:6--> | <!--T:6--> | ||
{| class="wikitable" | |||
!Channel mode | |||
!Module | |||
!Description | |||
!Restrictions | |||
|- | |||
!b | |||
!''built-in'' | |||
|Ban. Prevents a user from joining the channel. | |||
|Requires +h or higher | |||
|- | |||
!e | |||
!''built-in'' | |||
|Ban exception. When a user is banned (due to +b) and they are on this +e list then they may still join the channel. | |||
|Requires +h or higher | |||
|- | |||
!I | |||
!''built-in'' | |||
|Invite exception. When the channel is +i (invite only) then people on this list may still join the channel. | |||
|Requires +h or higher | |||
|} | |||
<!--T:7--> | |||
All these modes take a nick!user@host parameter, like: ''+b *!*@*.isp.com''. See also [[Extended bans]] for other syntaxes (eg: ''+e ~c:@#channel''). | |||
</translate> | |||
<translate> | |||
== Channel settings == | |||
These are channel modes that configure channel settings. | |||
{| class="wikitable" | {| class="wikitable" | ||
! | !Channel mode | ||
!Module | !Module | ||
!Description | !Description | ||
!Restrictions | !Restrictions | ||
|- | |- | ||
! | </translate> | ||
! | <translate> | ||
| | <!--T:10--> | ||
| | !c | ||
!chanmodes/nocolor | |||
|No color allowed in the channel. Will block ANSI and mIRC color codes. | |||
|style=white-space:nowrap|Requires +o or higher | |||
|- | |||
!C | |||
!chanmodes/noctcp | |||
|No CTCP's allowed in the channel. | |||
|Requires +o or higher | |||
|- | |||
!D | |||
!chanmodes/delayjoin | |||
|Delays someone's JOIN message until that person speaks. Chanops and higher, opers and ulines/services are exempt. | |||
|Requires +o or higher | |||
|- | |- | ||
!d | !d | ||
! | !chanmodes/delayjoin | ||
| | |When unsetting +D, Unreal needs to process all remaining delayed users (i.e. invisible in the channel to regular users) to make them JOIN. +d is an intermediate/temporary mode to facilitate this and will be unset once all users are properly "joined". | ||
| | |Set by server | ||
|- | |- | ||
! | !f | ||
! | !chanmodes/floodprot | ||
| | |Flood protection. This is a highly advanced feature, see [[Anti-flood features#Channel_mode_f|channel mode +f]]. | ||
| | |Requires +o or higher | ||
|- | |- | ||
!G | !G | ||
! | !chanmodes/censor | ||
| | |Filter out bad words configured in [[Badword block]] | ||
|Requires +o or higher | |||
|- | |- | ||
!H | !H | ||
!chanmodes/history | |||
|Turns on Channel History. requires UnrealIRCD 5.x, and modern IRC clients. For more information how to use this see [[Channel history]] | |||
|Requires +o or higher | |||
|- | |||
!i | |||
!''built-in'' | |||
|Invite only. Requires people to be /INVITE'd to the channel or be on the +I (Invite Exceptions) list (for that latter, see the List modes section above) | |||
|Requires +o or higher | |||
|- | |||
</translate> | |||
<translate> | |||
<!--T:11--> | |||
!k | |||
!''built-in'' | !''built-in'' | ||
| | |Require users to specify a channel key in order to join (/JOIN #chan key). Example: ''+k secret'' | ||
| | |Requires +h or higher | ||
|- | |||
!K | |||
!chanmodes/noknock | |||
|/KNOCK command is not allowed. | |||
|Requires +o or higher | |||
|- | |||
!L | |||
!''built-in'' | |||
|Channel link. If the +l user limit (see below) is reached then users will automatically be redirected to this channel. Example: ''+L #something'' | |||
|Requires +o or higher | |||
|- | |- | ||
!l | |||
!''built-in'' | !''built-in'' | ||
| | |Limit the amount of users that may be in the channel. If the limit is reached then any new JOIN's are rejected (see also +L above). | ||
| | |Requires +o or higher | ||
|- | |- | ||
! | </translate> | ||
<translate> | |||
<!--T:12--> | |||
!m | |||
!''built-in'' | !''built-in'' | ||
| | |Moderated channel. Only people with +v or higher (+vhoaq) may speak. | ||
| | |Requires +h or higher | ||
|- | |- | ||
!o | !M | ||
!chanmodes/regonlyspeak | |||
|Must be authenticated to services or have +v or higher to speak. | |||
|Requires +o or higher | |||
|- | |||
!N | |||
!chanmodes/nonickchange | |||
|No nick-changes permitted. Normally not set, only during a a nick-flood flood attack. | |||
|Requires +o or higher | |||
|- | |||
!n | |||
!''built-in'' | !''built-in'' | ||
|IRC Operator | |No external messages. If you don't set +n then users outside the channel may still send messages to it. Thus, almost everyone will set their channel +n. | ||
| | |Requires +h or higher | ||
|- | |||
!O | |||
!chanmodes/operonly | |||
|IRC Operator only channel | |||
|IRCOp-only | |||
|- | |||
</translate> | |||
<translate> | |||
<!--T:13--> | |||
!P | |||
!chanmodes/permanent | |||
|Permanent channel. After all users leave a channel it is normally destroyed. If you set +P then this won't happen and all settings are preserved.<br> | |||
In addition to that, in UnrealIRCd 5 all channel settings (modes, bans, topic, etc.) are saved in a database and restored on startup via the ''channeldb'' module. | |||
|IRCOp-only | |||
|- | |- | ||
!p | !p | ||
! | !''built-in'' | ||
| | |Private channel. Partially conceals the existence of the channel. Users cannot see this channel name unless they are a member of it. For example, if you /WHOIS a user who is on a +p channel, this channel is omitted from the response - unless you are on the same channel. IRC Operators will always see +p channels and its members. | ||
| | |Requires +o or higher | ||
|- | |- | ||
! | !Q | ||
! | !chanmodes/nokick | ||
| | |No /KICK allowed. Can be used to force all chanops to use [[Services]] for kicking. Unusual, but possible. | ||
| | |Requires +o or higher | ||
|- | |||
!R | |||
!chanmodes/regonly | |||
|Only registered users may join the channel. Registered users are users authenticated to [[Services]]. | |||
|Requires +o or higher | |||
|- | |- | ||
!r | !r | ||
!''built-in'' | !''built-in'' | ||
| | |Channel is registered at [[Services]] | ||
|Set by services | |Set by services | ||
|- | |- | ||
! | </translate> | ||
! | <translate> | ||
| | <!--T:14--> | ||
| | !s | ||
!''built-in'' | |||
|Secret channel. Extends the functionality of +p (above), but in addition to this, it will act as if the channel does not exist at all for queries like /TOPIC, /LIST and /NAMES. One exception to this is that it will always respond to the /MODE command. IRC Operators will always see +s channels and its members. | |||
|Requires +o or higher | |||
|- | |- | ||
!S | !S | ||
! | !chanmodes/stripcolor | ||
| | |Strip color codes. This removes any mIRC or ANSI color codes by converting it to regular text. | ||
| | |Requires +o or higher | ||
|- | |- | ||
!T | !T | ||
! | !chanmodes/nonotice | ||
| | |Channel notices are not permitted (/NOTICE #chan hi!). On many clients a beeping sound will happen on notices, hence why this mode is sometimes set. | ||
| | |Requires +o or higher | ||
|- | |- | ||
!t | !t | ||
!''built-in'' | !''built-in'' | ||
| | |Restricts /TOPIC to +h or higher. Without +t anyone in the channel may set the topic. Most channels are +t. | ||
| | |Requires +h or higher | ||
|- | |- | ||
! | !V | ||
! | !chanmodes/noinvite | ||
| | |/INVITE is not permitted. | ||
| | |Requires +o or higher | ||
|- | |- | ||
</translate> | |||
! | <translate> | ||
<!--T:15--> | |||
!z | |||
!chanmodes/secureonly | |||
! | |Only clients which are connected through [[SSL/TLS]] may join the channel | ||
! | |Requires +o or higher | ||
| | |||
| | |||
|- | |- | ||
!Z | !Z | ||
! | !chanmodes/issecure | ||
| | |Indicates that only people who are using [[SSL/TLS]] are on the channel. This channel mode is (only) set by the server when the channel is also +z and everyone on the channel is connected via SSL. | ||
|Set by server | |Set by server | ||
|} | |} |
Latest revision as of 08:40, 31 March 2022
These are all channel modes that can be set. Use the command: MODE #channel +modeshere
.
Normally you need channel operator status (+o, or some other level such as +h/+a/+q) if you want to change channel modes. However, IRCOp's with OperOverride privileges may bypass these restrictions. And similarly for IRCOps with access to the SAMODE
command.
Access levels[edit | edit source]
These are the modes that grant a certain 'level' to a user.
Channel mode | Module | Description | Restrictions |
---|---|---|---|
v | chanmodes/voice | Voice. This makes the user able to speak in +m/+M channels. User can also still speak if banned. | May be set by +hoaq users |
h | chanmodes/halfop | Half-Op. Gives some of the usual channel operator rights, but not all. They are basically a light version of channel ops. | May be set by +oaq users |
o | chanmodes/chanop | Channel Op. This is the channel operator privilege everyone knows about, allows the user to do almost all administrative tasks in a channel such as /KICK, /MODE, etc.. | May be set by +oaq users |
a | chanmodes/chanadmin | Channel Admin. A level above channel ops but with no special extra privileges except for one: people below chanadmin (so +h/+o) cannot KICK +a people. | May be set by +q users |
q | chanmodes/chanowner | Channel Owner. The highest level. Channel owners can't be kicked by any level below. Usually there's only one person with +q and the mode is set by services. | Normal users can't set this |
Note that often Services are used to manage +vhoaq lists in so called "access lists" or AOP/HOP/etc. Consult your services documentation.
Disabling levels[edit | edit source]
In UnrealIRCd 5 these are built-in modules that cannot be disabled. In UnrealIRCd 6 you can decide not to load a level by using blacklist-module, eg blacklist-module "chanmodes/chanowner";
if you don't want +q
.
</translate>
<translate>
List modes[edit | edit source]
These are so called 'list modes'.
Channel mode | Module | Description | Restrictions |
---|---|---|---|
b | built-in | Ban. Prevents a user from joining the channel. | Requires +h or higher |
e | built-in | Ban exception. When a user is banned (due to +b) and they are on this +e list then they may still join the channel. | Requires +h or higher |
I | built-in | Invite exception. When the channel is +i (invite only) then people on this list may still join the channel. | Requires +h or higher |
All these modes take a nick!user@host parameter, like: +b *!*@*.isp.com. See also Extended bans for other syntaxes (eg: +e ~c:@#channel). </translate> <translate>
Channel settings[edit | edit source]
These are channel modes that configure channel settings.
</translate> <translate> </translate> <translate> </translate> <translate> </translate> <translate> </translate> <translate> </translate> <translate>Channel mode | Module | Description | Restrictions |
---|---|---|---|
c | chanmodes/nocolor | No color allowed in the channel. Will block ANSI and mIRC color codes. | Requires +o or higher |
C | chanmodes/noctcp | No CTCP's allowed in the channel. | Requires +o or higher |
D | chanmodes/delayjoin | Delays someone's JOIN message until that person speaks. Chanops and higher, opers and ulines/services are exempt. | Requires +o or higher |
d | chanmodes/delayjoin | When unsetting +D, Unreal needs to process all remaining delayed users (i.e. invisible in the channel to regular users) to make them JOIN. +d is an intermediate/temporary mode to facilitate this and will be unset once all users are properly "joined". | Set by server |
f | chanmodes/floodprot | Flood protection. This is a highly advanced feature, see channel mode +f. | Requires +o or higher |
G | chanmodes/censor | Filter out bad words configured in Badword block | Requires +o or higher |
H | chanmodes/history | Turns on Channel History. requires UnrealIRCD 5.x, and modern IRC clients. For more information how to use this see Channel history | Requires +o or higher |
i | built-in | Invite only. Requires people to be /INVITE'd to the channel or be on the +I (Invite Exceptions) list (for that latter, see the List modes section above) | Requires +o or higher |
k | built-in | Require users to specify a channel key in order to join (/JOIN #chan key). Example: +k secret | Requires +h or higher |
K | chanmodes/noknock | /KNOCK command is not allowed. | Requires +o or higher |
L | built-in | Channel link. If the +l user limit (see below) is reached then users will automatically be redirected to this channel. Example: +L #something | Requires +o or higher |
l | built-in | Limit the amount of users that may be in the channel. If the limit is reached then any new JOIN's are rejected (see also +L above). | Requires +o or higher |
m | built-in | Moderated channel. Only people with +v or higher (+vhoaq) may speak. | Requires +h or higher |
M | chanmodes/regonlyspeak | Must be authenticated to services or have +v or higher to speak. | Requires +o or higher |
N | chanmodes/nonickchange | No nick-changes permitted. Normally not set, only during a a nick-flood flood attack. | Requires +o or higher |
n | built-in | No external messages. If you don't set +n then users outside the channel may still send messages to it. Thus, almost everyone will set their channel +n. | Requires +h or higher |
O | chanmodes/operonly | IRC Operator only channel | IRCOp-only |
P | chanmodes/permanent | Permanent channel. After all users leave a channel it is normally destroyed. If you set +P then this won't happen and all settings are preserved. In addition to that, in UnrealIRCd 5 all channel settings (modes, bans, topic, etc.) are saved in a database and restored on startup via the channeldb module. |
IRCOp-only |
p | built-in | Private channel. Partially conceals the existence of the channel. Users cannot see this channel name unless they are a member of it. For example, if you /WHOIS a user who is on a +p channel, this channel is omitted from the response - unless you are on the same channel. IRC Operators will always see +p channels and its members. | Requires +o or higher |
Q | chanmodes/nokick | No /KICK allowed. Can be used to force all chanops to use Services for kicking. Unusual, but possible. | Requires +o or higher |
R | chanmodes/regonly | Only registered users may join the channel. Registered users are users authenticated to Services. | Requires +o or higher |
r | built-in | Channel is registered at Services | Set by services |
s | built-in | Secret channel. Extends the functionality of +p (above), but in addition to this, it will act as if the channel does not exist at all for queries like /TOPIC, /LIST and /NAMES. One exception to this is that it will always respond to the /MODE command. IRC Operators will always see +s channels and its members. | Requires +o or higher |
S | chanmodes/stripcolor | Strip color codes. This removes any mIRC or ANSI color codes by converting it to regular text. | Requires +o or higher |
T | chanmodes/nonotice | Channel notices are not permitted (/NOTICE #chan hi!). On many clients a beeping sound will happen on notices, hence why this mode is sometimes set. | Requires +o or higher |
t | built-in | Restricts /TOPIC to +h or higher. Without +t anyone in the channel may set the topic. Most channels are +t. | Requires +h or higher |
V | chanmodes/noinvite | /INVITE is not permitted. | Requires +o or higher |
z | chanmodes/secureonly | Only clients which are connected through SSL/TLS may join the channel | Requires +o or higher |
Z | chanmodes/issecure | Indicates that only people who are using SSL/TLS are on the channel. This channel mode is (only) set by the server when the channel is also +z and everyone on the channel is connected via SSL. | Set by server |