Skip to content

A Discord bot that fetches tournament brackets from Challonge, renders them and posts them directly to a channel.

License

Notifications You must be signed in to change notification settings

JuneMinazuki/Challonge-Snap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banner

Release version

A Discord bot that fetches Challonge's tournament brackets, renders and posts them into a channel.
Note: This is a self-hosted bot. You will need to create your own Discord Application and run the code on your own machine/server.

FeaturesCommandsRequirementsPermissionsContributingLicense

✨ Features

  1. Real-time Rendering: Converts live Challonge data into a clean image format.
  2. Auto-Update: Automatically refreshes the bracket image in Discord when scores are reported. Note: Auto-update function only work with a Challonge API given.
  3. Tournament Support: Works with Single Elim, Double Elim, Swiss Stage and Round Robin formats.
  4. Simple Commands: Minimalistic setup for tournament organizers.

⌨️ Commands

The bot uses Slash Commands. Ensure the bot has Use Application Commands permission in your server.

Command Usage Description
/bracket /bracket <tournament_id> Fetches the Challonge bracket and posts the rendered bracket.
/info /info Get current active tournament ID.
/update /update Forces an immediate refresh of the currently active bracket.
/clear /clear Clear all data and stop tracking any bracket.

📋 Requirements

  1. Discord Bot Token: Create one via the Discord Developer Portal
  2. Environment: Python 3.14+

Optional:

  1. Challonge API Key: Obtainable from your Challonge Settings (Required for auto-update feature)

⚙️ Setup and Deployment

  1. Clone the Repository
git clone https://github.com/JuneMinazuki/Challonge-Snap.git
cd Challonge-Snap
  1. Install Dependencies
pip install -r requirements.txt
  1. Environment Configuration: Create a file named .env in the root folder:
DISCORD_BOT_TOKEN=your_discord_token_here
CHALLONGE_API_KEY=your_challonge_api_key_here
  1. Launch the Bot
python main.py

🛡️ Permissions

To function correctly with all features, the bot requires the following permissions as configured in the Discord Developer Portal:

  • View Channels
  • Send Messages
  • Send Messages in Threads
  • Manage Messages
  • Attach Files
  • Read Message History

🤝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create.
  1. Fork the Project.
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

📄 License

Distributed under the MIT License. See LICENSE for more information.

About

A Discord bot that fetches tournament brackets from Challonge, renders them and posts them directly to a channel.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Languages