Browse Source

Add MessageType.is_deletable to fix Messageable.purge failing

Fix #10319
pull/10322/head
Rapptz 3 weeks ago
parent
commit
830858cde8
  1. 3
      discord/abc.py
  2. 10
      discord/enums.py
  3. 9
      docs/api.rst

3
discord/abc.py

@ -195,6 +195,9 @@ async def _purge_helper(
count = 0
await asyncio.sleep(1)
if not message.type.is_deletable():
continue
if not check(message):
continue

10
discord/enums.py

@ -279,6 +279,16 @@ class MessageType(Enum):
poll_result = 46
emoji_added = 63
def is_deletable(self) -> bool:
return self not in {
MessageType.recipient_add,
MessageType.recipient_remove,
MessageType.call,
MessageType.channel_name_change,
MessageType.channel_icon_change,
MessageType.thread_starter_message,
}
class SpeakingState(Enum):
none = 0

9
docs/api.rst

@ -1732,6 +1732,15 @@ of :class:`enum.Enum`.
Checks if two messages are not equal.
.. method:: is_deletable()
Checks if the message type is deletable, as some system messages cannot be deleted.
.. versionadded:: 2.7
:return: A boolean denoting if the message type is deletable.
:rtype: :class:`bool`
.. attribute:: default
The default message type. This is the same as regular messages.

Loading…
Cancel
Save