/ARRB

Automated Rice Ranking Bot: A social credit and general purpose Discord bot which focuses on simplicity.

Primary LanguagePythonMIT LicenseMIT

IMPORTANT

ARRB is currently in development and is not ready for use. Please do not use it in production.


~ ARRB ~

Automated Rice Ranking Bot: A social credit and general purpose Discord bot which focuses on simplicity.

Background

ARRB was created as a way to have fun whilst refining my Python skills and revisiting discord.py (after it was discontinued in 2021).

Features

  • Slash commands
  • Moderation: Reporting
  • Moderation: Purging messages
  • Moderation: Muting
  • Per-guild configuration
  • Per-guild data storage (e.g. user xp)
  • Daily quests
  • Riceboard (starboard equivalent)
  • Shop (eg. roles, colours, etc.)
  • Prestige/level system
  • Chatgames (eg. trivia, maths, etc.)

Setup

  1. Clone the repository
git clone https://github.com/42willow/ARRB.git
cd ARRB
  1. Create a virtual environment
python -m venv venv
  1. Install dependencies
pip install -r requirements.txt
  1. Create a .env file in the root directory and add the following:
# You can get this from https://discord.com/developers/applications
DISCORD_TOKEN="your_token_here"

# This is the ID of the guild that the bot will sync to immediately, other guilds will take up to 1 hour to sync.
DISCORD_GUILD_ID="your_main_server_id_here"
  1. Run the bot
python main.py

Usage

Permissions

Unless changed manually, the following commands are only available to these specified permissions:

  • /settings: manage_guild
  • /purge: manage_messages
  • /mute: manage_roles
  • /unmute: manage_roles

Ranking

ARRB uses a ranking system based on rice. The more rice you have, the higher your rank. Rice is earned by being active in the server (sending messages, etc.). Unlike some other bots, ARRB does not level up linearly. Instead, the amount of rice required to level up increases exponentially - and even that formula is configurable!

Community

Contributing

Contributions are welcome, but please open an issue or discussion first to discuss what you would like to change.

Support

Support is done through GitHub discussions. Please open a discussion if you have any questions.