-
-
Notifications
You must be signed in to change notification settings - Fork 724
Open
Labels
a: utilityRelated to utility commands: (bot, eval, extensions, jams, reminders, snekbox, utils)Related to utility commands: (bot, eval, extensions, jams, reminders, snekbox, utils)p: 2 - normalNormal PriorityNormal Prioritys: planningDiscussing detailsDiscussing detailst: bugSomething isn't workingSomething isn't working
Description
Currently a reminder will be ignored+deleted if the bot cannot get the channel it was meant to reply in:
bot/bot/exts/utils/reminders.py
Lines 112 to 124 in 324cb65
def ensure_valid_reminder(self, reminder: dict) -> tuple[bool, discord.TextChannel]: | |
"""Ensure reminder channel can be fetched otherwise delete the reminder.""" | |
channel = self.bot.get_channel(reminder["channel_id"]) | |
is_valid = True | |
if not channel: | |
is_valid = False | |
log.info( | |
f"Reminder {reminder['id']} invalid: " | |
f"Channel {reminder['channel_id']}={channel}." | |
) | |
scheduling.create_task(self.bot.api_client.delete(f"bot/reminders/{reminder['id']}")) | |
return is_valid, channel |
This could happen if the remind command was run in a thread, or a channel that was deleted.
There are a couple of options here:
- Don't allow the command in threads, or always send the reminder to e.g.
#bot-commands
- Send the reminder to e.g.
#bot-commands
if it failed to send. Is it ok to send reminders that may have been run in a private channel to a public channel though? - Try to DM the reminder to the user(s) - DMs may not always be open though
- Just tell them the reminder failed to send in
#bot-commands
- avoids ever leaking anything and is simple, but they don't get the contents.
This is an edge case so I think whatever the solution it should be as simple as possible, just something better than not reminding the user(s) at all.
hedyhli
Metadata
Metadata
Assignees
Labels
a: utilityRelated to utility commands: (bot, eval, extensions, jams, reminders, snekbox, utils)Related to utility commands: (bot, eval, extensions, jams, reminders, snekbox, utils)p: 2 - normalNormal PriorityNormal Prioritys: planningDiscussing detailsDiscussing detailst: bugSomething isn't workingSomething isn't working