Getting Started
Shoukaku is a stable, powerful and updated wrapper around Lavalink. It is Discord library agnostic, and can add support for new Discord libraries using connectors.
Set up Shoukaku
-
Install Shoukaku using your favorite package manager.
Terminal window npm i shipgirlproject/Shoukaku#masterTerminal window yarn add shipgirlproject/Shoukaku#masterTerminal window pnpm add shipgirlproject/Shoukaku#masterTerminal window bun add shipgirlproject/Shoukaku#master -
Import the library
import { Client } from "discord.js";import { Shoukaku, Connectors } from "shoukaku";const { Client } = require("discord.js");const { Shoukaku, Connectors } = require("shoukaku"); -
Configure nodes
const Nodes = [{name: "Localhost",url: "localhost:6969",auth: "re_aoharu", // password},]; -
Initialize the library using one of the connectors.
const client = new Client();const shoukaku = new Shoukaku(new Connectors.DiscordJS(client), Nodes);const client = new Client();const shoukaku = new Shoukaku(new Connectors.Eris(client), Nodes);const client = new Client();const shoukaku = new Shoukaku(new Connectors.OceanicJS(client), Nodes);const client = new Client();const shoukaku = new Shoukaku(new Connectors.Seyfert(client), Nodes); -
Handle error events
Always handle “error” events or your program may crash due to uncaught error
shoukaku.on("error", (_, error) => console.error(error)); -
Login to Discord
client.login("token");
Other Resources
- Lavalink Docs
- Example implementation using Discord.JS: Kongou
- Get support on the Discord server
- API Reference (TypeDoc)
- API Reference (Starlight)