@@ -42,21 +42,18 @@ def ready(self, flag):
42
42
if flag is True :
43
43
self .ready_event .set ()
44
44
45
- async def _close_after (self , after , ** kwargs ):
46
- await asyncio .sleep (after )
47
- kwargs ['scheduled' ] = True
48
- await self .close (** kwargs )
45
+ async def _close_after (self , closer , silent , delete_channel , message ):
46
+ return self .bot .loop .create_task (self ._close (closer , silent , delete_channel , message , True ))
49
47
50
- async def close (self , * , closer , after = 0 , silent = False , delete_channel = True , message = None , scheduled = False ):
48
+ async def close (self , * , closer , after = 0 , silent = False , delete_channel = True , message = None ):
51
49
'''Close a thread now or after a set time in seconds'''
52
- if self .close_task is not None and not self .close_task .cancelled ():
53
- if not scheduled or after > 0 :
54
- self .close_task .cancel ()
55
50
56
51
if after > 0 :
57
- self .close_task = asyncio .create_task (self ._close_after (after , closer = closer , silent = silent , message = message ))
58
- return
52
+ return await self .bot .loop .call_later (after , silent , delete_channel , message )
53
+
54
+ return await self ._close (closer , silent , delete_channel , message )
59
55
56
+ async def _close (self , closer , silent = False , delete_channel = True , message = None , scheduled = False ):
60
57
del self .manager .cache [self .id ]
61
58
if str (self .id ) in self .bot .config .subscriptions :
62
59
del self .bot .config .subscriptions [str (self .id )]
@@ -73,7 +70,8 @@ async def close(self, *, closer, after=0, silent=False, delete_channel=True, mes
73
70
})
74
71
75
72
if isinstance (log_data , str ):
76
- print (log_data ) # errored somehow on server
73
+ print (log_data ) # errored somehow on server
74
+ return
77
75
78
76
if self .bot .selfhosted :
79
77
log_url = f'{ self .bot .config .log_url } /logs/{ log_data ["key" ]} '
0 commit comments