Principles

KawaLink works by acting as a bridge between your Discord bot and a Lavalink node.

1. Manager

The Manager is the heart of KawaLink. it handles connections to Lavalink nodes and manages players for each server (guild).

2. Nodes

Nodes are instances of the Lavalink server. KawaLink can connect to multiple nodes to ensure high availability and better load distribution.

3. Players

Each server gets its own Player instance. The player manages the queue, playback controls (pause, skip, stop), and audio filters.

4. Communication

KawaLink uses WebSockets to communicate with Lavalink nodes and expects you to provide a way to send voice gateway payloads to Discord via discord.js.