From 381d292b74305a20057fad30fbe925dc4c4d266e Mon Sep 17 00:00:00 2001 From: Zevaryx Date: Mon, 15 Aug 2022 22:40:47 -0600 Subject: [PATCH] Catch errors with automated warnings, closes #171 --- jarvis/client.py | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/jarvis/client.py b/jarvis/client.py index c08366f..6a530d4 100644 --- a/jarvis/client.py +++ b/jarvis/client.py @@ -511,7 +511,10 @@ class Jarvis(StatsClient): ) tracker.inc() embed = warning_embed(message.author, "Sent an invite link") - await message.channel.send(embeds=embed) + try: + await message.channel.send(embeds=embed) + except Exception: + self.logger.warn("Failed to send warning embed") async def massmention(self, message: Message) -> None: """Handle massmention events.""" @@ -547,7 +550,10 @@ class Jarvis(StatsClient): ) tracker.inc() embed = warning_embed(message.author, "Mass Mention") - await message.channel.send(embeds=embed) + try: + await message.channel.send(embeds=embed) + except Exception: + self.logger.warn("Failed to send warning embed") async def roleping(self, message: Message) -> None: """Handle roleping events.""" @@ -612,7 +618,10 @@ class Jarvis(StatsClient): ) tracker.inc() embed = warning_embed(message.author, "Pinged a blocked role/user with a blocked role") - await message.channel.send(embeds=embed) + try: + await message.channel.send(embeds=embed) + except Exception: + self.logger.warn("Failed to send warning embed") async def phishing(self, message: Message) -> None: """Check if the message contains any known phishing domains.""" @@ -636,7 +645,10 @@ class Jarvis(StatsClient): ) tracker.inc() embed = warning_embed(message.author, "Phishing URL") - await message.channel.send(embeds=embed) + try: + await message.channel.send(embeds=embed) + except Exception: + self.logger.warn("Failed to send warning embed") try: await message.delete() except Exception: @@ -679,7 +691,10 @@ class Jarvis(StatsClient): tracker.inc() reasons = ", ".join(item["not_safe_reasons"]) embed = warning_embed(message.author, reasons) - await message.channel.send(embeds=embed) + try: + await message.channel.send(embeds=embed) + except Exception: + self.logger.warn("Failed to send warning embed") try: await message.delete() except Exception: