A Discord bot that keeps threads active, automates bumping, and adds extra utilities for managing your server’s tangled mess of threads. Always open source <3
- Redis
- Bun
- Node
- *(optional) Any S3 compatible storage provider
- This is used to store attachments for ticket transcripts and to store database backups if enabled. Cloudflare has a generous free tier on R2
- *(optional) Mistral AI credentials
- AI is used to summarize tickets, provide functionality to some ticket modules, and to generate RegExprs.
* Please note that Thread-Watcher is designed to work with S3 storage and Mistral AI properly configured. It should still work without them but your milage may vary.
Important
The ticket feature of Thread-Watcher expects the Message Intent to be enabled. Please enable it for your bot in the Discord Developer Portal. Alternativly, if you are not intending to use tickets, you can remove the intent from the client.
git clone https://github.com/ffamilyfriendly/Thread-Watcher.git
cd Thread-Watcher
bun install🤓 Rename the example
_config.json5file toconfig.json5. Bot won't start otherwise
cd bot
mv _config.json5 config.json5The configuration file has comments inside it that will guide you thru the configuration itself.
For the quickest start you should deploy all your commands locally. This will register the commands instantly to your dev-server (defined in the config). However, the commands will only show up on this server.
npm run deploy:dev -w botFor the commands to show up across all servers, you will need to register the commands globally. This takes around an hour, give or take.
npm run deploy:prod -w bot🤓 if you see any weird errors starting the bot, it's likely that you entered incorrect information into the configuration or forgot to install dependencies (
bun install)
npm run start -w bot🤓 While it's not neccesary for the bot to function, I put a lot of time into it and it would make me happy if you tried it out!
The dashboard has it's own configuration you'll need to fill out. Edit example.env, ensuring you have the same SHARED_API_SECRET as you set in the bot config. Rename example.env to .env.
npm run dev -w webYou can create a deeper understanding of the inner workings of Thread-Watcher by reading the documentation. It should cover enough for you to get started!
You are of course welcome to ask me directly about anything in the support server!
Here's some quick documents to get you started!
Note
Currently, Thread-Watcher is not accepting contributions. I plan to take contributions as soon as I've got the codebase at a solid state and have some tests written. Hang tight and join the support server for updates <3