fix(dashboard): Handle interaction timeout.
This commit is contained in:
@@ -185,23 +185,28 @@ class GuildDashboard(BasePager):
|
|||||||
# ----- UI Control -----
|
# ----- UI Control -----
|
||||||
async def reload(self, *args):
|
async def reload(self, *args):
|
||||||
self._cached_pages.clear()
|
self._cached_pages.clear()
|
||||||
if not self._original.is_expired():
|
if self._original and not self._original.is_expired():
|
||||||
await self.redraw()
|
await self.redraw()
|
||||||
|
else:
|
||||||
|
await self.close()
|
||||||
|
|
||||||
async def refresh(self):
|
async def refresh(self):
|
||||||
await super().refresh()
|
await super().refresh()
|
||||||
await self.config_menu_refresh()
|
await self.config_menu_refresh()
|
||||||
self._layout = [
|
self.set_layout(
|
||||||
(self.config_menu,),
|
(self.config_menu,),
|
||||||
(self.prev_page_button, self.next_page_button)
|
(self.prev_page_button, self.next_page_button)
|
||||||
]
|
)
|
||||||
|
|
||||||
async def redraw(self, *args):
|
async def redraw(self, *args):
|
||||||
await self.refresh()
|
await self.refresh()
|
||||||
await self._original.edit_original_response(
|
if self._original and not self._original.is_expired():
|
||||||
**self.current_page.edit_args,
|
await self._original.edit_original_response(
|
||||||
view=self
|
**self.current_page.edit_args,
|
||||||
)
|
view=self
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
await self.close()
|
||||||
|
|
||||||
async def run(self, interaction: discord.Interaction):
|
async def run(self, interaction: discord.Interaction):
|
||||||
await self.refresh()
|
await self.refresh()
|
||||||
|
|||||||
Reference in New Issue
Block a user