File tree Expand file tree Collapse file tree 3 files changed +22
-0
lines changed Expand file tree Collapse file tree 3 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -195,6 +195,9 @@ async def _purge_helper(
195195 count = 0
196196 await asyncio .sleep (1 )
197197
198+ if not message .type .is_deletable ():
199+ continue
200+
198201 if not check (message ):
199202 continue
200203
Original file line number Diff line number Diff line change @@ -279,6 +279,16 @@ class MessageType(Enum):
279279 poll_result = 46
280280 emoji_added = 63
281281
282+ def is_deletable (self ) -> bool :
283+ return self not in {
284+ MessageType .recipient_add ,
285+ MessageType .recipient_remove ,
286+ MessageType .call ,
287+ MessageType .channel_name_change ,
288+ MessageType .channel_icon_change ,
289+ MessageType .thread_starter_message ,
290+ }
291+
282292
283293class SpeakingState (Enum ):
284294 none = 0
Original file line number Diff line number Diff line change @@ -1732,6 +1732,15 @@ of :class:`enum.Enum`.
17321732
17331733 Checks if two messages are not equal.
17341734
1735+ .. method :: is_deletable()
1736+
1737+ Checks if the message type is deletable, as some system messages cannot be deleted.
1738+
1739+ .. versionadded :: 2.7
1740+
1741+ :return: A boolean denoting if the message type is deletable.
1742+ :rtype: :class: `bool `
1743+
17351744 .. attribute :: default
17361745
17371746 The default message type. This is the same as regular messages.
You can’t perform that action at this time.
0 commit comments