Add support for message delete audit log action type.

This commit is contained in:
Rapptz
2017-05-04 04:26:11 -04:00
parent 663315f7ac
commit 86bfcdd129
3 changed files with 29 additions and 1 deletions

View File

@ -213,6 +213,13 @@ class AuditLogEntry:
if self.action is enums.AuditLogAction.member_prune:
# member prune has two keys with useful information
self.extra = type('_AuditLogProxy', (), {k: int(v) for k, v in self.extra.items()})()
elif self.action is enums.AuditLogAction.message_delete:
channel_id = int(self.extra['channel_id'])
elems = {
'count': int(self.extra['count']),
'channel': self.guild.get_channel(channel_id) or discord.Object(id=channel_id)
}
self.extra = type('_AuditLogProxy', (), elems)()
elif self.action.name.startswith('overwrite_'):
# the overwrite_ actions have a dict with some information
instance_id = int(self.extra['id'])
@ -317,3 +324,6 @@ class AuditLogEntry:
def _convert_target_emoji(self, target_id):
return self._state.get_emoji(target_id) or Object(id=target_id)
def _convert_target_message(self, target_id):
return self._get_member(target_id)

View File

@ -146,6 +146,7 @@ class AuditLogAction(Enum):
emoji_create = 60
emoji_update = 61
emoji_delete = 62
message_delete = 72
@property
def category(self):
@ -175,6 +176,7 @@ class AuditLogAction(Enum):
AuditLogAction.emoji_create: AuditLogActionCategory.create,
AuditLogAction.emoji_update: AuditLogActionCategory.update,
AuditLogAction.emoji_delete: AuditLogActionCategory.delete,
AuditLogAction.message_delete: AuditLogActionCategory.delete,
}
return lookup[self]
@ -197,7 +199,8 @@ class AuditLogAction(Enum):
return 'webhook'
elif v < 70:
return 'emoji'
elif v < 80:
return 'message'
def try_enum(cls, val):
"""A function that tries to turn the value into enum ``cls``.