From 03453a8cad392cba49bad0fb5ce39f8b1234a45b Mon Sep 17 00:00:00 2001 From: Soheab_ <33902984+Soheab@users.noreply.github.com> Date: Mon, 17 Feb 2025 16:50:39 +0100 Subject: [PATCH] guild isn't always cached Co-Authored-By: owocado <24418520+owocado@users.noreply.github.com> Co-Authored-By: DA344 <108473820+DA-344@users.noreply.github.com> Co-Authored-By: dolfies <47677887+dolfies@users.noreply.github.com> --- discord/message.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/discord/message.py b/discord/message.py index b0e0e22b7..2e322fa32 100644 --- a/discord/message.py +++ b/discord/message.py @@ -2502,10 +2502,14 @@ class Message(PartialMessage, Hashable): def _handle_soundboard_sounds(self, data: List[SoundboardSoundPayload]): for sound in data: - guild = self._state._get_guild(utils._get_as_snowflake(sound, 'guild_id')) + guild_id = utils._get_as_snowflake(sound, 'guild_id') try: - if guild: - self.soundboard_sounds.append(SoundboardSound(state=self._state, data=sound, guild=guild)) + if guild_id: + self.soundboard_sounds.append( + SoundboardSound( + state=self._state, data=sound, guild=self._state._get_or_create_unavailable_guild(guild_id) + ) + ) else: self.soundboard_sounds.append(SoundboardDefaultSound(state=self._state, data=sound)) # type: ignore # EAFP except KeyError: