Compare commits

..

No commits in common. "9aa0eb5754008fc887e947dc4133997973cea662" and "2322a0e8211bd668b93c7ca362a506e67db6f68d" have entirely different histories.

View file

@ -1,51 +1,15 @@
# osu! leaderboard # osu!leaderboard
osu! leaderboard is a project I worked on for Hack Club's Arcade. To install dependencies:
It allows for users to link their osu! account to their Slack accounts and view leaderboards for each ruleset (showing linked users), as well as search beatmaps and create invites to multiplayer matches all from Slack.
This currently runs in the Hack Club Slack in the [#osu](https://hackclub.slack.com/archives/C165V7XT9) channel. ```bash
bun install
## Commands
`/osu-link`: Starts the linking process.
`/osu-leaderboard`: Shows the leaderboard of all osu! users who are linked. This can be changed to show different rulesets via a dropdown.
`/osu-profile <user>`: Search for an osu! user or a Slack user and view (if any) the link between their accounts.
`/osu-search`: Opens a modal that allows you to filter for a beatmap.
`/osu-multiplayer-invite`: If you have linked your account, you can run this command to create a message to allow people to join an osu!lazer multiplayer room you create.
## Setup
(Please note; a lot of this is hardcoded! You may need to change a few references in the code to whereever you're hosting the bot.)
1. Clone the repo:
```
$ git clone https://git.haroon.hackclub.app/haroon/osu-leaderboard.git
``` ```
2. Create a `.env` file with the following format: To run:
```ini
SLACK_BOT_TOKEN=<your slack bot token (xoxb)> ```bash
SLACK_SIGNING_SECRET=<your slack signing secret> bun run index.ts
CLIENT_SECRET=<your osu! oauth app's client secret>
``` ```
3. Change the following hard-coded values (sorry!) This project was created using `bun init` in bun v1.1.8. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.
a. lines 9-13: edit for your postgres installation
b. line 76, 118, 152, 172: edit for your client ID and redirect URI
c. line 262: edit to a linked user's slack ID (preferably yours)
d. line 330, 443, 488, 598: edit the slack URL to your workspace's URL
e. line 786, 787, 794, 800: edit to the URL where you're hosting the bot.
4. Install packages, using your package manager of choice.
5. Run `index.ts` using `npx tsx .`, not `bun .`! (Bolt likes to be funny when you're using Bun.)
6. Voila!