From e994457c5b22f88b4e9510b67ea962a26f1dc905 Mon Sep 17 00:00:00 2001 From: cibere <71997063+cibere@users.noreply.github.com> Date: Thu, 24 Aug 2023 11:32:13 -0700 Subject: [PATCH] Fix Template.source_guild attempting to get from cache --- discord/template.py | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/discord/template.py b/discord/template.py index bf4ab834e..941056432 100644 --- a/discord/template.py +++ b/discord/template.py @@ -65,7 +65,11 @@ class _PartialTemplateState: def member_cache_flags(self): return self.__state.member_cache_flags - def store_emoji(self, guild, packet): + @property + def cache_guild_expressions(self): + return False + + def store_emoji(self, guild, packet) -> None: return None def _get_voice_client(self, id): @@ -142,18 +146,11 @@ class Template: self.created_at: Optional[datetime.datetime] = parse_time(data.get('created_at')) self.updated_at: Optional[datetime.datetime] = parse_time(data.get('updated_at')) - guild_id = int(data['source_guild_id']) - guild: Optional[Guild] = self._state._get_guild(guild_id) - - self.source_guild: Guild - if guild is None: - source_serialised = data['serialized_source_guild'] - source_serialised['id'] = guild_id - state = _PartialTemplateState(state=self._state) - # Guild expects a ConnectionState, we're passing a _PartialTemplateState - self.source_guild = Guild(data=source_serialised, state=state) # type: ignore - else: - self.source_guild = guild + source_serialised = data['serialized_source_guild'] + source_serialised['id'] = int(data['source_guild_id']) + state = _PartialTemplateState(state=self._state) + # Guild expects a ConnectionState, we're passing a _PartialTemplateState + self.source_guild = Guild(data=source_serialised, state=state) # type: ignore self.is_dirty: Optional[bool] = data.get('is_dirty', None)