Fix issue with Client.purge_from not deleting the 101st message.

This commit is contained in:
Rapptz 2016-05-10 19:39:58 -04:00
parent 1f86a9b795
commit 1e175f2ab3

View File

@ -1039,7 +1039,7 @@ class Client:
The number of messages to search through. This is not the number The number of messages to search through. This is not the number
of messages that will be deleted, though it can be. of messages that will be deleted, though it can be.
check : predicate check : predicate
The function used to check if a function should be deleted. The function used to check if a message should be deleted.
It must take a :class:`Message` as its sole parameter. It must take a :class:`Message` as its sole parameter.
before : :class:`Message` before : :class:`Message`
The message before scanning for purging must be. The message before scanning for purging must be.
@ -1075,7 +1075,6 @@ class Client:
# more than 2 messages -> bulk delete # more than 2 messages -> bulk delete
to_delete = ret[-count:] to_delete = ret[-count:]
yield from self.delete_messages(to_delete) yield from self.delete_messages(to_delete)
yield from asyncio.sleep(1)
elif count == 1: elif count == 1:
# delete a single message # delete a single message
yield from self.delete_message(ret[-1]) yield from self.delete_message(ret[-1])
@ -1088,11 +1087,10 @@ class Client:
yield from self.delete_messages(to_delete) yield from self.delete_messages(to_delete)
count = 0 count = 0
yield from asyncio.sleep(1) yield from asyncio.sleep(1)
else:
# queue isn't full so just add it in there if check(msg):
if check(msg): count += 1
count += 1 ret.append(msg)
ret.append(msg)
@asyncio.coroutine @asyncio.coroutine
def edit_message(self, message, new_content): def edit_message(self, message, new_content):