Commit f79ba1a 1 parent 1e90e82 commit f79ba1a Copy full SHA for f79ba1a
File tree 2 files changed +9
-5
lines changed
2 files changed +9
-5
lines changed 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 32
32
33
33
import asyncio
34
34
import base64
35
- import collections
36
35
import contextlib
37
36
import copy
38
37
import datetime
@@ -1565,8 +1564,8 @@ async def delete_messages(
1565
1564
) -> None :
1566
1565
route = routes .POST_DELETE_CHANNEL_MESSAGES_BULK .compile (channel = channel )
1567
1566
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 ]] = []
1570
1569
1571
1570
if isinstance (messages , typing .Iterable ): # Syntactic sugar. Allows to use iterables
1572
1571
pending .extend (messages )
@@ -1594,15 +1593,18 @@ async def delete_messages(
1594
1593
# I am just gonna invoke these sequentially instead.
1595
1594
try :
1596
1595
if len (pending ) == 1 :
1597
- message = pending . popleft ()
1596
+ message = pending [ 0 ]
1598
1597
await self .delete_message (channel , message )
1599
1598
deleted .append (message )
1599
+
1600
1600
else :
1601
1601
body = data_binding .JSONObjectBuilder ()
1602
- chunk = [ pending . popleft () for _ in range ( min ( 100 , len ( pending ))) ]
1602
+ chunk = pending [: 100 ]
1603
1603
body .put_snowflake_array ("messages" , chunk )
1604
1604
await self ._request (route , json = body )
1605
1605
deleted += chunk
1606
+
1607
+ pending = pending [100 :]
1606
1608
except Exception as ex :
1607
1609
raise errors .BulkDeleteError (deleted , pending ) from ex
1608
1610
You can’t perform that action at this time.
0 commit comments