Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remind command #75

Open
Asterisk007 opened this issue Dec 22, 2021 · 5 comments
Open

Remind command #75

Asterisk007 opened this issue Dec 22, 2021 · 5 comments

Comments

@Asterisk007
Copy link
Contributor

!remind: Remind me about something important.

Initial feature set:
When someone posts a message, say !remind with a specified time. The bot will store that user's @ handle along with the original message link. Additional users can react to the bot's message (which will present a '⏰' reaction) to be added to the reminder. When the specified time is reached, the bot pings everyone who wanted to be reminded.

@Asterisk007
Copy link
Contributor Author

@Ramsfield @Axanimander @CodeMastr3 if any of you have something to add, please do. I'll be implementing this next week, and time willing, over the next few days.

@CodeMastr3
Copy link
Owner

The bot will store that user's @ handle along with the original message link. Additional users can react to the bot's message (which will present a '⏰' reaction)

By bot's message do you mean the message that triggered the bot to remember or will the bot actually reply something along the lines of "Reminding in blank"

Only a couple of things I have questions about. Will this basically have a little database stored that it checks everytime it boots up if it goes down?
How do you plan on having it "remember"? Because it can't just do a wait till command cause don't want to block future commands from happening until a reminder goes off.
Will this send a private message or in the server it was sent in? If private message have to make sure it says something along the lines that users that don't accept new dm's won't be able to get the message

@Asterisk007
Copy link
Contributor Author

@CodeMastr3

By bot's message do you mean the message that triggered the bot to remember or will the bot actually reply something along the lines of "Reminding in blank"

The latter.

Will this basically have a little database stored that it checks everytime it boots up if it goes down?

That's the general idea. We can just store a JSON reminder file server-side, unless you think there's a better solution.

How do you plan on having it "remember"? Because it can't just do a wait till command cause don't want to block future commands from happening until a reminder goes off.

My thought was to perhaps use a timer library and have the command spin up a separate thread. If the bot shuts down, it reads the reminder file and spins up a thread for each reminder. On that note, we'll also need some way to delete reminders.

Will this send a private message or in the server it was sent in? If private message have to make sure it says something along the lines that users that don't accept new dm's won't be able to get the message

My thought was to send it in the server channel that the reminder was created in.

@CodeMastr3
Copy link
Owner

Well I hope you draw inspiration from the watched message variable and the add message command in the roles cog

@Ramsfield
Copy link
Collaborator

We currently have a JSON nrdb that we should leverage to perform this.

Since this is non-performance demanding (minutes/hours should be fine, not seconds), we should store in the JSON dict and have a job run every 5-10 minutes that will check the DB for reminders to occur.

Before this actually gets developed, I would love to see what the schema for this looks like.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants