RedFish is a Discord bot built with Node.js and Discord.js, designed to handle high-quality audio playback and server utility.
- Music Playback: Stream tracks, playlists, and live radio from YouTube, Spotify, SoundCloud, Deezer, Tidal, and direct streams via Lavalink.
- Auto Rooms: Dynamic temporary voice channel creation on user join.
- Giveaways: System for hosting, managing, rerolling, and ending community giveaways.
- Ticket System: Button-based support ticket creation and management.
- Moderation: Commands for moderation workflows including ban, kick, and timeout management.
- Auto Role & Leveling: Automatic role assignment on join and activity tracking.
Install project dependencies:
npm installCreate a .env file in the root directory following .env.example:
BOT_TOKEN=YOUR_BOT_TOKEN
CLIENT_ID=YOUR_CLIENT_ID
MONGODB_URI=YOUR_MONGODB_CONNECTION_STRING
# Lavalink Connection
LAVALINK=true
LAVALINK_URI=HOST:PORT@PASSWORD
# Spotify API Credentials
SPOTIFY_ID=YOUR_SPOTIFY_CLIENT_ID
SPOTIFY_SECRET=YOUR_SPOTIFY_CLIENT_SECRETAudio playback relies on a Lavalink v4 server with source plugins (such as LavaSrc).
You can host your own node or configure public nodes. To fetch active public Lavalink nodes:
npm run publicLavalinkServersnpm run start