From b0748eff8093be79a4b38a1ec0e20663e8bfd89c Mon Sep 17 00:00:00 2001 From: Miolus <69853686+Miolus@users.noreply.github.com> Date: Mon, 20 Mar 2023 16:50:46 +0100 Subject: [PATCH 1/4] Fix hard crash when user_id is None Reflect https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object --- nextcord/state.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextcord/state.py b/nextcord/state.py index 0669f786cd..9315cdbb06 100644 --- a/nextcord/state.py +++ b/nextcord/state.py @@ -2307,7 +2307,7 @@ def parse_auto_moderation_action_execution(self, data) -> None: def parse_guild_audit_log_entry_create(self, data) -> None: guild = self._get_guild(int(data["guild_id"])) - user_id = int(data["user_id"]) + user_id = int(data["user_id"]) if data["user_id"] != None else data["user_id"] user = self.get_user(user_id) if guild is not None and user is not None: From 1f5a08b76bf2f6873cffb7f38645fbd5bd18ac9c Mon Sep 17 00:00:00 2001 From: Miolus <69853686+Miolus@users.noreply.github.com> Date: Mon, 20 Mar 2023 19:25:41 +0100 Subject: [PATCH 2/4] Change to literal key word Co-authored-by: toolifelesstocode --- nextcord/state.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextcord/state.py b/nextcord/state.py index 9315cdbb06..6c6b6a8d81 100644 --- a/nextcord/state.py +++ b/nextcord/state.py @@ -2307,7 +2307,7 @@ def parse_auto_moderation_action_execution(self, data) -> None: def parse_guild_audit_log_entry_create(self, data) -> None: guild = self._get_guild(int(data["guild_id"])) - user_id = int(data["user_id"]) if data["user_id"] != None else data["user_id"] + user_id = int(data["user_id"]) if data["user_id"] is not None else data["user_id"] user = self.get_user(user_id) if guild is not None and user is not None: From 160777f3ec47de70163b407ef9cb43b462094cb9 Mon Sep 17 00:00:00 2001 From: Oliver Wilkes Date: Wed, 5 Apr 2023 15:39:48 +0100 Subject: [PATCH 3/4] refactor(state): use data.get("user_id") for cheaner checks --- nextcord/state.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/nextcord/state.py b/nextcord/state.py index 6c6b6a8d81..2f6f46bb8d 100644 --- a/nextcord/state.py +++ b/nextcord/state.py @@ -2307,13 +2307,15 @@ def parse_auto_moderation_action_execution(self, data) -> None: def parse_guild_audit_log_entry_create(self, data) -> None: guild = self._get_guild(int(data["guild_id"])) - user_id = int(data["user_id"]) if data["user_id"] is not None else data["user_id"] + user_id = None if data.get("user_id") is None else int(data["user_id"]) user = self.get_user(user_id) + if user_id is None or user is None: + users = {} + else: + users = {user_id: user} if guild is not None and user is not None: - entry = AuditLogEntry( - auto_moderation_rules={}, users={user_id: user}, data=data, guild=guild - ) + entry = AuditLogEntry(auto_moderation_rules={}, users=users, data=data, guild=guild) self.dispatch("guild_audit_log_entry_create", entry) else: _log.debug( From 1194f34ac4865decb9c93430656ea4cee7956c0b Mon Sep 17 00:00:00 2001 From: Oliver Wilkes Date: Wed, 5 Apr 2023 15:43:32 +0100 Subject: [PATCH 4/4] fix(state): ignore if user is None in audit log entry --- nextcord/state.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextcord/state.py b/nextcord/state.py index 2f6f46bb8d..74ea933cbb 100644 --- a/nextcord/state.py +++ b/nextcord/state.py @@ -2314,7 +2314,7 @@ def parse_guild_audit_log_entry_create(self, data) -> None: else: users = {user_id: user} - if guild is not None and user is not None: + if guild is not None: entry = AuditLogEntry(auto_moderation_rules={}, users=users, data=data, guild=guild) self.dispatch("guild_audit_log_entry_create", entry) else: