Extended Bans
m |
m |
||
Line 42: | Line 42: | ||
== Quiet and Nick Change == | == Quiet and Nick Change == | ||
- | $q and $n | + | $q (quiet) and $n (nick change) are similar to normal bans, except that they allow you to control what a user can do without preventing them from joining the channel. $q prevents users matching the ban from sending messages/notices to the channel, while $n prevents them from changing their nickname. |
'''Syntax:''' | '''Syntax:''' | ||
Line 49: | Line 49: | ||
/mode #channel +b $n:nick!ident@host</code> | /mode #channel +b $n:nick!ident@host</code> | ||
- | + | '''Examples:''' | |
+ | |||
+ | Let's say that we wanted to allow AOL users to join the channel, but prevent them from speaking. This could be achieved by setting the following $q (quiet) extended ban: | ||
<code>/mode #channel +b $q:*!*@*.aol.com</code> | <code>/mode #channel +b $q:*!*@*.aol.com</code> | ||
- | If | + | If we wanted to also prevent AOL users from changing their nickname while their in our channel, we could also set the following #n (nick change) extended ban to achieve that: |
<code>/mode #channel +b $n:*!*@*.aol.com</code> | <code>/mode #channel +b $n:*!*@*.aol.com</code> | ||
Line 59: | Line 61: | ||
== Channel and Realname == | == Channel and Realname == | ||
- | $c and $r are channel and | + | $c and $r are channel and realname (gecos) bans, respectively. |
+ | |||
+ | When $c is used, it will prevent users who are currently in the channel specified from joining your channel. When $r is used, it will prevent users who's realname (gecos) matches the ban from joining your channel. Note, $r treats '_' as both the underscore character and a space. | ||
'''Syntax:''' | '''Syntax:''' | ||
Line 66: | Line 70: | ||
/mode #channel +b $r:realname</code> | /mode #channel +b $r:realname</code> | ||
- | + | '''Examples:''' | |
+ | |||
+ | Let's say we wanted to prevent all users who are inchannels with the word ''warez'' in their name from joining our channel. We could achieve this by setting the following $c (channel) extended ban: | ||
<code>/mode #channel +b $c:#*warez*</code> | <code>/mode #channel +b $c:#*warez*</code> | ||
- | + | Let's say we also want to prevent all users with the word ''bot'' in their realname (gecos) from joining the channel, as well. To do this, we could set the following $r (realname) extended ban: | |
<code>/mode #channel +b $r:*bot*</code> | <code>/mode #channel +b $r:*bot*</code> |
Revision as of 07:57, 17 June 2009
We have recently added support for extended bans to ircd-darenet, our server software. Extended bans gives channel operators more flexibility and control over their channel's ban list. The proper syntax for extended bans is as follows:
/mode #channel +b $type:mask
The following types of extended bans are currently supported:
Type | Name | Purpose |
---|---|---|
$a | Account | If a user's account name matches this ban, (s)he will be unable to join. |
$c | Channel | If a user is in a channel that matches this ban, (s)he will be unable to join. |
$j | Shared Bans | If a user matches a ban on the channel who's ban list is being shared, (s)he will be unable to join. |
$n | Nick Change | If a user matches this ban, (s)he will be unable to change their nickname while in the channel. |
$q | Quiet | If a user matches this ban, (s)he will be unable to send messages to the channel. |
$r | Realname | If a user's realname (gecos) matches this ban, (s)he will be unable to join. |
$t | Text | Allows you to specify text that will be blocked if a user's privmsg or notice to the channel contains it. * and ? wildcards supported. |
In This Guide: |
Quiet and Nick Change
$q (quiet) and $n (nick change) are similar to normal bans, except that they allow you to control what a user can do without preventing them from joining the channel. $q prevents users matching the ban from sending messages/notices to the channel, while $n prevents them from changing their nickname.
Syntax:
/mode #channel +b $q:nick!ident@host
/mode #channel +b $n:nick!ident@host
Examples:
Let's say that we wanted to allow AOL users to join the channel, but prevent them from speaking. This could be achieved by setting the following $q (quiet) extended ban:
/mode #channel +b $q:*!*@*.aol.com
If we wanted to also prevent AOL users from changing their nickname while their in our channel, we could also set the following #n (nick change) extended ban to achieve that:
/mode #channel +b $n:*!*@*.aol.com
Channel and Realname
$c and $r are channel and realname (gecos) bans, respectively.
When $c is used, it will prevent users who are currently in the channel specified from joining your channel. When $r is used, it will prevent users who's realname (gecos) matches the ban from joining your channel. Note, $r treats '_' as both the underscore character and a space.
Syntax:
/mode #channel +b $c:#channel
/mode #channel +b $r:realname
Examples:
Let's say we wanted to prevent all users who are inchannels with the word warez in their name from joining our channel. We could achieve this by setting the following $c (channel) extended ban:
/mode #channel +b $c:#*warez*
Let's say we also want to prevent all users with the word bot in their realname (gecos) from joining the channel, as well. To do this, we could set the following $r (realname) extended ban:
/mode #channel +b $r:*bot*
Account Bans
$a allows you to ban users who are logged into accounts matching the specified account mask ban. It does not matter whether they are using hostmasking (umode +x) or not.
Syntax:
/mode #channel +b $a:mask
So, for example, if you wanted to ban all users who's account names contained the word joe in it, you could set the following account extended ban:
/mode #channel +b $a:*joe*
NOTE: These bans act identical to the previous method of banning user's based on their account name, e.g. /mode #channel +b *!*@accountname.* OR /mode +b *!*@accountname.*.darenet; however, you can use the reverse logic function with them, which you cannot do with the old method. We discuss the reverse logic function later in this guide.
Shared Bans
$j extended bans, also known as shared bans, allow you to use another channel's ban list.
Syntax:
/mode #channel +b $j:mask
So, for example, let's say we wanted to use #shared's ban list with our own, we'd set the following shared ban:
/mode #channel +b $j:#shared
Now, whenever a user tries to join #channel, they'll be checked against both #channel's and #shared's ban list. If a match is found, they'll be prevented from joining the channel.
Text Bans
$t extended bans, also known as text bans, allow channel operators to specify text that will be blocked if a user's privmsg or noticed to the channel contains it. * and ? wildcards are supported. Also, please keep in mind that this also affects channel operators, halfops and voices.
Syntax:
/mode #channel +b $t:mask
So, for example, if you wanted to block all channel messages/notices that contained the word "damn", you could set the following text ban:
/mode #channel +b $t:damn
Reverse Logic
If "!" is specified in an extended ban, then it will have a reverse effect. Please note this does not work with quiets. Instead, use excepts.
Syntax:
/mode #channel +b $!<type>:mask
Example:
Let's say we wanted to an extended channel ban on #darenet with the "!" (reverse) flag, we'd use:
/mode #channel +b $!c:#darenet
This would prevent anyone from joining #channel if they are not already in #darenet as well.
Assistance
Should you need assistance using the new extended bans feature, feel free to stop by #Support