@@ -67,6 +67,7 @@ def __init__(
6767 self .wait_tasks = []
6868 self .close_task = None
6969 self .auto_close_task = None
70+ self .auto_close_cancelled = False # Track if auto-close was explicitly cancelled
7071 self ._cancelled = False
7172 self ._dm_menu_msg_id = None
7273 self ._dm_menu_channel_id = None
@@ -1078,6 +1079,7 @@ async def close(
10781079 self .auto_close_task = task
10791080 else :
10801081 self .close_task = task
1082+ self .auto_close_cancelled = False # Reset flag when manually closing
10811083 else :
10821084 await self ._close (closer , silent , delete_channel , message )
10831085
@@ -1278,6 +1280,7 @@ async def cancel_closure(self, auto_close: bool = False, all: bool = False) -> N
12781280 if self .auto_close_task is not None and (auto_close or all ):
12791281 self .auto_close_task .cancel ()
12801282 self .auto_close_task = None
1283+ self .auto_close_cancelled = True # Mark auto-close as explicitly cancelled
12811284
12821285 to_update = self .bot .config ["closures" ].pop (str (self .id ), None )
12831286 if to_update is not None :
@@ -1810,7 +1813,9 @@ async def send(
18101813 return await destination .send (embed = embed )
18111814
18121815 if not note and from_mod :
1813- self .bot .loop .create_task (self ._restart_close_timer ()) # Start or restart thread auto close
1816+ # Only restart auto-close if it wasn't explicitly cancelled
1817+ if not self .auto_close_cancelled :
1818+ self .bot .loop .create_task (self ._restart_close_timer ()) # Start or restart thread auto close
18141819 elif not note and not from_mod :
18151820 await self .cancel_closure (all = True )
18161821
0 commit comments