From 0b7412de7029a2658c5b4a58a3c6f3b423401192 Mon Sep 17 00:00:00 2001 From: Leander Furumo Date: Fri, 23 Oct 2026 21:41:21 +0200 Subject: [PATCH] keep the paginator within its page range Co-Authored-By: Claude Opus 5.5 --- bot/src/cogs/utils/misc_utils.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/bot/src/cogs/utils/misc_utils.py b/bot/src/cogs/utils/misc_utils.py index d6ac84a..12e8e07 100644 --- a/bot/src/cogs/utils/misc_utils.py +++ b/bot/src/cogs/utils/misc_utils.py @@ -16,7 +16,7 @@ class Paginator: """ self.content = content - self.total_page_count = ceil(len(content) / 10) + self.total_page_count = max(ceil(len(content) / 10), 1) # Empty content still gets one empty page self.current_page = 1 def get_page(self, page: int) -> list | None: @@ -60,7 +60,8 @@ class Paginator: (list): The next page of the paginator """ - self.current_page += 1 + # Clamped, since a quick double click can arrive before the button is disabled + self.current_page = min(self.current_page + 1, self.total_page_count) return self.get_page(self.current_page) def previous_page(self) -> list | None: @@ -72,7 +73,7 @@ class Paginator: (list): The previous page of the paginator """ - self.current_page -= 1 + self.current_page = max(self.current_page - 1, 1) return self.get_page(self.current_page) def first_page(self) -> list | None: