From fa3b934bef334c0d903cdbb8e6d6f9ebf978c1a8 Mon Sep 17 00:00:00 2001 From: Lumouille <144063653+Lumabots@users.noreply.github.com> Date: Wed, 3 Sep 2025 18:31:43 +0200 Subject: [PATCH 1/5] fix: unbound raw --- discord/state.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/discord/state.py b/discord/state.py index 9dbb3ee600..85fc60cb04 100644 --- a/discord/state.py +++ b/discord/state.py @@ -604,7 +604,6 @@ async def query_members( raise async def _delay_ready(self) -> None: - if self.cache_app_emojis and self.application_id: data = await self.http.get_all_application_emojis(self.application_id) for e in data.get("items", []): @@ -677,7 +676,9 @@ def parse_ready(self, data) -> None: else: self.application_id = utils._get_as_snowflake(application, "id") # flags will always be present here - self.application_flags = ApplicationFlags._from_value(application["flags"]) # type: ignore + self.application_flags = ApplicationFlags._from_value( + application["flags"] + ) # type: ignore for guild_data in data["guilds"]: self._add_guild_from_data(guild_data) @@ -775,7 +776,7 @@ def parse_message_delete_bulk(self, data) -> None: self._messages.remove(msg) # type: ignore def parse_message_update(self, data) -> None: - old_message = self._get_message(raw.message_id) + old_message = self._get_message(int(data["id"])) if old_message is not None: self._messages.remove(old_message) channel, _ = self._get_guild_channel(data) @@ -1376,7 +1377,9 @@ def parse_guild_stickers_update(self, data) -> None: for emoji in before_stickers: self._stickers.pop(emoji.id, None) # guild won't be None here - guild.stickers = tuple(map(lambda d: self.store_sticker(guild, d), data["stickers"])) # type: ignore + guild.stickers = tuple( + map(lambda d: self.store_sticker(guild, d), data["stickers"]) + ) # type: ignore self.dispatch("guild_stickers_update", guild, before_stickers, guild.stickers) def _get_create_guild(self, data): @@ -1581,7 +1584,10 @@ def parse_guild_members_chunk(self, data) -> None: presences = data.get("presences", []) # the guild won't be None here - members = [Member(guild=guild, data=member, state=self) for member in data.get("members", [])] # type: ignore + members = [ + Member(guild=guild, data=member, state=self) + for member in data.get("members", []) + ] # type: ignore _log.debug( "Processed a chunk for %s members in guild ID %s.", len(members), guild_id ) From d621675c9b09e28d748945ae024c87a377e7617f Mon Sep 17 00:00:00 2001 From: Lumouille <144063653+Lumabots@users.noreply.github.com> Date: Wed, 3 Sep 2025 18:44:06 +0200 Subject: [PATCH 2/5] Update state.py --- discord/state.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/discord/state.py b/discord/state.py index 85fc60cb04..56bdcbd684 100644 --- a/discord/state.py +++ b/discord/state.py @@ -777,10 +777,10 @@ def parse_message_delete_bulk(self, data) -> None: def parse_message_update(self, data) -> None: old_message = self._get_message(int(data["id"])) - if old_message is not None: - self._messages.remove(old_message) channel, _ = self._get_guild_channel(data) message = Message(channel=channel, data=data, state=self) + if old_message is not None: + self._messages.remove(old_message) self._messages.append(message) raw = RawMessageUpdateEvent(data, message) self.dispatch("raw_message_edit", raw) From ae62c881b117e08c806fa6618c8f542855eabaad Mon Sep 17 00:00:00 2001 From: Lumouille <144063653+Lumabots@users.noreply.github.com> Date: Wed, 3 Sep 2025 18:45:42 +0200 Subject: [PATCH 3/5] Update CHANGELOG.md --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1bec9cc0b9..ad37812164 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,7 +21,8 @@ These changes are available on the `master` branch, but have not yet been releas - Manage silence for new SSRC with existing user_id. ([#2808](https://github.com/Pycord-Development/pycord/pull/2808)) - +- Unbound `raw` reference in `parse_message_update` causing errors on message edits. + ([#2905](https://github.com/Pycord-Development/pycord/pull/2905)) ### Removed ## [2.7.0rc1] - 2025-08-30 From 949d6c26cdc0e51292c800a5d271dfad55a5c760 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 3 Sep 2025 16:46:16 +0000 Subject: [PATCH 4/5] style(pre-commit): auto fixes from pre-commit.com hooks --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad37812164..4250dc7ced 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ These changes are available on the `master` branch, but have not yet been releas ([#2808](https://github.com/Pycord-Development/pycord/pull/2808)) - Unbound `raw` reference in `parse_message_update` causing errors on message edits. ([#2905](https://github.com/Pycord-Development/pycord/pull/2905)) + ### Removed ## [2.7.0rc1] - 2025-08-30 From 754c90cb3a207d485924984b842f3b87a7006c0e Mon Sep 17 00:00:00 2001 From: Paillat Date: Wed, 3 Sep 2025 18:46:40 +0200 Subject: [PATCH 5/5] Update CHANGELOG.md Signed-off-by: Paillat --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4250dc7ced..c3f49fb70b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,7 +21,7 @@ These changes are available on the `master` branch, but have not yet been releas - Manage silence for new SSRC with existing user_id. ([#2808](https://github.com/Pycord-Development/pycord/pull/2808)) -- Unbound `raw` reference in `parse_message_update` causing errors on message edits. +- Unbound `raw` reference in `parse_message_update` causing errors on message updates. ([#2905](https://github.com/Pycord-Development/pycord/pull/2905)) ### Removed