Channel management: Difference between revisions

From Xertion Wiki
Jump to navigation Jump to search
White Wolf (talk | contribs)
→‎Owner Mode and Protect Mode: Page no longer needed (Anope2.0 update)
Major overhaul, phase 1 - tidied up the page a bit, changed a lot of the wording, added new content
Line 4: Line 4:
* Commands in this guide will be given in both the <code>/msg</code> format, and the fantasy command format.
* Commands in this guide will be given in both the <code>/msg</code> format, and the fantasy command format.


 
Most aspects of channel management on Xertion are controlled by ChanServ. ChanServ manages the registration and settings of channels on the network.
Okay, so most things related to channel management are controlled via [[ChanServ]], part of Anope IRC services, the system we use on Xertion.
 


Commands to [[ChanServ]] can be given in a number of ways:  
Commands to [[ChanServ]] can be given in a number of ways:  
Line 16: Line 14:
===Adding Access===
===Adding Access===
====Access Levels====
====Access Levels====
Administrators and operators are an important part of a channel. You've probably seen them around, with the '''&''' (Admin) or '''@''' (Op) in front of their name on some of our larger channels. Now, how do you assign them?
Access levels define who gets what level of access in a channel, which defines what modes someone gets and what ChanServ functions they're allowed to use on the channel. There are a number of ways to define someone's access in a channel - the most well known of these is the ACCESS command.
* <code>/msg ChanServ ACCESS #moo ADD Elchzard level
 
* .access add Elchzard level</code>
{{Ambox
|type = notice
|image =
|issue='''Note'''<br />
|fix=With the ACCESS, SOP/AOP/HOP/VOP, and FLAGS commands, you can specify a '''nickname!user@host''' mask instead of just '''nickname''', which can be used to give unregistered users matching the host mask the specified access. Be careful using user@host masks though, because you could accidentally give someone else access you didn't intend to!
}}


<pre>Level = A number between 3 and 9999 inclusive.
To add someone to the channel's access list:
* <code>/msg ChanServ ACCESS #channel ADD nickname level, OR</code>
* Type in channel: <code>.access add nickname level</code>
 
The default levels used for 'level' are as follows - note these are just the default settings, they can be changed with ChanServ's LEVELS command. See the [[ChanServ]] page for more details on this.
<pre>
Level 3 -- Gives user voice (+).
Level 3 -- Gives user voice (+).
Level 4 -- Gives user half-operator (%) status.
Level 4 -- Gives user half-operator (%) status.
Levels 5 - 9 -- Gives user operator (@) status.
Levels 5 - 9 -- Gives user operator (@) status.
Levels 10 - 9998 -- Gives user administrator (&) status.
Levels 10 - 9998 -- Gives user administrator/protected (&) status.
Level 9999 -- Gives user co-founder (~) status.</pre>
Level 9999 -- Gives user co-founder (~) status.
 
</pre>
For fantasy commands using .access, there is also a shortcut available - <code>.axx</code>
 
So one of the access commands would be -- <code>.axx add Elchzard level</code>


====xOP====
====xOP====
If you're confused by access levels, xOP might be easier for you. Rather than using 9996 different levels, there are four:
If you want simplicity, you can use the xOP commands to modify channel access. There are 4 basic commands:


{{Note|Turning xOP ON will no longer allow usage of the access levels system.}}
* SOP - '''S'''uper'''OP''' -- Equivalent to admin/protected status, &, or levels 10-9998 by default
* AOP - '''A'''uto'''OP''' -- Equivalent to operator status, @, or levels 5-9 by default
* HOP - '''H'''alf'''OP''' -- Equivalent to half-op status, %, or level 4 by default
* VOP - '''VO'''ice'''P'''erson -- Equivalent to voice, +, or level 3 by default


* SOP - SuperOP -- Equivalent to admin status, &, or levels 10-9998
Note that there is no 'turning on/off' the xOP system - it's always there right alongside the ACCESS command, so you can alternate between whichever method is more comfortable for you.
* AOP - AutoOP -- Equivalent to operator status, @, or levels 5-9.
* HOP - HalfOP -- Equivalent to half-op status, %, or level 4.
* VOP - VOicePerson -- Equivalent to voice, +, or level 3.


* Adding SOPs (admins)
** <code>/msg ChanServ SOP [#channel] add [nickname]</code>, OR
** Type in channel: <code>.sop add [nickname]</code>
* Assign AOPs (operators)
** <code>/msg ChanServ AOP [#channel] add [nickname]</code>, OR
** Type in channel: <code>.aop add [nickname]</code>
* Assign HOPs (half-operators)
** <code>/msg ChanServ HOP [#channel] add [nickname]</code>, OR
** Type in channel: <code>.hop add [nickname]</code>
* Assign VOPs (voice users)
** <code>/msg ChanServ VOP [#channel] add [nickname]</code>, OR
** Type in channel: <code>.vop add [nickname]</code>




===Removing Access===
If you ever need to remove someone's channel access, you can do so as follows:
* With ACCESS command: <code>/msg ChanServ ACCESS [#channel] DEL [nickname]</code> will remove the given nickname's access from the specified channel.
** In-channel: .access del [nickname]
* With SOP/AOP/HOP/VOP commands: <code>/msg ChanServ [SOP|AOP|HOP|VOP]</code> DEL [nickname]</code> will remove the given nickname's access from the specified xOP list.
** In-channel: .sop del [nickname] OR .aop del [nickname] OR .hop del [nickname] OR .vop del [nickname]


To turn on the xOP system, you need to use one ChanServ command, and then you're good to go with assigning your operators.
==Channel Modes==
* Turn on XOP -- <code>/msg ChanServ SET #moo XOP on</code>
Channel modes are used to control basic functions and settings of the channel.
* Assign SOPs -- <code>/msg ChanServ SOP #moo add Elchzard</code>
* Assign AOPs -- <code>/msg ChanServ AOP #moo add Elchzard</code>
* Assign HOPs -- <code>/msg ChanServ HOP #moo add Elchzard</code>
* Assign VOPs -- <code>/msg ChanServ VOP #moo add Elchzard</code>


To set a channel mode on a channel:
* <code>/mode [#channel] +''[mode letter(s)]''</code>
To remove a mode...
* <code>/mode [#channel] -''[mode letter(s)]''</code>
You can also add AND remove modes at the same time:
* <code>/mode [#channel] +''[mode(s)]''-''[mode(s)]]</code>, etc etc.


Or using fantasy commands...
Some commonly used modes on Xertion:
* Turn on XOP -- <code>.set xop on</code>
* Channel mode +c - block all messages to the channel that contain color/styling.
* Assign SOPs -- <code>.sop add Elchzard</code>
* Channel mode +S - strip color/styling from messages, so they appear as plain text.
* Assign AOPs -- <code>.aop add Elchzard</code>
* Channel mode +p - mark the channel as 'private', which hides it from a user's whois output and replaces it with a '*' in a /list output. '''IRC Operators/Admins on Xertion can always see all channels even if this is set.'''
* Assign HOPs -- <code>.hop add Elchzard</code>
* Channel mode +s - mark the channel as 'secret', which hides it from the /list command and from a user's whois output. '''IRC Operators/Admins on Xertion can always see all channels even if this is set.'''
* Assign VOPs -- <code>.vop add Elchzard</code>
* Channel mode +k - set a password to join the channel, specify the password as the second parameter (e.g /mode #channel +k password), include with /join command when set (/join #channel password). Note that to UNSET this mode, you must specify the same password that is currently set.
* Channel mode +i - marks the channel as invite-only, users must be invited with the /invite command (or have an invite exception set in the channel) to join.
* Channel mode +l - sets a maximum limit on the number of users that can be in the channel at one time (e.g /mode #channel +l 500, will set a limit of 500 users)
* Channel mode +m - 'moderates' the channel. When +m is set, users must have voice (+v) or above to send messages to the channel.


===Removing Access===
This is just a partial list of modes. A full list of modes and what they do, can be obtained by typing '''/quote help chmodes''' on the network.
If ever the sad time comes when you need to remove a user's status on a channel, then it's equally as simple as giving the person ops in the first place. Also, if you want to change from xOP back to the normal access list system, it's simple.
* <code>/msg ChanServ ACCESS #moo DEL Sakura`Kinomoto</code> -- This will remove a users access on a channel.
* <code>/msg ChanServ ''X''OP #moo DEL Sakura`Kinomoto</code> -- Replace "X" with S, A, H or V to reflect the users current position - This command will then remove a users access on a channel when using the xOP system.
* <code>/msg ChanServ SET #moo XOP off</code> -- Will move you from xOP back to the normal access list system.


Alternatively, use our good old friends fantasy commands...
==Banning==
* <code>.access del Sakura`Kinomoto</code> -- This will remove a users access on a channel.
Banning a user from a channel essentially prevents them from joining and/or speaking. Channel bans are set using a '''nick!user@host''' mask format. This format also supports wildcards, so you can ban more than one user at a time with a single ban.
* <code>.XOP del Sakura`Kinomoto</code> -- Replace "X" with S, A, H or V to reflect the users current position - This command will then remove a users access on a channel when using the xOP system.
* <code>.set XOP off</code> -- Will move you from xOP back to the normal access list system.


==Channel Modes==
Channel bans are set with channel mode +b
To enable a mode, simply type this...
* To ban a user by hostname:
* <code>/mode #moo +''Mode letter''</code>
** <code>/mode #channel +b *!*@some.hostname.mask</code>
Or, to remove a mode...
** <code>/mode #channel +b *!user@*.hostname.mask</code>
* <code>/mode #moo -''Mode letter''</code>
** '''The above format is the most effective way of setting channel bans, and are HIGHLY recommended for use over any other ban mask format'''
* To ban a user by nickname: <code>/mode #moo +b nickname!*@*</code>
* To ban a user by their ident (the 'user' portion of the user@hostname mask): <mode>/mode #moo +b *!ident@*</code>


==Excepts/Invite-Excepts==
In addition to banning, you can also set up channel exemptions (excepts) and channel invite-exceptions (invexes), which exempt users matching the specified nick/hostmask from bans and channel mode +i, respectively.


So, now, some commonly used modes:
Users whose hostname matches a channel exception mask can join a channel even if they match an existing channel ban. Users whose hostname matches a channel invite-exception mask can join an invite-only channel without needing to be invited in.
* Block all messages containing colour codes - +c
* Strip colour, bold, italics, underline (making them appear as plain text) - +S
* Makes a channel secret, hiding it from the "/list" command - +s
* Adds a channel password - +k cows (The channel password is now cows).
* Make a channel invite only. (Must be invited to enter) - +i
* Set a user-limit for your channel - +l 500 (That's a lower case "L").
* Moderate a channel - i.e, set it so only users with voice (+) and above can speak - +m
* Block messages containing over 50% capitals, when they're longer than 5 characters - +B


==Banning==
The commands to set these are:
Banning a user from a channel basically means they can't join it and talk there. You can ban a user with a certain nick, hostmask or ident from the channel.
* Channel exceptions:
* To ban a user's hostmask, (the most effective way) - <code>/mode #moo +b *!*@xertion-moo.moomoo-moo</code>
** By hostname - <code>/mode #channel +e *!*@some.hostname.mask</code> OR <code>/mode #channel +e *!user@*.hostname.mask</code> OR simply use the nickname (most common with an exception mask): <code>/mode #moo +e nickname!*@*</code>
* To ban a user's nick - <code>/mode #moo +b MooMooGirl!*@*</code>
* Channel invite-exceptions:
* To ban a user's ident - <code>/mode #moo +b *!Moo@*</code>
** By hostname - <code>/mode #channel +I *!*@some.hostname.mask</code> OR <code>/mode #channel +I *!user@*.hostname.mask</code> OR simply use the nickname (most common with an exception mask): <code>/mode #moo +I nickname!*@*</code>
 
Or, with fantasy commands -
* For a hostmask - <code>.ban *!*@xertion-moo.moomoo-moo</code>
* For a nick - <code>.ban MooMooGirl!*@*</code>
* For an ident - <code>.ban *!Moo@*</code>


===Extended Bans===
===Extended Bans===
Is that guy just changing his nick that '''''bit''''' too much? Is the dude there talking too often for your liking? Well, that's all solvable too!
An alternative to channel modes like +m, +N, +S, etc is to use what's known as extended bans. These are special bans that apply a specific channel restriction (such as channel mode +m for example), to just a user or set of users. This is typically done as follows: <code>/mode #channel +b [letter]:[mask/parameters]</code>
Extended bans allow you to control a user's actions within your channel very finely.
Bear in mind, though, that most of these bans don't work on users with voice, or above.
* Mutes, or m: bans - Prevent a user from talking in the channel.
* No nick-changes, or N: bans - Prevent a user from changing their nick.
* Caps-bans, or B: bans - Prevent a specific user from using more than 50% caps in messages over 5 characters.
* Kick-block, or Q: bans - Prevent a specific user from making kicks (DOES work on hops and ops).
* Colour-strips, or S: bans - Strips colour from a specific user's messages.
* Colour-blocks, or c: bans - Prevents a user from sending messages containing mIRC colour codes.
 


So, how do you implement these?
Extended bans can also be used in ban exceptions (EXCEPTS) and invite-exceptions (INVEX):
* When extended bans are used in ban exceptions (mode +e), matching users are not affected by the corresponding channel mode (if it is currently set), and are also not affected by a matching extban of that type.
* When extended bans are used in invite-exceptions (mode +I), matching users are allowed to bypass channel mode +i.


The simplest for most of these is to grab the users hostmask, and then type this:
<pre>/mode #moo +b N:*!*@xertion-moo.moomoo-moo</pre>


Obviously, you have to change the example to the correct values for your purpose.
{{Ambox
|type = notice
|image =
|issue='''<span style="color:orange">Warning</span>'''<br />'''
|fix=The extended bans listed here, as well as most extended bans supported on Xertion, DO NOT affect users with at least voice (+v) or above in the channel. An exception to this is extended ban Q, which DOES affect channel halfoperators and above. Please keep this in mind!
}}


