Browse Source

Fix AuditLogEntry.target being None for invites

Fix #9336
pull/9367/head
Rapptz 2 years ago
parent
commit
cb6170a724
  1. 12
      discord/audit_logs.py

12
discord/audit_logs.py

@ -733,12 +733,11 @@ class AuditLogEntry(Hashable):
if self.action.target_type is None:
return None
if self._target_id is None:
return None
try:
converter = getattr(self, '_convert_target_' + self.action.target_type)
except AttributeError:
if self._target_id is None:
return None
return Object(id=self._target_id)
else:
return converter(self._target_id)
@ -771,7 +770,12 @@ class AuditLogEntry(Hashable):
def _convert_target_channel(self, target_id: int) -> Union[abc.GuildChannel, Object]:
return self.guild.get_channel(target_id) or Object(id=target_id)
def _convert_target_user(self, target_id: int) -> Union[Member, User, Object]:
def _convert_target_user(self, target_id: Optional[int]) -> Optional[Union[Member, User, Object]]:
# For some reason the member_disconnect and member_move action types
# do not have a non-null target_id so safeguard against that
if target_id is None:
return None
return self._get_member(target_id) or Object(id=target_id, type=Member)
def _convert_target_role(self, target_id: int) -> Union[Role, Object]:

Loading…
Cancel
Save