TODO Bot for Discord
📝 About the Bot
This Bot aims to provide a virtual TODO list inside your discord server. Instead of relying on commands for interacting with the bot, I tried my best to make the entire "user interface" with reactions. That way your users dont have to learn hundrets of new commands and how to use them.
🎬 Getting Started
After inviting the Bot to your server, run the command /settings set todochannel: #yourchannel
. This generates a new config and saves your todochannel. Your TODOS or tasks will then be posted in that channel.
🖥️ Commands
To view all the commands the bot supports, run the /help
command. If you want to get more specific information about a command run the command /help
with the command that you want information about as frist argument. So if you wanted to get information about the todo command, you would want to run the command like so: /help todo
.
Available Commands:
-
assign
[STAFF] Force assign someone to a task -
blacklist
[STAFF] Blacklist user(s) or channel(s) from bot usage. -
reminder
[STAFF] Create reminders and get notified -
settings
[STAFF] Viewand change the bot settings -
shorten
Shorten Links -
suggest
Suggest new features to be added into the bot -
tag
[STAFF] Create custom commands -
todo
[USER] Central todo command to create a new TODO or task -
tutorial
=> Get a quick tutorial on how to use the bot
🔐 Permissions
There are 2 permission levels: USER
and STAFF
. They are determined by roles.
To set the role, use the settings command like so:
(yes multiple roles are allowed)
To remove a role from the user of staffroles array just use the /settings remove userrole: | staffrole:
command
⌨️ Custom Commands / Tags
Tags are a way to essentially build your own custom commands. Let the bot learn new tags by using the /tag learn
command like so:
Delete a custom command by using the /tag unlearn
command followed by the name of your tag.
Placeholders
Placeholders are words that you can place inside your tags, that will be replaced with a certain value, when the custom command is run.
Available Placeholders:
+ => Will be rpelaced with the membercount of the current guild
+ => Will be replaced by the join position of the message author
+ => Will generate an embed with your tag message. Optional Parameters are BLUE , (make sure to include a space after the color tags) img.todo-bot.xyz/bliDnJn , img.todo-bot.xyz/bZLhbHl
+ => Will be replaced with the amount of processed tasks by the message author
+ => Will be replaced with the amount of submitted tasks by the message author
+ => Will tag the message author
+ => Will be replaced with the message author id
+ => Will be replaced with the message authors username, so in my case "MeerBiene"
+ => Will be replaced with the message authors tag, so in my case "MeerBiene#7060"
+ => Will be replaced with the guilds name where the message was sent
Notes:
-
All placeholders are ignorecase, so you can use them like
or
-
You can combine all the placeholders, so you can use the
placeholder within an embed
Variables
Variables are a way to store key-value pairs for your guild/server, so you can use them in your tags. This is useful if you have a discord for lets say a game server where the ip could change. To follow our example, we would create a variable called ip
and store the ip adress:
🔔 Reminders
Note:
- The lowest possible time is 1m (1 Minute)!
Mentions
If you want to mention certain users or roles when the reminder finished, just mention them in the reminders content when creating a new reminder.
Repeating reminders
For repeating reminders, simply set the loop
property to true when creating the reminder. Keep in mind that the lowest possible time for repeating reminders is 1 hour!
😇 Support the developer(s)
I do this project in my freetime and I host the bot for free. If you like the Bot and it is helpful to you, consider sponsoring me here on github. Your profile or organization will then be placed below.
Sponsors(0):
👥 Contributing:
All contributions are welcome! Wheter its just submitting bugs and/or requesting features, or contributing to the codebase directly via pull requests.
For information on the development setup, check out the contributing guidelines.
All Contributors will be listed below:
If you are reading this, I still need help with localization(language support), if you want to help, join the Support Discord and ping me.
Whether you need help with the bot, want to try the bot and see it in action, want to suggest new features, or just want to flame me for my bad code, join the support server with the button above.
You can also use Github Issues if you dont want to join the discord.
Theres also a /suggest
command. It takes in an image as first flag (if you want to attach one), or the -hide flag if you want to hide in which server the suggestion was sent. Either way, the suggestion will end up in the #suggestions channel in the support cord.
I also do regular votes on new features in there, so if you want to have a say in the features that will be implemented, you know what to do.