A simple Discord bot for scheduling reminders.
You can test the bot here.
The bot needs to have permissions to send messages as well as both bot
and applications.commands
scopes.
token
is your Discord bot token.
scheduleInterval
will determine how often the bot checks for reminders due to be sent. By default, this is set to 60 seconds.
-
Create a Discord bot in the Discord Developer Portal
-
Make a copy of config.json.example and fill in your bot token.
-
Build the Docker image with
docker build --tag reminder-bot .
-
Create a Docker volume to persist data
docker volume create --name reminder-data
-
Run the Docker image with
docker run -d -v reminder-data:/usr/src/reminder-bot/objectbox --restart always --name reminder-bot reminder-bot
-
Grab the invite link from stdout or get it below.
https://discord.com/api/oauth2/authorize?client_id={BOT ID}&permissions=2048&scope=bot%20applications.commands
(Replace {BOT ID}
with your Bot ID)
All inputs must be UTC, but outputs will be formated by Discord to your local time.
Any common format should work, excluding those that are ambiguous, i.e. 12/10/2022 will not work.
Prefer
yyyy-mm-dd [hh:mm:ss]
(Without a time it will default to midnight.)
Dates will be interpreted as UTC by default.
You can specify the time zone at the end of the time with the following format.
-hhmm
or+hhmm
e.g. +0200
would be UTC + 2
You can also use the following format to specify a time in relation to the current time.
in x <s|min|h|d|w|mon|y>
s = seconds
min = minutes
h = hours
d = days
w = weeks
mon = months
y = years
(You can also write seconds, minutes etc., that will still match the correct one.)
- github.com/objectbox/objectbox-go
- github.com/bwmarrin/discordgo
- github.com/araddon/dateparse
- github.com/spf13/viper
This project is licensed under the GNU GPLv3 License - see the LICENSE file for details.