So essentially, you use the method above for a classic ban, and add a colon, preceded by the letter of the extban you want to use at the front of the identifier for the user.


Bear in mind that these extended bans don't work with the ".ban" fantasy command.
Some commonly used extended bans and how to set them:
* Extended ban '''m''': Matching users cannot "talk" in the channel - <code>/mode #channel +b m:*!*@some.hostname.mask</code>
** ''When used with ban exception:'' Matching users can talk if channel mode +m is set - <code>/mode #channel +e m:*!*@some.hostname.mask</code>
* Extended ban '''N''': Matching users are not allowed to change their nickname while in the channel - <code>/mode #channel +b N:*!*@some.hostname.mask</code>
** ''When used with ban exception:'' Matching users can change nicknames if channel mode +N is set - <code>/mode #channel +e N:*!*@some.hostname.mask</code>
* Extended ban '''c''': Matching users cannot send messages with color/styling to the channel - <code>/mode #channel +b c:*!*@some.hostname.mask</code>
** ''When used with ban exception:'' Matching users can send colored/styled messages to the channel if channel mode +c is set - <code>/mode #channel +e c:*!*@some.hostname.mask</code>
* Extended ban '''Q''': Matching users cannot use the /kick command - <code>/mode #channel +b Q:*!*@some.hostname.mask</code>
** ''When used with ban exception:'' Matching users can use the /kick command when channel mode +Q is set - <code>/mode #channel +e N:*!*@some.hostname.mask</code>


Mute, however, does have its own fantasy command - <code>.mute MooCow</code>
A full list of extended bans can be found by typing (on the network): <code>/quote help extbans</code>




==Miscellaneous==
==Miscellaneous==
* <code>/whois MooCow</code> - Will give you general information about a user, as well as their '''hostmask''', which you can take from the whois data, for easy use in a ban or extended ban.
Here's a few other commands that can be helpful in assisting you with the above information
* <code>/list</code> - Will give you a list of all the network's channels that don't have +s or +p active.
* <code>/whois [nickname]</code> - Gives you general information on the given nickname, if they are online. This is most useful to obtain a given user's user@host mask for use with channel bans/exceptions/invite-exceptions
* <code>/list</code> - Pulls up a list of channels on the network. Channels that have channel mode +p set will only appear as a '*' in the list, and channels that have channel mode +s set won't appear in the list at all (they ARE secret after all)




See also: [[Channel Modes]], [[ChanServ]], [[Channel Management (cont.)]]
See also: [[Channel Modes]], [[ChanServ]]


[[Category:Tutorials]]
[[Category:Tutorials]]
[[Category:Services]]
[[Category:Services]]
[[Category:Commands]]
[[Category:Commands]]

Revision as of 05:12, 18 June 2015

Types of Commands

  • Fantasy commands are commands initiated with a period. "."
  • Commands in this guide will be given in both the /msg format, and the fantasy command format.

