Skip to content

A Discord bot that watches Modtale and CurseForge projects and posts update notifications when new releases are published.

License

Notifications You must be signed in to change notification settings

AzureDoom/Modtale-CurseForge-Discord-Release-Bot

Repository files navigation

Modtale & CurseForge Discord Release Bot

GitHub LicenseGitHub Issues or Pull RequestsGitHub top language

A Discord bot that automatically monitors Modtale and CurseForge projects and posts update notifications when new versions/files are released.

image

It supports:

  • Multiple Modtale projects
  • Multiple CurseForge projects
  • Either platform independently (Modtale-only or CurseForge-only)
  • Persistent cache to avoid reposting old releases
  • Discord embeds with download buttons

What the Bot Does

  • Periodically polls:
    • Modtale project APIs
    • CurseForge (via CFWidget)
  • Detects new versions/files
  • Posts a rich embed message to a configured Discord channel
  • Stores seen releases in cache.json so each release is only posted once

Support

If you encounter any issues or have questions, please create a new issue here.

We also have a Discord server where you can ask questions and get help.

Requirements

  • Python 3.10+
  • A Discord bot token
  • API access to the Modtale project(s) you want to track. Get your Modtale api token from: https://modtale.net/dashboard/developer
  • Project IDs / slugs for CurseForge projects

Setup Instructions

Clone the repository

git clone https://github.com/AzureDoom/Modtale-CurseForge-Discord-Release-Bot.git
cd Modtale-CurseForge-Discord-Release-Bot

Install dependencies

pip install -r requirements.txt

Required libraries include:

  • discord.py
  • aiohttp
  • python-dotenv

Configure environment variables

You will find a file named:

example.env

Rename it to .env.

Then open .env and fill in your values.

You can enable:

  • Only Modtale (Leave CurseForge Blank: CURSEFORGE_PROJECTS_JSON=)
  • Only CurseForge (Leave Modtale Blank: MODTALE_PROJECTS_JSON=)

Leaving a project JSON variable blank disables that source.

Run the bot

Simply do:

python3 bot.py

On startup you should see:

Logged in as YourBotName
Successfully finished startup

Docker Installation

Running the bot in Docker is the recommended way to deploy it for 24/7 usage. This ensures consistent behavior across environments and clean restarts.

Prerequisites

  • Docker 20.10+

  • Docker Compose (v2, docker compose)

Verify installation:

docker --version
docker compose version

Prepare environment variables

An example environment file is included as example.env.

Rename it to .env

Edit .env and configure:

  • Discord bot token

  • Channel ID

  • Modtale and/or CurseForge projects

Build and start the container

From the project root:

sudo docker compose up -d --build

The bot will:

  • Build the image

  • Start automatically

  • Restart on failure or system reboot

View logs

Simply run:

sudo docker compose logs -f

You should see:

Logged in as <bot name>
Successfully finished startup

Stop or restart the bot

Stop:

sudo docker compose down

Restart:

sudo docker compose restart

Updating the Bot

When you pull new changes:

git pull
docker compose up -d --build

Cache Behavior

  • A file named cache.json is created automatically
  • Tracks seen releases per project
  • Safe to delete if you want the bot to repost everything again

Troubleshooting

Bot starts but posts nothing:

  • Ensure your project JSON is valid
  • Make sure the project actually has released files
  • Check that the Discord channel ID is correct

JSON parsing errors:

  • Make sure all keys use double quotes
  • Wrap JSON values in single quotes in .env

Hosting Partner

Looking for a reliable server to run this bot and other games on?

BisectHosting offers pre-configured game servers, fast setup, and solid performance for modded environments along with bot, web hosting, and VPS servers.

Use code azuredoom for 25% off your first month.

BisectHosting

About

A Discord bot that watches Modtale and CurseForge projects and posts update notifications when new releases are published.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •