aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--discord/guild.py12
1 files changed, 3 insertions, 9 deletions
diff --git a/discord/guild.py b/discord/guild.py
index b5f8977c..8470f1bb 100644
--- a/discord/guild.py
+++ b/discord/guild.py
@@ -320,15 +320,9 @@ class Guild(Hashable):
if 'channels' in data:
channels = data['channels']
for c in channels:
- c_type = c['type']
- if c_type in (ChannelType.text.value, ChannelType.news.value):
- self._add_channel(TextChannel(guild=self, data=c, state=self._state))
- elif c_type == ChannelType.voice.value:
- self._add_channel(VoiceChannel(guild=self, data=c, state=self._state))
- elif c_type == ChannelType.category.value:
- self._add_channel(CategoryChannel(guild=self, data=c, state=self._state))
- elif c_type == ChannelType.store.value:
- self._add_channel(StoreChannel(guild=self, data=c, state=self._state))
+ factory, ch_type = _channel_factory(c['type'])
+ if factory:
+ self._add_channel(factory(guild=self, data=c, state=self._state))
@property
def channels(self):