Most aspects of channel management on Xertion are controlled by ChanServ. ChanServ manages the registration and settings of channels on the network.

Commands to ChanServ can be given in a number of ways:

  • Messages: /msg ChanServ [command] [variable]
  • Fantasy: .[command] [variable]


Managing Channel Access

Adding Access

Access Levels

Access levels define who gets what level of access in a channel, which defines what modes someone gets and what ChanServ functions they're allowed to use on the channel. There are a number of ways to define someone's access in a channel - the most well known of these is the ACCESS command.

To add someone to the channel's access list:

  • /msg ChanServ ACCESS #channel ADD nickname level, OR
  • Type in channel: .access add nickname level

The default levels used for 'level' are as follows - note these are just the default settings, they can be changed with ChanServ's LEVELS command. See the ChanServ page for more details on this.

Level 3 -- Gives user voice (+).
Level 4 -- Gives user half-operator (%) status.
Levels 5 - 9 -- Gives user operator (@) status.
Levels 10 - 9998 -- Gives user administrator/protected (&) status.
Level 9999 -- Gives user co-founder (~) status.

xOP

If you want simplicity, you can use the xOP commands to modify channel access. There are 4 basic commands:

  • SOP - SuperOP -- Equivalent to admin/protected status, &, or levels 10-9998 by default
  • AOP - AutoOP -- Equivalent to operator status, @, or levels 5-9 by default
  • HOP - HalfOP -- Equivalent to half-op status, %, or level 4 by default
  • VOP - VOicePerson -- Equivalent to voice, +, or level 3 by default

