Starboard bot for discord with support for multiple emotes
  • C# 98.9%
  • Dockerfile 1.1%
Find a file
Dirk Kok fecd8d946c
All checks were successful
Build and push Docker image / build-and-push-image (push) Successful in 26s
Build and push Docker image / trigger-update (push) Successful in 1s
update workflow for forgejo
2026-03-04 11:25:38 +01:00
.forgejo/workflows update workflow for forgejo 2026-03-04 11:25:38 +01:00
FridgeBot put sticker name in embed description 2026-02-08 18:59:51 +01:00
FridgeBot.Tests nice 2024-03-05 19:40:47 +01:00
.gitignore further mocking, refactoring, and wip unit tests 2023-02-22 18:20:44 +01:00
docker-compose.yml git commit version command 2024-03-05 20:05:36 +01:00
FridgeBot.sln simplified docker-compose setup in git 2024-03-05 19:35:19 +01:00
LICENSE Create LICENSE 2021-12-21 03:06:36 +01:00
README.md dockerize app 2021-12-21 22:38:58 +01:00

FridgeBot

This is so good we'll put it on the fridge.

FridgeBot is basically Starboard except it can do an unlimited amount of emotes per server, eliminating the need to use multiple bots.

Docker deployment

  1. Create a bot user. I'm not explaining that here. The bot user might need to have all privileged gateway intents, I have been too lazy to find out. Let me know if it works without them.
  2. Copy the files postgres.env.example and fridgebot.env.example to postgres.env and fridgebot.env, respectively.
  3. Add your bot user token to fridgebot.env
  4. If using the postgresql container provided by docker-compose.yml, no further changes are necessary. Otherwise modify the connection string and possibly the connection mode. Note that only Sqlite and Postgres is supported and the migrations in this repository are for Postgres, so if you want anything else you will need to get your hands a little dirty. Look up how to add migrations to entity framework for more info.
  5. docker-compose up

Usage

Note that all of these commands require the user to have Administrator rights over the server.

After joining the bot to your server, the first thing you should to is @FridgeBot init followed by the ID of the channel you want messages to be featured in.

Then, for each emote you want to use, send @FridgeBot emote <the emote> <minimum amount to add> <maximum amount to remove> When the number of reactions on a message using that emote exceed the first number, the message will be featured in the channel you set. When it drops below the second number, the message will be removed from the channel (unless there are other emotes that make it eligible for featuring).

If you ever want to change either number simply re-run the command.

To stop using an emote, send @FridgeBot delete <the emote>. Note that existing fridge messages will not be updated automatically, however the emote will be removed the next time the message is updated when the reaction count on the original message changes.

To make sure that a certain channel is ignored by FridgeBot, simply deny it the permission it needs to read that channel's messages.