diff options
| author | 2018-02-04 09:27:54 +0000 | |
|---|---|---|
| committer | 2018-02-04 09:27:54 +0000 | |
| commit | 840fbcdb10b49861f8d51869dc7b832a16fdf35b (patch) | |
| tree | d276f056da9e88a6a3d4fc517ac4475d6f993870 /modules | |
| parent | NR: Eagle endpoints are now under /json/ going forward (diff) | |
| parent | Fix crash on PRIVMSG with nothing but whitespace (diff) | |
| signature | ||
Merge branch 'master' of github.com:jesopo/bitbot
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/channel_op.py | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/modules/channel_op.py b/modules/channel_op.py index d24314d5..03d97426 100644 --- a/modules/channel_op.py +++ b/modules/channel_op.py @@ -29,7 +29,11 @@ class Module(object): validate=Utils.int_or_none) bot.events.on("postboot").on("configure").on( "channelset").call(setting="highlight-spam-protection", - help="Enable/Disable highligh spam protection", + help="Enable/Disable highlight spam protection", + validate=Utils.bool_or_none) + bot.events.on("postboot").on("configure").on( + "channelset").call(setting="highlight-spam-ban", + help="Enable/Disable banning highlight spammers instead of just kicking", validate=Utils.bool_or_none) def kick(self, event): @@ -85,7 +89,11 @@ class Module(object): ) + [event["server"].nickname] if len(set(nicknames) & set(event["message_split"])) >= event["channel"].get_setting( "highlight-spam-threshold", 10): - if event["channel"].get_setting("highlight-spam-protection", False): - if not event["channel"].mode_or_above(event["user"].nickname, "v"): - event["channel"].send_kick(event["user"].nickname, - "highlight spam detected") + protection_enabled = event["channel"].get_setting("highlight-spam-protection", False) + has_mode = event["channel"].mode_or_above(event["user"].nickname, "v") + should_ban = event["channel"].get_setting("highlight-spam-ban", False) + if protection_enabled and not has_mode: + if should_ban: + event["channel"].send_ban("*!%s@%s" % (event["user"].username, + event["user"].hostname)) + event["channel"].send_kick(event["user"].nickname, "highlight spam detected") |
