Discord bot for snipe.sulej.net (osu! Switzerland national #1 tracker)
  • Rust 98.9%
  • Dockerfile 1.1%
Find a file
2026-09-11 21:04:22 +00:00
.forgejo/workflows chore: bootstrap the bot with the poise framework, snipe api client and account links 2026-09-04 12:31:39 +02:00
assets feat: nlb, snipe lists, stats, gain, loss and sniped from the snipe api 2026-09-04 12:31:39 +02:00
src feat: pick the board with /config and read the api with a key 2026-09-11 23:03:59 +02:00
.gitignore chore: bootstrap the bot with the poise framework, snipe api client and account links 2026-09-04 12:31:39 +02:00
.releaserc.cjs chore: bootstrap the bot with the poise framework, snipe api client and account links 2026-09-04 12:31:39 +02:00
Cargo.lock fix: accept a null statistics on an activity side 2026-09-09 17:52:21 +02:00
Cargo.toml chore(release): 1.0.0-beta.7 [skip ci] 2026-09-11 21:04:22 +00:00
Dockerfile chore: bootstrap the bot with the poise framework, snipe api client and account links 2026-09-04 12:31:39 +02:00
README.md feat: pick the board with /config and read the api with a key 2026-09-11 23:03:59 +02:00
renovate.json chore: bootstrap the bot with the poise framework, snipe api client and account links 2026-09-04 12:31:39 +02:00
rust-toolchain.toml chore: bootstrap the bot with the poise framework, snipe api client and account links 2026-09-04 12:31:39 +02:00

snipe-bot

Discord bot for snipe.sulej.net, the osu! Switzerland national #1 tracker. Every command reads the site's public API; nothing talks to osu! directly, so boards go past osu!'s top 100 and every snipe the site knows about is one command away.

Prefix < (or a mention) and slash commands. <help lists them.

Env: DISCORD_TOKEN (required), SNIPE_API (default https://snipe.sulej.net), SNIPE_API_KEY (optional, from the site's account page: names the bot in the api's metering), DATA_DIR (default /data, holds the Discord-to-osu! link and board-preference database), EMOTE_<GRADE> (optional custom grade emotes, e.g. EMOTE_XH=<:XH:123>), RUST_LOG.

Run: cargo run. Gates: cargo fmt --check, cargo clippy --all-targets -- -D warnings, cargo test.