Skip to content

GodderE2D/Reindeer

Repository files navigation

Reindeer 🦌

A Discord bot by BSR that helps server admins manage user reports more efficiently and organised.

Top.gg Servers (for hosted bot) Top.gg Upvotes (for hosted bot) Support Server CI Tests Status GitHub Sponsors


To see a full list of features, documentation, and to invite the bot visit https://reindeer.bsr.gg/.

Features

  • User and message report commands are both available as context menu commands and slash commands.
  • Easy to setup with a guided setup command.
  • Powerful configuration, customise up to 5 user-input fields when reporting.
  • View reports in a neatly organised forum channel.
  • Easily manage and sort reports.
  • Customize and add more fields for reports.
  • Track messages and users that have been reported, such as edits, deletions, joins, and leaves.
  • Inform reporters about their reports status.
  • Disallow more than one report on a message/user in a specified period.

Installing

Note

If you just want to use the publicly hosted version of the bot, you can invite it from the website.

To locally install the bot yourself (e.g. if you want to contribute or self-host), follow these steps:

Prerequisites

  • Node.js 16.11.0 or later
  • Yarn classic (1.22.19)
  • A Discord application and bot
  • A PostgreSQL database (to run one locally, see here)

Setup

Once you've cloned the repository from GitHub, install the required Node dependencies.

yarn

Copy the .env.example file to a new .env file and fill out the environment variables listed inside.

cp .env.example .env

Push the Prisma schema to your Postgres database.

yarn push

# If you don't have a database yet, you can still generate typings
yarn generate

Compile the bot with tsc. Leave this terminal tab open while developing the bot. In production, you can use yarn build instead.

# Development (watch mode)
yarn build:dev

# Production
yarn build

Finally, you can run the bot using nodemon in development or pm2 in production.

# Development
yarn dev

# Production
pm2 start dist/index.js

# Or, just using node
yarn start

Contributing & Support

If you need support with the bot, feel free to join our Discord server.

If you'd like to contribute to the bot, please review our code of conduct first. If you have a bug report, feature request, please open an issue. If you're interested in fixing a bug or adding a new feature, please open a pull request.

If you'd like to report a security vulnerability or otherwise want to contact me, please email me at goddere2d@bsr.gg or godderseesyou@gmail.com.

PR Guidelines

  • Please follow the conventional commits specification where possible (you may also use docs, chore or other headers).
  • Please use yarn test to ensure TypeScript, ESLint, and Prettier checks pass.
  • Please do not include out-of-scope changes in a PR, instead open a separate PR for those changes.
  • Please do not use translators to edit language files.

License

Reindeer is licensed under the Apache License 2.0.

Releases

No releases published

Sponsor this project