Skip to content

Commit cbe9944

Browse files
authored
fix: Unbound raw reference in parse_message_update (#2905)
2 parents 4e853f8 + 754c90c commit cbe9944

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ These changes are available on the `master` branch, but have not yet been releas
2121

2222
- Manage silence for new SSRC with existing user_id.
2323
([#2808](https://github.com/Pycord-Development/pycord/pull/2808))
24+
- Unbound `raw` reference in `parse_message_update` causing errors on message updates.
25+
([#2905](https://github.com/Pycord-Development/pycord/pull/2905))
2426

2527
### Removed
2628

discord/state.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -604,7 +604,6 @@ async def query_members(
604604
raise
605605

606606
async def _delay_ready(self) -> None:
607-
608607
if self.cache_app_emojis and self.application_id:
609608
data = await self.http.get_all_application_emojis(self.application_id)
610609
for e in data.get("items", []):
@@ -677,7 +676,9 @@ def parse_ready(self, data) -> None:
677676
else:
678677
self.application_id = utils._get_as_snowflake(application, "id")
679678
# flags will always be present here
680-
self.application_flags = ApplicationFlags._from_value(application["flags"]) # type: ignore
679+
self.application_flags = ApplicationFlags._from_value(
680+
application["flags"]
681+
) # type: ignore
681682

682683
for guild_data in data["guilds"]:
683684
self._add_guild_from_data(guild_data)
@@ -775,11 +776,11 @@ def parse_message_delete_bulk(self, data) -> None:
775776
self._messages.remove(msg) # type: ignore
776777

777778
def parse_message_update(self, data) -> None:
778-
old_message = self._get_message(raw.message_id)
779-
if old_message is not None:
780-
self._messages.remove(old_message)
779+
old_message = self._get_message(int(data["id"]))
781780
channel, _ = self._get_guild_channel(data)
782781
message = Message(channel=channel, data=data, state=self)
782+
if old_message is not None:
783+
self._messages.remove(old_message)
783784
self._messages.append(message)
784785
raw = RawMessageUpdateEvent(data, message)
785786
self.dispatch("raw_message_edit", raw)
@@ -1376,7 +1377,9 @@ def parse_guild_stickers_update(self, data) -> None:
13761377
for emoji in before_stickers:
13771378
self._stickers.pop(emoji.id, None)
13781379
# guild won't be None here
1379-
guild.stickers = tuple(map(lambda d: self.store_sticker(guild, d), data["stickers"])) # type: ignore
1380+
guild.stickers = tuple(
1381+
map(lambda d: self.store_sticker(guild, d), data["stickers"])
1382+
) # type: ignore
13801383
self.dispatch("guild_stickers_update", guild, before_stickers, guild.stickers)
13811384

13821385
def _get_create_guild(self, data):
@@ -1581,7 +1584,10 @@ def parse_guild_members_chunk(self, data) -> None:
15811584
presences = data.get("presences", [])
15821585

15831586
# the guild won't be None here
1584-
members = [Member(guild=guild, data=member, state=self) for member in data.get("members", [])] # type: ignore
1587+
members = [
1588+
Member(guild=guild, data=member, state=self)
1589+
for member in data.get("members", [])
1590+
] # type: ignore
15851591
_log.debug(
15861592
"Processed a chunk for %s members in guild ID %s.", len(members), guild_id
15871593
)

0 commit comments

Comments
 (0)