orchestra-discord
v0.1.1
Published
A production-grade, scalable, headless Discord music framework.
Maintainers
Readme
🎷 Orchestra
Orchestra is a production-grade, scalable, and headless Discord music framework built for Node.js. It decouples the complex audio processing of Lavalink from your bot's logic, providing a high-level API for building elite music experiences.
✨ Features
- 🚀 Lavalink v4 Native: Full support for the latest Lavalink protocol, including REST-first player control.
- 🏗️ Headless Architecture: Completely isolated from Discord libraries—use our built-in
DiscordJSAdapteror build your own. - 🎛️ Elite Audio Controls: Native support for Nightcore, Bassboost, volume, seeking, and more.
- 🔄 Dynamic Queueing: Policy-driven scheduling with built-in FairUsage and FIFO support.
- 📦 Dual-Module Support: Works seamlessly in both ESM and CommonJS environments.
🛠️ Installation
npm install @orchestra/core discord.js🏗️ Basic Library Usage
const { Orchestra, DiscordJSAdapter } = require('@orchestra/core');
const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildVoiceStates] });
client.once('ready', () => {
const orchestra = new Orchestra({
adapter: new DiscordJSAdapter(client),
userId: client.user.id,
nodes: [{ host: 'localhost', port: 2333, password: 'youshallnotpass' }]
});
// Access players via orchestra.players
});
client.login('TOKEN');📦 Project Structure
src/core: The brain of the framework (Player, Queue, Node management).src/adapters: Bridge between Orchestra and Discord libraries.src/types: Typed definitions for Lavalink and Framework internals.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
This project is licensed under the MIT License.
Created with ❤️ by ImPhoenix2k3
