diff options
| author | Rapptz <[email protected]> | 2019-06-29 19:41:03 -0400 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2019-06-29 19:41:38 -0400 |
| commit | 2c16e43e8a98ac65e849b13bfda7f5fd36c5045b (patch) | |
| tree | 36747fd7b744c56a66e8a33ca10024fbf78a5577 | |
| parent | [commands] Properly raise the correct exception for owner_ids (diff) | |
| download | discord.py-2c16e43e8a98ac65e849b13bfda7f5fd36c5045b.tar.xz discord.py-2c16e43e8a98ac65e849b13bfda7f5fd36c5045b.zip | |
Fix regression with unresolved channels due to reordering.
Channels are meant to fallback to Object if the message is out of
order. Somewhere along the commit line this got removed despite the
issue still existing.
| -rw-r--r-- | discord/state.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/discord/state.py b/discord/state.py index f2ffabb2..a974b163 100644 --- a/discord/state.py +++ b/discord/state.py @@ -47,6 +47,7 @@ from .role import Role from .enums import ChannelType, try_enum, Status, Enum from . import utils from .embeds import Embed +from .object import Object class ListenerType(Enum): chunk = 0 @@ -260,15 +261,16 @@ class ConnectionState: yield self.receive_chunk(guild.id) def _get_guild_channel(self, data): + channel_id = int(data['channel_id']) try: guild = self._get_guild(int(data['guild_id'])) except KeyError: - channel = self.get_channel(int(data['channel_id'])) + channel = self.get_channel(channel_id) guild = None else: - channel = guild and guild.get_channel(int(data['channel_id'])) + channel = guild and guild.get_channel(channel_id) - return channel, guild + return channel or Object(id=channel_id), guild async def request_offline_members(self, guilds): # get all the chunks |