From 7848ebb078f3bb5b58b9816bc70b039049aecc0e Mon Sep 17 00:00:00 2001 From: oliveman-au Date: Fri, 24 Apr 2026 15:21:09 +1000 Subject: [PATCH 1/2] Fix AttributeError when reminder jump_url is None --- bot/exts/utils/reminders.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/bot/exts/utils/reminders.py b/bot/exts/utils/reminders.py index 1b386ec000..e9f6b29e89 100644 --- a/bot/exts/utils/reminders.py +++ b/bot/exts/utils/reminders.py @@ -383,11 +383,15 @@ async def send_reminder(self, reminder: dict, expected_time: time.Timestamp | No mentionable.mention async for mentionable in self.get_mentionables(reminder["mentions"]) ]) - jump_url = reminder.get("jump_url") - embed.description += f"\n[Jump back to when you created the reminder]({jump_url})" - partial_message = channel.get_partial_message(int(jump_url.split("/")[-1])) + jump_url = reminder.get("jump_url") or "" + if jump_url: + embed.description += f"\n[Jump back to when you created the reminder]({jump_url})" + partial_message = channel.get_partial_message(int(jump_url.split("/")[-1])) if jump_url else None try: - await partial_message.reply(content=f"{additional_mentions}", embed=embed) + if partial_message: + await partial_message.reply(content=f"{additional_mentions}", embed=embed) + else: + await channel.send(content=f"<@{reminder['author']}> {additional_mentions}", embed=embed) except discord.HTTPException as e: log.info( f"There was an error when trying to reply to a reminder invocation message, {e}, " From 0e6bc792c1757a6606dd4c85f86549838dbe2aca Mon Sep 17 00:00:00 2001 From: oliveman-au Date: Fri, 24 Apr 2026 15:41:38 +1000 Subject: [PATCH 2/2] Fix off-by-one error in MAXIMUM_REMINDERS check --- bot/exts/utils/reminders.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bot/exts/utils/reminders.py b/bot/exts/utils/reminders.py index e9f6b29e89..35c116b8cc 100644 --- a/bot/exts/utils/reminders.py +++ b/bot/exts/utils/reminders.py @@ -479,7 +479,7 @@ async def new_reminder( # Let's limit this, so we don't get 10 000 # reminders from kip or something like that :P - if len(active_reminders) > MAXIMUM_REMINDERS: + if len(active_reminders) >= MAXIMUM_REMINDERS: await send_denial(ctx, "You have too many active reminders!") return