Skip to content

aotlacan/TaskCord-Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Discord To-Do Bot

Collaborative to-do list Discord bot built with discord.py. Every server gets a single shared task board message - members add items, check them off (with automatic strikethrough text and checkboxes), and the bot keeps the board tidy by deleting command messages after a second.

Setup

  1. Create a bot user

    • Visit the Discord Developer Portal, create an application, add a bot, and copy its token.
    • In the Bot tab, enable the Message Content Intent so the prefix commands work.
    • Invite the bot with Send Messages, Embed Links, Read Message History, and Manage Messages permissions (the last one lets the bot clean up user commands).
  2. Clone & install

    python -m venv .venv
    .venv\Scripts\activate  # Windows
    pip install -r requirements.txt
  3. Configure environment

    • Duplicate .env.example and rename it .env.
    • Paste your token: DISCORD_TOKEN=your_discord_bot_token.
  4. Run the bot

    python bot.py

    The bot stores boards in data/todos.json. The file is created automatically on first run.

Commands

All commands use the !todo prefix and are server-only.

Command Description
!todo Show (or move) the board embed into the current channel.
!todo add <description> Add a new task and credit the author.
!todo check <task_id> Mark a task complete (records who completed it).
!todo uncheck <task_id> Re-open a completed task.
!todo remove <task_id> Delete a task from the board.
!todo clear Wipe the entire board.
!todo help DM the command reference to the requester.
!todo commands Post the command reference in the channel (auto-deletes).

Each task shows an ID, so !todo check 2 closes the task with ID 2.

Behavior Notes

  • The bot keeps a single embed per server that always reflects the current board. Running a command in a new channel moves the board message there.
  • User command messages are deleted after one second to keep channels clean.
  • Each task line shows who created it, and once completed the embed shows who checked it off.

Privacy & Security

  • Keep your bot token in .env only; the included .gitignore prevents it from being committed.
  • Treat the invite link like a password—only share it with servers you control.
  • If the token ever leaks, rotate it in the Discord Developer Portal immediately and update your .env.

Ideas For Enhancements

  • Slash commands & buttons: Move to Discord's interaction-based workflow with slash commands and interactive components for a richer UX.
  • User / channel scoping: Allow personal boards or per-channel boards in addition to server-wide tasks.
  • Reminders & due dates: Let members set optional due dates and DM reminders.
  • Task metadata: Add tags, categories, or task owners to keep busy servers organized.
  • Automations: Mirror completed tasks into a "done" channel, or hook into webhooks for external integrations.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages