Skip to content

ffamilyfriendly/Thread-Watcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

140 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Thread-Watcher 🧵

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

🧰 Requirements

  • 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.

🚀 Quick Start

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.

1 - Install the code

🤓 Make sure you've git and bun installed.

  git clone https://github.com/ffamilyfriendly/Thread-Watcher.git
  cd Thread-Watcher
  bun install

2 - Configure

🤓 Rename the example _config.json5 file to config.json5. Bot won't start otherwise

  cd bot
  mv _config.json5 config.json5

The configuration file has comments inside it that will guide you thru the configuration itself.

3 - Deploy commands

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 bot

For 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

4 - Run the 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

(optional) 5 - Run the dashboard

🤓 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 web

Modifying Thread-Watcher

You 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!

💖 Contributing

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

About

Thread-Watcher is a 100% open source Discord app aspiring to be the go-to toolbox for Discord threads/forums!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors