From 1367877d36872ae98e8375d6a9b76ab7dc1c991e Mon Sep 17 00:00:00 2001 From: Rapptz Date: Fri, 8 Sep 2017 21:28:45 -0400 Subject: [PATCH] Fix crashing for now when a category is created. A full implementation will come later. --- discord/guild.py | 5 +++-- discord/state.py | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/discord/guild.py b/discord/guild.py index 5d7cb134d..ed2860bd9 100644 --- a/discord/guild.py +++ b/discord/guild.py @@ -249,10 +249,11 @@ class Guild(Hashable): for c in channels: if c['type'] == ChannelType.text.value: channel = TextChannel(guild=self, data=c, state=self._state) - else: + self._add_channel(channel) + elif c['type'] == ChannelType.voice.value: channel = VoiceChannel(guild=self, data=c, state=self._state) + self._add_channel(channel) - self._add_channel(channel) @property def channels(self): diff --git a/discord/state.py b/discord/state.py index 0511b7545..c470d11cd 100644 --- a/discord/state.py +++ b/discord/state.py @@ -496,6 +496,10 @@ class ConnectionState: guild_id = utils._get_as_snowflake(data, 'guild_id') guild = self._get_guild(guild_id) if guild is not None: + if factory is None: + log.warning('CHANNEL_CREATE referencing an unknown channel type %s. Discarding.', data['type']) + return + channel = factory(guild=guild, state=self, data=data) guild._add_channel(channel) self.dispatch('guild_channel_create', channel)