diff options
Diffstat (limited to '')
| -rw-r--r-- | bot/exts/help_channels/_cog.py | 17 | 
1 files changed, 11 insertions, 6 deletions
| diff --git a/bot/exts/help_channels/_cog.py b/bot/exts/help_channels/_cog.py index cfc9cf477..ecffc59fd 100644 --- a/bot/exts/help_channels/_cog.py +++ b/bot/exts/help_channels/_cog.py @@ -125,14 +125,19 @@ class HelpChannels(commands.Cog):          """          log.info(f"Channel #{message.channel} was claimed by `{message.author.id}`.")          await self.move_to_in_use(message.channel) -        await self._handle_role_change(message.author, message.author.add_roles) -        await _message.pin(message) +        # Handle odd edge case of `message.author` being a `discord.User` (see bot#1839) +        if isinstance(message.author, discord.User): +            log.warning("`message.author` is a `discord.User` so not handling role change or sending DM.") +        else: +            await self._handle_role_change(message.author, message.author.add_roles) -        try: -            await _message.dm_on_open(message) -        except Exception as e: -            log.warning("Error occurred while sending DM:", exc_info=e) +            try: +                await _message.dm_on_open(message) +            except Exception as e: +                log.warning("Error occurred while sending DM:", exc_info=e) + +        await _message.pin(message)          # Add user with channel for dormant check.          await _caches.claimants.set(message.channel.id, message.author.id) | 
