aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar D0rs4n <[email protected]>2021-08-16 18:18:05 +0200
committerGravatar D0rs4n <[email protected]>2021-08-16 18:18:05 +0200
commitd388d39487acbbf8071b9b5072955f54caba3bbf (patch)
treea53d7a1d29d16327d7b1a5d9c5baf953e281af9a
parentEnhance security in the Webhook remover. (diff)
Improve code consistency in webhook_remover
-rw-r--r--bot/exts/filters/webhook_remover.py16
1 files changed, 7 insertions, 9 deletions
diff --git a/bot/exts/filters/webhook_remover.py b/bot/exts/filters/webhook_remover.py
index dc1799f88..040ae93b6 100644
--- a/bot/exts/filters/webhook_remover.py
+++ b/bot/exts/filters/webhook_remover.py
@@ -13,8 +13,8 @@ WEBHOOK_URL_RE = re.compile(r"((?:https?://)?discord(?:app)?\.com/api/webhooks/\
ALERT_MESSAGE_TEMPLATE = (
"{user}, looks like you posted a Discord webhook URL. Therefore, your "
- "message has been removed, alongside with your webhook"
- "you can re-create it if you wish to. If you believe this was a "
+ "message has been removed, alongside with your webhook."
+ "You can re-create it if you wish to. If you believe this was a "
"mistake, please let us know."
)
@@ -32,7 +32,7 @@ class WebhookRemover(Cog):
"""Get current instance of `ModLog`."""
return self.bot.get_cog("ModLog")
- async def delete_and_respond(self, msg: Message, redacted_url: str, webhook_deleted: bool) -> None:
+ async def delete_and_respond(self, msg: Message, redacted_url: str, *, webhook_deleted: bool) -> None:
"""Delete `msg` and send a warning that it contained the Discord webhook `redacted_url`."""
# Don't log this, due internal delete, not by user. Will make different entry.
self.mod_log.ignore(Event.message_delete, msg.id)
@@ -49,7 +49,7 @@ class WebhookRemover(Cog):
else:
delete_state = "There was an error when deleting the webhook, it might have already been removed."
message = (
- f"{format_user(msg.author)} posted a Discord webhook URL to {msg.channel.mention}.{delete_state} "
+ f"{format_user(msg.author)} posted a Discord webhook URL to {msg.channel.mention}. {delete_state} "
f"Webhook URL was `{redacted_url}`"
)
log.debug(message)
@@ -76,11 +76,9 @@ class WebhookRemover(Cog):
matches = WEBHOOK_URL_RE.search(msg.content)
if matches:
async with self.bot.http_session.delete(msg.content) as resp:
- # The Discord API Returns a 204 NO CONTENT repsonse on success.
- if resp.status == 204:
- await self.delete_and_respond(msg, matches[1] + "xxx", True)
- else:
- await self.delete_and_respond(msg, matches[1] + "xxx", False)
+ # The Discord API Returns a 204 NO CONTENT response on success.
+ deleted_successfully = resp.status == 204
+ await self.delete_and_respond(msg, matches[1] + "xxx", webhook_deleted=deleted_successfully)
@Cog.listener()
async def on_message_edit(self, before: Message, after: Message) -> None: