kawaii Node.js wrapper written in TypeScript for Lavalink audio streaming. 🚀
Yukino brings simplicity and reliability to Discord music bot development. Built as a modern TypeScript wrapper for Lavalink, it offers a seamless experience for creating feature-rich music bots. Designed with developer experience in mind ✨.
-
TypeScript First - Complete type safety with comprehensive TypeScript definitions 📝
-
Developer Friendly - Clear and concise API with minimal boilerplate 🛠️
-
Smart Voice Handling - Intelligent voice state management and tracking 🎧
-
Audio Enhancement - Rich set of audio filters including equalizer, tempo, and more 🎚️
-
Event-Driven Design - Comprehensive event system for precise control ⚡
- Lavalink Server (v4.x)
- Node.js v18.x or newer
- Discord.js v14.x
Install Yukino using npm:
npm install yukinojs
Visit our documentation for detailed guides and API reference.
Here's how to get started with Yukino:
import { Client, GatewayIntentBits } from 'discord.js';
import { YukinoClient } from 'yukinojs';
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildVoiceStates
]
});
client.once('ready', () => {
const yukino = new YukinoClient(client, {
client,
host: 'localhost',
port: 2333,
auth: 'youshallnotpass',
version: 'v4'
}, {
name: 'MainNode',
url: 'localhost:2333',
auth: 'youshallnotpass'
});
yukino.connect();
});
// Basic music playback example
async function playMusic(guildId: string, voiceChannelId: string, query: string) {
const player = yukino.createPlayer({
guildId,
voiceChannelId
});
await player.connect();
const result = await yukino.loadTrack(query);
if (result.loadType === 'TRACK_LOADED') {
await player.play({ track: result.data[0] });
}
}
client.login('your-token-here');
We welcome contributions! Check our Contributing Guidelines to get started.
Released under the MIT License.
- Source Code 📦
- Package 📥
- API Docs 📖
- Community 💬