Commit Graph

128 Commits

Author SHA1 Message Date
Elián Hanisch 3c7eff0f70 allow setting multiple bans with one command. 2012-07-18 21:34:49 -03:00
Elián Hanisch 909d56d704 merge multiple mode messages into one (4 modes max) 2012-07-15 22:28:38 -03:00
Elián Hanisch 6640435520 make @baninfo display time in human readable format, instead of number of seconds. 2012-07-15 21:15:06 -03:00
Elián Hanisch 401e5ae5d4 fix @baninfo, inform if the ban is inactive 2012-07-15 21:06:23 -03:00
Elián Hanisch c283e6b924 add a simple @baninfo command for check when a ban expires. 2012-07-13 13:45:37 -03:00
Elián Hanisch bf93f42503 add some colors in the notification message. 2012-07-05 20:40:57 -03:00
Elián Hanisch c90821186e fix extbans 2012-07-05 19:36:13 -03:00
Elián Hanisch b8225fd507 fix previous commit, Ban objects are never going to be of other type than ban and quiet. 2012-07-05 19:24:49 -03:00
Elián Hanisch 800a228d92 banremove should only work with bans or quiets. 2012-07-05 19:12:38 -03:00
Elián Hanisch 4d5ea85544 fix autoremoving quiets 2012-07-05 19:08:44 -03:00
Elián Hanisch e3dd878cf3 save ban autoremoval information in a csv files, so it isn't lost during plugin reloads. 2012-07-05 02:31:53 -03:00
Elián Hanisch e3f6aacdf5 added configuration options:
* supybot.plugins.Bantracker.autoremove
* supybot.plugins.Bantracker.autoremove.notify
* supybot.plugins.Bantracker.autoremove.notify.channels
2012-07-04 22:12:55 -03:00
Elián Hanisch 87f61b1654 send notifications when ban are about to expire (notification channel hardcoded to #test) 2012-07-04 21:35:07 -03:00
Elián Hanisch 1e92a7002a debug line I forgot to delete. 2012-07-04 21:21:46 -03:00
Elián Hanisch 011a0859a0 refactored readTimeDelta function. 2012-07-04 19:49:38 -03:00
Elián Hanisch 30c78107af added FuzzyDict class, gives a more flexible matching of the time units. 2012-07-04 19:36:19 -03:00
Elián Hanisch a3266bc1de @banremoval command now accepts time in different units, such as "2 weeks", "1 month", "24h" and so on.
The units are: minutes, hours, days, weeks, months and years. One letter shortcuts allowed.
2012-07-04 19:23:37 -03:00
Elián Hanisch 3e584e6880 add 'banremove' command for set expire time of bans. 2012-07-04 00:22:53 -03:00
Elián Hanisch 912cc8490c send -b/-q messages when ban/quiet expires 2012-06-27 01:14:51 -03:00
Elián Hanisch 57c349aace Start hack for the ban autoremoval feature:
* BanRemoval class that keeps data about bans that expires.
* BanStore class for store BanRemoval objects
* testBanAutoRemove testcase

right now it doesn't do much.
2012-06-25 19:40:09 -03:00
Elián Hanisch a08559a758 Fix spurious testcase fail, sometimes seconds didn't match. 2012-06-25 19:35:42 -03:00
Elián Hanisch 5ffcf6511a some refactoing.
* added Ban.type property
 * PersistentCache renamed to ReviewStore and made it work more like defaultdict.
2012-06-25 19:30:11 -03:00
Terence Simpson bed505399f Don't just give up if an SQL operation throws an error; try, try, try again... and then some 2011-08-26 07:48:13 +01:00
Elián Hanisch ed91a8a426 bantracker: When joining a channel, discard the ban list for that channel. 2011-06-18 23:14:35 -03:00
Elián Hanisch 8d61d972fd bantracker: remove an useless extra search 2011-06-18 22:43:43 -03:00
Elián Hanisch a9a111b8e6 Bantracker: Don't duplicate bans if for some reason the bot request a ban list.
Only sort bans when the ban list is over.
2011-06-18 22:39:16 -03:00
Elián Hanisch af068e2f91 Bantracker: when unbanning, if there was a problem reading the db,
bt would fail to remove the ban from self.bans.
2011-06-18 22:32:04 -03:00
Elián Hanisch 0a435b668c Bantracker: don't re-add bans that are out of sync into self.bans 2011-06-18 16:27:51 -03:00
Elián Hanisch 62936a986c bantracker: forgot about extbans. 2011-05-31 19:55:38 -03:00
Elián Hanisch d0d7fe616a bantracker: HACK assume bans with exact mask are marks, so they won't get a review. 2011-05-31 19:43:45 -03:00
Elián Hanisch e69ac691c6 Bantracker: trim messages so they are more to the point. 2011-05-31 03:39:28 -03:00
Elián Hanisch f71a3c9929 Bantracker: ignore reviews for bans with a #ubuntu-read-topic forward. 2011-05-31 03:15:58 -03:00
Elián Hanisch 638ccf7b47 Bantracker: strip '%' from quiets in the string that's send to channels/nicks. 2011-05-31 01:45:05 -03:00
Elián Hanisch 223c3f9229 Bantracker: add separate configs so comment request, and review requests,
can be configured independently.
2011-05-29 19:22:34 -03:00
Elián Hanisch 46d07b8095 bantracker: add options --verbose --view and --flush to banreview command.
intended for manually fix the review queue when the bot messes up.
2011-05-29 19:21:27 -03:00
Elián Hanisch 5ed4e67b07 forgot to remove these debug lines. 2010-10-24 03:25:40 -03:00
Elián Hanisch 21c041631f workaround, remove duplicate reviews before sending any. 2010-10-24 03:13:43 -03:00
Terence Simpson ad7a493262 Update copyright/license/author/contributors information
Make sure all files have encoding set to utf-8 unless they already have an encoding
Added COPYING with contense of GPL-2
Added plugin name prefix to all log output. This should take the form of self.log.severity("Plugin: message"),
when not logging from plugin.py use: "Plugin/file_without_dot_py: message"
Bantracker: Made the confgure() function do something, it also creates an initial database if it doesn't exist
Encyclopedia: Made the configure() function do something, it also creates an initial database if it doesn't exist
PackageInfo: Improve the configure() function, it also now creates some initial .list files and prompts to run update_apt and update_apt_file
This goes some way to getting an "ubottu" package together, all we need to do is patch supybot-wizard to download the plugins
from bzr and put them somewhere supybot will see them, then the wizard will do all the initial setup
2010-05-24 14:38:06 +01:00
Terence Simpson b6465cc8bb Don't fetch bans/nicks for channels where Bantracker is disabled 2010-05-22 09:11:37 +01:00
Elián Hanisch a162404aec Bantracker: try to re-connect to the db if for some reason it didn't connect
or got closed.
2010-05-14 13:17:40 -03:00
Elián Hanisch 42a64c4c18 Bantracker: Don't enqueue ban reviews already in queue. Testcase updated. 2010-05-14 00:09:50 -03:00
Elián Hanisch e5801cf105 merge with devel 2010-04-26 17:37:37 -03:00
Elián Hanisch bb6c417989 fix error handling on cursor.execute
the previous code seemed to try 5 times before giving up, except that
it wasn't inside any loop, so it only tried once and there was no error msg.
Now at least log that there was an error.
2010-04-20 10:27:46 -03:00
Terence Simpson 9d99263232 Fix some IndexErrors 2010-04-20 12:27:35 +01:00
Terence Simpson 2a0e6a1f1a fix check_auth 2010-04-13 05:11:15 +01:00
Elián Hanisch 7538da2329 fix request ignores, It was matching against full hostmask instead of nick.
New testcase: testCommentIgnore
2010-04-12 23:02:07 -03:00
Terence Simpson 02f95832db Don't recognise /remove as a kick and fix hostmaskPatternEqual for 'new' ban-forward syntax 2010-04-13 01:24:45 +01:00
Elián Hanisch c942c3e80d don't use deque objects, since maxlen keyword is only in python 2.6 2010-04-09 12:10:08 -03:00
Elián Hanisch 8612e2291f implement requesting a ban review after a configured time and add some basic testcases
bot owners note that config group 'commentRequest' is now 'request'
request.ignore config now defaults to "FloodBot? FloodBotK? ChanServ"
2010-04-06 21:36:50 -03:00
Elián Hanisch f1b72a7f57 forgot to remove this 2010-04-04 01:39:50 -03:00