Skip to content

Latest commit

 

History

32 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuestBoardDiscordBot

QuestBoardDiscordBot is a Python Discord bot for managing an interactive quest board inside a Discord server.

The bot is designed for roleplay communities, game servers and small groups that need a structured way to create, display, accept, complete and archive quests directly in Discord.

Features

  • Create quests with title, description, reward, difficulty and quest giver
  • Display quests as Discord embeds
  • Accept quests through reaction interaction
  • Track the team that accepted a quest
  • Complete or fail quests through slash commands
  • Award or subtract team points based on quest difficulty
  • Show a team leaderboard
  • Edit and delete quests
  • Archive completed or failed quests into a dedicated Discord channel
  • Persist quests, scores and quest counter in MongoDB
  • Flask keep-alive endpoint for hosting platforms such as Render

Commands

/quest_create      Create a new quest
/quest_list        Show all quests
/quest_complete    Mark a quest as completed
/quest_fail        Mark a quest as failed
/quest_edit        Edit quest description and reward
/quest_delete      Delete a quest
/leaderboard       Show team rating

Technologies

  • Python
  • discord.py
  • Discord Slash Commands
  • MongoDB
  • PyMongo
  • Flask

Project structure

main.py             Bot logic, commands, MongoDB storage and Flask keep-alive endpoint
requirements.txt    Python dependencies
.env.example        Example environment configuration
.gitignore          Local files, secrets and cache exclusions

Environment variables

The bot expects these variables:

DISCORD_TOKEN    Discord bot token
MONGO_URI        MongoDB connection string
PORT             Optional hosting port, default is 5000

Do not commit real tokens, passwords or private connection strings to GitHub.

How to run locally

  1. Clone the repository.
  2. Create and activate a virtual environment.
  3. Install dependencies:
pip install -r requirements.txt
  1. Create environment variables using .env, system variables or your hosting provider settings.
  2. Run the bot:
python main.py

Current status

Work in progress. The project is suitable as a portfolio Discord bot, but future improvements may include modular command files, better error handling, role permission configuration and cleaner storage abstractions.

Author

Created by HardesFaktorProg.

About

Python Discord bot for managing interactive quest boards, tasks and roleplay activities.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages