Self-hosted Discord music bot built with discord.py + Wavelink. Streams from YouTube, resolves Spotify/Apple links, caches lookups locally, and can greet newcomers with custom cards.
- Lavalink playback, queue embeds, and button controls.
- Apple Music/Spotify support with SQLite caching.
- Admin tools:
!reset, cache ops, guild allow-list. - Optional welcome artwork with custom fonts.
- Discord bot token with intents enabled.
- Lavalink node you control.
- Optional Spotify credentials for tighter matching.
- Font file (default
arial.ttf) for welcome cards.
-
Clone + install:
git clone https://github.com/Kimsec/OnalBot.git cd OnalBot python -m venv .venv source .venv/bin/activate pip install -r requirements.txt
-
Copy
.env.example→.envand set Discord token, Lavalink URI/password, allowed guild IDs, and optional Spotify keys. -
Start Lavalink, then run:
python OnalBot.py
- Use
systemdon Linux for auto-restarts (!resetcan hook into it). - Lock down Lavalink ports with firewall rules or a proxy.
- Keep
.envsecrets private and rotate them regularly.
!play/!p— play a track, Apple Music link, Spotify URL, or plain search.!queue,!remove,!prioritize,!shuffle— manage what’s coming up next.!clearqueue,!stop,!reset— clean slate when you need it.!showcache,!clearcache,!healthcheck— keep an eye on the bot’s internals.!info,!music— share a command overview with your server.
Sit back, drop a !p miley cyrus flowers, and let OnalBot set the vibe. 🌸
