File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ Fix ` BulkDeleteError ` returning incorrect values for ` messages_skipped `
2+ - This affected the ` __str__ ` and ` percentage_completion ` , which also returned incorrect values
Original file line number Diff line number Diff line change 3232
3333import asyncio
3434import base64
35- import collections
3635import contextlib
3736import copy
3837import datetime
@@ -1565,8 +1564,8 @@ async def delete_messages(
15651564 ) -> None :
15661565 route = routes .POST_DELETE_CHANNEL_MESSAGES_BULK .compile (channel = channel )
15671566
1568- pending : typing .Deque [snowflakes .SnowflakeishOr [messages_ .PartialMessage ]] = collections . deque ()
1569- deleted : typing .Deque [snowflakes .SnowflakeishOr [messages_ .PartialMessage ]] = collections . deque ()
1567+ pending : typing .List [snowflakes .SnowflakeishOr [messages_ .PartialMessage ]] = []
1568+ deleted : typing .List [snowflakes .SnowflakeishOr [messages_ .PartialMessage ]] = []
15701569
15711570 if isinstance (messages , typing .Iterable ): # Syntactic sugar. Allows to use iterables
15721571 pending .extend (messages )
@@ -1594,15 +1593,18 @@ async def delete_messages(
15941593 # I am just gonna invoke these sequentially instead.
15951594 try :
15961595 if len (pending ) == 1 :
1597- message = pending . popleft ()
1596+ message = pending [ 0 ]
15981597 await self .delete_message (channel , message )
15991598 deleted .append (message )
1599+
16001600 else :
16011601 body = data_binding .JSONObjectBuilder ()
1602- chunk = [ pending . popleft () for _ in range ( min ( 100 , len ( pending ))) ]
1602+ chunk = pending [: 100 ]
16031603 body .put_snowflake_array ("messages" , chunk )
16041604 await self ._request (route , json = body )
16051605 deleted += chunk
1606+
1607+ pending = pending [100 :]
16061608 except Exception as ex :
16071609 raise errors .BulkDeleteError (deleted , pending ) from ex
16081610
You can’t perform that action at this time.
0 commit comments