diff options
| -rw-r--r-- | bot/cogs/token_remover.py | 3 | ||||
| -rw-r--r-- | tests/bot/cogs/test_token_remover.py | 10 | 
2 files changed, 13 insertions, 0 deletions
| diff --git a/bot/cogs/token_remover.py b/bot/cogs/token_remover.py index d55e079e9..493479df9 100644 --- a/bot/cogs/token_remover.py +++ b/bot/cogs/token_remover.py @@ -63,6 +63,9 @@ class TokenRemover(Cog):          See: https://discordapp.com/developers/docs/reference#snowflakes          """ +        if not msg.guild: +            return  # Ignore DMs; can't delete messages in there anyway. +          found_token = self.find_token_in_message(msg)          if found_token:              await self.take_action(msg, found_token) diff --git a/tests/bot/cogs/test_token_remover.py b/tests/bot/cogs/test_token_remover.py index a10124d2d..22c31d7b1 100644 --- a/tests/bot/cogs/test_token_remover.py +++ b/tests/bot/cogs/test_token_remover.py @@ -121,6 +121,16 @@ class TokenRemoverTests(unittest.IsolatedAsyncioTestCase):          find_token_in_message.assert_called_once_with(self.msg)          take_action.assert_not_awaited() +    @autospec(TokenRemover, "find_token_in_message") +    async def test_on_message_ignores_dms(self, find_token_in_message): +        """Shouldn't parse a message if it is a DM.""" +        cog = TokenRemover(self.bot) +        self.msg.guild = None + +        await cog.on_message(self.msg) + +        find_token_in_message.assert_not_called() +      @autospec("bot.cogs.token_remover", "TOKEN_RE")      def test_find_token_ignores_bot_messages(self, token_re):          """The token finder should ignore messages authored by bots.""" | 
