@@ -272,6 +272,7 @@ async def edit_original_message(
272
272
files : List [File ] = MISSING ,
273
273
view : Optional [View ] = MISSING ,
274
274
allowed_mentions : Optional [AllowedMentions ] = None ,
275
+ delete_after : Optional [float ] = None ,
275
276
) -> InteractionMessage :
276
277
"""|coro|
277
278
@@ -303,6 +304,10 @@ async def edit_original_message(
303
304
view: Optional[:class:`~discord.ui.View`]
304
305
The updated view to update this message with. If ``None`` is passed then
305
306
the view is removed.
307
+ delete_after: Optional[:class:`float`]
308
+ If provided, the number of seconds to wait in the background
309
+ before deleting the message we just edited. If the deletion fails,
310
+ then it is silently ignored.
306
311
307
312
Raises
308
313
-------
@@ -346,6 +351,10 @@ async def edit_original_message(
346
351
message = InteractionMessage (state = self ._state , channel = self .channel , data = data ) # type: ignore
347
352
if view and not view .is_finished ():
348
353
self ._state .store_view (view , message .id )
354
+
355
+ if delete_after is not None :
356
+ await self .delete_original_message (delay = delete_after )
357
+
349
358
return message
350
359
351
360
async def delete_original_message (self , * , delay : Optional [float ] = None ) -> None :
@@ -611,10 +620,7 @@ async def send_message(
611
620
612
621
self ._responded = True
613
622
if delete_after is not None :
614
- async def delete ():
615
- await asyncio .sleep (delete_after )
616
- await self ._parent .delete_original_message ()
617
- asyncio .ensure_future (delete (), loop = self ._parent ._state .loop )
623
+ await self ._parent .delete_original_message (delay = delete_after )
618
624
return self ._parent
619
625
620
626
async def edit_message (
@@ -625,6 +631,7 @@ async def edit_message(
625
631
embeds : List [Embed ] = MISSING ,
626
632
attachments : List [Attachment ] = MISSING ,
627
633
view : Optional [View ] = MISSING ,
634
+ delete_after : Optional [float ] = None
628
635
) -> None :
629
636
"""|coro|
630
637
@@ -646,6 +653,10 @@ async def edit_message(
646
653
view: Optional[:class:`~discord.ui.View`]
647
654
The updated view to update this message with. If ``None`` is passed then
648
655
the view is removed.
656
+ delete_after: Optional[:class:`float`]
657
+ If provided, the number of seconds to wait in the background
658
+ before deleting the message we just edited. If the deletion fails,
659
+ then it is silently ignored.
649
660
650
661
Raises
651
662
-------
@@ -708,6 +719,8 @@ async def edit_message(
708
719
state .store_view (view , message_id )
709
720
710
721
self ._responded = True
722
+ if delete_after is not None :
723
+ await self ._parent .delete_original_message (delay = delete_after )
711
724
712
725
async def send_autocomplete_result (
713
726
self ,
@@ -800,6 +813,7 @@ async def edit(
800
813
files : List [File ] = MISSING ,
801
814
view : Optional [View ] = MISSING ,
802
815
allowed_mentions : Optional [AllowedMentions ] = None ,
816
+ delete_after : Optional [float ] = None ,
803
817
) -> InteractionMessage :
804
818
"""|coro|
805
819
@@ -825,6 +839,10 @@ async def edit(
825
839
view: Optional[:class:`~discord.ui.View`]
826
840
The updated view to update this message with. If ``None`` is passed then
827
841
the view is removed.
842
+ delete_after: Optional[:class:`float`]
843
+ If provided, the number of seconds to wait in the background
844
+ before deleting the message we just edited. If the deletion fails,
845
+ then it is silently ignored.
828
846
829
847
Raises
830
848
-------
@@ -850,6 +868,7 @@ async def edit(
850
868
files = files ,
851
869
view = view ,
852
870
allowed_mentions = allowed_mentions ,
871
+ delete_after = delete_after
853
872
)
854
873
855
874
async def delete (self , * , delay : Optional [float ] = None ) -> None :
0 commit comments