From 40a460460445d2c23199da263389852c9b103f1c Mon Sep 17 00:00:00 2001 From: NCPlayz Date: Sun, 17 May 2020 02:57:32 +0100 Subject: [PATCH] use `_channel_factory` instead of manual checking in `Guild._sync` --- discord/guild.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/discord/guild.py b/discord/guild.py index b5f8977c6..8470f1bb5 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):