Note that there is no 'turning on/off' the xOP system - it's always there right alongside the ACCESS command, so you can alternate between whichever method is more comfortable for you.

  • Adding SOPs (admins)
    • /msg ChanServ SOP [#channel] add [nickname], OR
    • Type in channel: .sop add [nickname]
  • Assign AOPs (operators)
    • /msg ChanServ AOP [#channel] add [nickname], OR
    • Type in channel: .aop add [nickname]
  • Assign HOPs (half-operators)
    • /msg ChanServ HOP [#channel] add [nickname], OR
    • Type in channel: .hop add [nickname]
  • Assign VOPs (voice users)
    • /msg ChanServ VOP [#channel] add [nickname], OR
    • Type in channel: .vop add [nickname]


Removing Access

If you ever need to remove someone's channel access, you can do so as follows:

  • With ACCESS command: /msg ChanServ ACCESS [#channel] DEL [nickname] will remove the given nickname's access from the specified channel.
    • In-channel: .access del [nickname]
  • With SOP/AOP/HOP/VOP commands: /msg ChanServ [SOP|AOP|HOP|VOP] DEL [nickname] will remove the given nickname's access from the specified xOP list.
    • In-channel: .sop del [nickname] OR .aop del [nickname] OR .hop del [nickname] OR .vop del [nickname]

Channel Modes

Channel modes are used to control basic functions and settings of the channel.

To set a channel mode on a channel:

  • /mode [#channel] +[mode letter(s)]

To remove a mode...

  • /mode [#channel] -[mode letter(s)]

You can also add AND remove modes at the same time:

  • /mode [#channel] +[mode(s)]-[mode(s)]], etc etc.

Some commonly used modes on Xertion:

  • Channel mode +c - block all messages to the channel that contain color/styling.
  • Channel mode +S - strip color/styling from messages, so they appear as plain text.
  • Channel mode +p - mark the channel as 'private', which hides it from a user's whois output and replaces it with a '*' in a /list output. IRC Operators/Admins on Xertion can always see all channels even if this is set.
  • Channel mode +s - mark the channel as 'secret', which hides it from the /list command and from a user's whois output. IRC Operators/Admins on Xertion can always see all channels even if this is set.
  • Channel mode +k - set a password to join the channel, specify the password as the second parameter (e.g /mode #channel +k password), include with /join command when set (/join #channel password). Note that to UNSET this mode, you must specify the same password that is currently set.
  • Channel mode +i - marks the channel as invite-only, users must be invited with the /invite command (or have an invite exception set in the channel) to join.
  • Channel mode +l - sets a maximum limit on the number of users that can be in the channel at one time (e.g /mode #channel +l 500, will set a limit of 500 users)
  • Channel mode +m - 'moderates' the channel. When +m is set, users must have voice (+v) or above to send messages to the channel.

This is just a partial list of modes. A full list of modes and what they do, can be obtained by typing /quote help chmodes on the network.

Banning

Banning a user from a channel essentially prevents them from joining and/or speaking. Channel bans are set using a nick!user@host mask format. This format also supports wildcards, so you can ban more than one user at a time with a single ban.

Channel bans are set with channel mode +b

  • To ban a user by hostname:
    • /mode #channel +b *!*@some.hostname.mask
    • /mode #channel +b *!user@*.hostname.mask
    • The above format is the most effective way of setting channel bans, and are HIGHLY recommended for use over any other ban mask format
  • To ban a user by nickname: /mode #moo +b nickname!*@*
  • To ban a user by their ident (the 'user' portion of the user@hostname mask): <mode>/mode #moo +b *!ident@*

Excepts/Invite-Excepts

In addition to banning, you can also set up channel exemptions (excepts) and channel invite-exceptions (invexes), which exempt users matching the specified nick/hostmask from bans and channel mode +i, respectively.

Users whose hostname matches a channel exception mask can join a channel even if they match an existing channel ban. Users whose hostname matches a channel invite-exception mask can join an invite-only channel without needing to be invited in.

The commands to set these are:

  • Channel exceptions:
    • By hostname - /mode #channel +e *!*@some.hostname.mask OR /mode #channel +e *!user@*.hostname.mask OR simply use the nickname (most common with an exception mask): /mode #moo +e nickname!*@*
  • Channel invite-exceptions:
    • By hostname - /mode #channel +I *!*@some.hostname.mask OR /mode #channel +I *!user@*.hostname.mask OR simply use the nickname (most common with an exception mask): /mode #moo +I nickname!*@*

Extended Bans

An alternative to channel modes like +m, +N, +S, etc is to use what's known as extended bans. These are special bans that apply a specific channel restriction (such as channel mode +m for example), to just a user or set of users. This is typically done as follows: /mode #channel +b [letter]:[mask/parameters]

Extended bans can also be used in ban exceptions (EXCEPTS) and invite-exceptions (INVEX):

  • When extended bans are used in ban exceptions (mode +e), matching users are not affected by the corresponding channel mode (if it is currently set), and are also not affected by a matching extban of that type.
  • When extended bans are used in invite-exceptions (mode +I), matching users are allowed to bypass channel mode +i.



Some commonly used extended bans and how to set them:

  • Extended ban m: Matching users cannot "talk" in the channel - /mode #channel +b m:*!*@some.hostname.mask
    • When used with ban exception: Matching users can talk if channel mode +m is set - /mode #channel +e m:*!*@some.hostname.mask
  • Extended ban N: Matching users are not allowed to change their nickname while in the channel - /mode #channel +b N:*!*@some.hostname.mask
    • When used with ban exception: Matching users can change nicknames if channel mode +N is set - /mode #channel +e N:*!*@some.hostname.mask
  • Extended ban c: Matching users cannot send messages with color/styling to the channel - /mode #channel +b c:*!*@some.hostname.mask
    • When used with ban exception: Matching users can send colored/styled messages to the channel if channel mode +c is set - /mode #channel +e c:*!*@some.hostname.mask
  • Extended ban Q: Matching users cannot use the /kick command - /mode #channel +b Q:*!*@some.hostname.mask
    • When used with ban exception: Matching users can use the /kick command when channel mode +Q is set - /mode #channel +e N:*!*@some.hostname.mask

A full list of extended bans can be found by typing (on the network): /quote help extbans


Miscellaneous

Here's a few other commands that can be helpful in assisting you with the above information

  • /whois [nickname] - Gives you general information on the given nickname, if they are online. This is most useful to obtain a given user's user@host mask for use with channel bans/exceptions/invite-exceptions
  • /list - Pulls up a list of channels on the network. Channels that have channel mode +p set will only appear as a '*' in the list, and channels that have channel mode +s set won't appear in the list at all (they ARE secret after all)


See also: Channel Modes, ChanServ