/pippitrack

Track your osu! activity (top plays, daily updates, new beatmaps). It also have some fun osu! commands.

Primary LanguageTypeScriptMIT LicenseMIT

cover

GitHub Workflow Status (branch)

PippiTrack

A Discord bot that allows you to track osu! things. It has some useful commands too.

How do I report a bug or request a feature ?

How do I use PippiTrack ?

See documentation at https://pippitrack.com/

Get started

For users

Start by linking your Discord account to an osu! username like so :

/link <username> <mode>

See all commands

For administrators

After inviting the bot to your server, you need to configure it.

/configure

configure

Track a user (top plays, weekly updates and replays) You can track up to 100 players.

/track <username>
/untrack <username>
/tracklist <?page>

List of commands

Update an osu! profile via osu!track

/update <?username>

update

Display peak rank and accuracy of a player

/score <?username>
/gifted <?username>
/peak <?username>

peak

Display your profile stats via osu!sig

/osu <?username>

osusig

Tracking

Top plays (Need polish)

top play tracking

Updates

Tracked players are queued for an automatic osu!track update. (Once a day)

mass updates

Replays (o!rdr)

Tracked players that use o!rdr will have their replays sent in the replay channel. (if set)

replays

Installation

Have Node.js (version 16.8.x or newer) installed.

npm install

Then copy the .env.example to .env and fill in the values.

To run the bot in development mode run :

npm run dev

To run the bot in production mode run :

npm run build && npm run start

Directory structure

src/commands

Commands are classes that exports a run method and several properties.

class Command {
  name = 'command-name' // !command-name
  arguments = ['username'] // Accepted arguments for the command !command-name <username>
  description = 'Description of the command' // Used for the !help command
  category = 'general'

  async run(message, args) {}
}

src/services

Services needs to export a function that triggers the service (running a cron job, etc)

src/Bot.js

The Bot.js file is used for the internal logic of the bot. We'll add listeners to the bot's events and handle the commands.

Credits

Services

Art

  • AKARA Thank you for the art ! (Badges cover of the !peak command)
  • Bouf for the name PippiTrack and the edit of Koigokoro avatar !

License

MIT