aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Matteo Bertucci <[email protected]>2021-10-25 17:25:19 +0200
committerGravatar Matteo Bertucci <[email protected]>2021-10-25 17:25:19 +0200
commit798150eca45e52350773e88d7845a1af913b462f (patch)
tree7a5c4d0d88669c9822ce4a9331d78fb6e8a06c3e
parentFiltering: update auto ban message (diff)
Filter list: send warning when autoban trigger is added
-rw-r--r--bot/constants.py1
-rw-r--r--bot/exts/filters/filter_lists.py7
-rw-r--r--bot/exts/filters/filtering.py4
-rw-r--r--config-default.yml1
4 files changed, 11 insertions, 2 deletions
diff --git a/bot/constants.py b/bot/constants.py
index f704c9e6a..a75a26a9b 100644
--- a/bot/constants.py
+++ b/bot/constants.py
@@ -444,6 +444,7 @@ class Channels(metaclass=YAMLGetter):
incidents: int
incidents_archive: int
mod_alerts: int
+ mod_tools: int
nominations: int
nomination_voting: int
organisation: int
diff --git a/bot/exts/filters/filter_lists.py b/bot/exts/filters/filter_lists.py
index 4b5200684..b1e07185a 100644
--- a/bot/exts/filters/filter_lists.py
+++ b/bot/exts/filters/filter_lists.py
@@ -6,6 +6,7 @@ from discord.ext.commands import BadArgument, Cog, Context, IDConverter, group,
from bot import constants
from bot.api import ResponseCodeError
from bot.bot import Bot
+from bot.constants import Channels
from bot.converters import ValidDiscordServerInvite, ValidFilterListType
from bot.log import get_logger
from bot.pagination import LinePaginator
@@ -100,6 +101,12 @@ class FilterLists(Cog):
)
raise
+ # If it is an autoban trigger we send a warning in #mod-tools
+ if comment and "[autoban]" in comment:
+ await self.bot.get_channel(Channels.mod_tools).send(
+ f":warning: heads-up! The new filter `{content}` (`{comment}`) will automatically ban users."
+ )
+
# Insert the item into the cache
self.bot.insert_item_into_filter_list_cache(item)
await ctx.message.add_reaction("✅")
diff --git a/bot/exts/filters/filtering.py b/bot/exts/filters/filtering.py
index 8d55e7ee3..b20a9c2c9 100644
--- a/bot/exts/filters/filtering.py
+++ b/bot/exts/filters/filtering.py
@@ -364,7 +364,7 @@ class Filtering(Cog):
await self._send_log(filter_name, _filter, msg, stats, reason)
# If the filter reason contains `[autoban]`, we want to indeed ban
- if "[autoban]" in reason.lower():
+ if reason and "[autoban]" in reason.lower():
# We create a new context from that message and make sure the staffer is the bot
# and the feedback message is sent in #mod-alert
context = await self.bot.get_context(msg)
@@ -400,7 +400,7 @@ class Filtering(Cog):
ping_everyone = Filter.ping_everyone and _filter.get("ping_everyone", True)
# If we are going to autoban, we don't want to ping
- if "[autoban]" in reason:
+ if reason and "[autoban]" in reason:
ping_everyone = False
eval_msg = "using !eval " if is_eval else ""
diff --git a/config-default.yml b/config-default.yml
index b61d9c99c..c0e561cca 100644
--- a/config-default.yml
+++ b/config-default.yml
@@ -207,6 +207,7 @@ guild:
incidents_archive: 720668923636351037
mod_alerts: 473092532147060736
mods: &MODS 305126844661760000
+ mod_tools: 775413915391098921
nominations: 822920136150745168
nomination_voting: 822853512709931008
organisation: &ORGANISATION 551789653284356126