mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-04-21 00:07:51 +00:00
Check future state before setting result in View
This commit is contained in:
parent
d78e5d979d
commit
c21d12be5e
@ -250,7 +250,8 @@ class View:
|
||||
self._timeout_handler = loop.call_later(self.timeout, self.dispatch_timeout)
|
||||
|
||||
def dispatch_timeout(self):
|
||||
self._stopped.set_result(True)
|
||||
if not self._stopped.done():
|
||||
self._stopped.set_result(True)
|
||||
asyncio.create_task(self.on_timeout(), name=f'discord-ui-view-timeout-{self.id}')
|
||||
|
||||
def dispatch(self, state: Any, item: Item, interaction: Interaction):
|
||||
@ -282,7 +283,9 @@ class View:
|
||||
|
||||
This operation cannot be undone.
|
||||
"""
|
||||
self._stopped.set_result(False)
|
||||
if not self._stopped.done():
|
||||
self._stopped.set_result(False)
|
||||
|
||||
if self._timeout_handler:
|
||||
self._timeout_handler.cancel()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user