diff options
author | 2021-03-19 15:19:23 +0100 | |
---|---|---|
committer | 2021-03-19 15:19:23 +0100 | |
commit | 25b2e4c8412cceffe1ec528a9894586599f5f25d (patch) | |
tree | e3387dc9441445184947c88b214406a3b4f9aaa7 /bot/bot.py | |
parent | First pass of easy to produce errors (diff) | |
parent | Merge pull request #631 from python-discord/dependabot/pip/pillow-8.1.1 (diff) |
Merge branch 'main' into Handle-DMChannels
Diffstat (limited to 'bot/bot.py')
-rw-r--r-- | bot/bot.py | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -34,7 +34,7 @@ class Bot(commands.Bot): ) self._guild_available = asyncio.Event() self.redis_session = redis_session - + self.loop.create_task(self.check_channels()) self.loop.create_task(self.send_log(self.name, "Connected!")) @property @@ -71,6 +71,21 @@ class Bot(commands.Bot): else: await super().on_command_error(context, exception) + async def check_channels(self) -> None: + """Verifies that all channel constants refer to channels which exist.""" + await self.wait_until_guild_available() + + if constants.Client.debug: + log.info("Skipping Channels Check.") + return + + all_channels_ids = [channel.id for channel in self.get_all_channels()] + for name, channel_id in vars(constants.Channels).items(): + if name.startswith('_'): + continue + if channel_id not in all_channels_ids: + log.error(f'Channel "{name}" with ID {channel_id} missing') + async def send_log(self, title: str, details: str = None, *, icon: str = None) -> None: """Send an embed message to the devlog channel.""" await self.wait_until_guild_available() |