Ban management in #ubuntu
Alan Bell
alanbell at ubuntu.com
Sat Nov 3 15:19:49 UTC 2012
Hi all,
We have been using the Freenode eir utility bot for some time to assist
with the management and administration of bans in the #ubuntu channel.
There have been a number of issues around this which were discussed at
our regular meetings, the overall conclusion was that it didn’t entirely
fit our ban management requirement workflow. Some of our best
bot-herders, Elián Hanisch and Terrence Simpson, have been working on a
replacement tool that can be loaded into our primary utility bot,
ubottu. This has been available for testing for a while in the
#ubuntu-bots-test sandpit channel (and it is still there if you want to
go and play with it).
The @comment command has been extended (in a backwardly compatible way)
it can set the ban duration or comment several bans a the same time, the
new syntax is:
@comment <id>[,<id> ...] [<comment>][, <duration>]
As you can see, the “duration” is whatever is behind the last comma, if
the syntax is wrong then it will just comment the ban as always.
<duration> uses the time units years, months, weeks, days, hours and
minutes, it uses fuzzy matching so you can write the partial word or
just the first letter. The only clash is with ‘m’, so ‘M’ stands for
month and ‘m’ for minute. If no unit is given it will default to seconds.
Duration examples:
1 month 2 weeks 5 min
1M 2w 5m
1M2w5m
(the 3 are equivalent)
Command examples:
@comment 123 this is a temporal ban, 2d
@comment 124,125,126 troll, ban evading, etc, 2 weeks
@comment 127 this ban will not expire, because no duration was given.
The <duration> part is not stripped from the comment, so it will show in
the bantracker. And note that even though you can set a ban to expire in
1 minute, it will might take longer to be removed since the time between
checks are 10 minutes apart.
To show or change the ban duration there is a new command @duration:
@duration [<id>[,<id> ...]] [<duration>]
It sets or changes the duration of a ban. If you don’t give a duration
the bot will reply how much time the ban has left until is removed, if
you don’t either give an id the bot will reply which bans are set to
expire. If you use zero or a negative number as duration, the ban will
be set to never expire.
Command examples:
@duration 123 2d
@duration 123,124,125 2 weeks
The bot will send a notification 10 minutes before removing a ban to the
#ubuntu-ops-monitor control channel, so if you are in that channel you
should get pinged by name.
In essence this tool allows us to set things like a “24 hour cooling off
period” or a 1 month ban on a dynamic IP address and then have the ban
removal automatically processed. This process works just as well on
quiets as full channel bans if you want to mute a user for a set period
to allow them to observe normal constructive conversation prior to
participating in it again.
At the moment this new functionality of ubottu is only active in the
#ubuntu channel, after a period of bedding in there we may well flick
the switch to turn it on for our other core channels.
Alan
--
I work at http://libertus.co.uk
More information about the Ubuntu-irc
mailing list