/axer-bot

general-purpose TypeScript Discord bot with osu! features related to mapping & modding

Primary LanguageTypeScriptMIT LicenseMIT

AxerBot

CodeFactor GitHub license Lines of code GitHub last commit

A general-purpose and powerful Discord bot with osu! features related to mapping & modding

  • invite link (or run -invite on a server the bot is in)
  • Discord server: If you want to notified with all bot updates, or make bug reports/feature requests.

About

This bot contains many features that makes your life easier as an osu! Discord server owner, moderator or member, including:

  • Message purging
  • Sending messages as the bot user
  • A configurable quote responses system
  • command cooldowns
  • A message logging system
  • A reminder system
  • A bunch of fun and trivial commands
  • Clickable osu! timestamps

  • Automatic beatmap discussion and comment embeds

The bot also interacts with osu!'s API v2 and the BN/NAT Management website's interOp routes to provide you with multiple stats and management systems such as:

  • An OAuth2 verification system where you sign up with your osu! account in order to be granted access to the server

  • A feed system that actively keeps track of the request statuses for all BNs/NATs

  • Several commands that allow you to view your playing/mapping stats from the osu! website or the BN/NAT website

Thanks to

  • Sebola3461 for helping me a lot with this project!
  • pishifat for granting me access to BN site's interOp routes.

Usage

  • invite the bot.
  • type -help to see a list of all available commands; Use -help <command> to see how a specific command works.
  • if the - prefix doesn't suit you, feel free to change it via the -setprefix command.

from this step onwards, you can set up any of these following systems as a server owner/manager:

  • The osu! verification system
  • The logging channel
  • The quotes system
  • The command cooldowns system

Contributing

Before starting to work on things for this project, please open an issue that describes what you're working on, and wait for approval from one of the main devs!

If you want to contribute to this project, please read the following to learn how to set up a local instance of the bot, and read this to learn more about the command structure of the bot:

Prerequisites

  • A Discord bot user
  • Node v17
  • yarn
  • MongoDB
  • an osu! API v2 client
  • (optional) BN site interOp access

Installation

  • Clone the repository
  • yarn
  • Set up config.json
  • Set up .env file starting from the .envexample file
  • yarn dev