Al tuo bot servono tre valori del tuo nodo Lavalink: host, porta e password. Per trovarli vedi Come ospitare un nodo musicale Lavalink.
Cosa chiede ogni client
| Impostazione | Valore |
|---|---|
| Host | l'indirizzo prima dei due punti, per esempio 136.243.0.51 |
| Porta | il numero dopo i due punti |
| Password | la password in application.yml |
| Sicuro (HTTPS) | disattivato, il nodo usa http e ws semplici |
Tieni la password fuori dal tuo codice: mettila in un file .env o in un file di impostazioni che non pubblichi.
Node.js con Shoukaku
const { Shoukaku, Connectors } = require('shoukaku');
const nodes = [{
name: 'main',
url: `${process.env.LAVALINK_HOST}:${process.env.LAVALINK_PORT}`,
auth: process.env.LAVALINK_PASSWORD,
secure: false,
}];
const shoukaku = new Shoukaku(new Connectors.DiscordJS(client), nodes);
shoukaku.on('ready', (name) => console.log(`Lavalink node ${name} connected`));
shoukaku.on('error', (name, error) => console.error(`Lavalink node ${name}`, error));
Crealo dopo che il tuo oggetto client esiste. La documentazione della libreria mostra come entrare in un canale vocale e riprodurre un brano.
Python con Wavelink
import os
import discord
import wavelink
from discord.ext import commands
bot = commands.Bot(command_prefix="!", intents=discord.Intents.default())
@bot.event
async def on_ready():
node = wavelink.Node(
uri=f"http://{os.environ['LAVALINK_HOST']}:{os.environ['LAVALINK_PORT']}",
password=os.environ["LAVALINK_PASSWORD"],
)
await wavelink.Pool.connect(nodes=[node], client=bot)
print("Lavalink connected")
Non si connette
- Connessione rifiutata o timeout: host o porta sono sbagliati, oppure il nodo è fermo. Controlla Panoramica e avvialo.
- 401 o non autorizzato: la password non corrisponde a quella in
application.yml. - Si connette, ma non riproduce nulla: il bot ha bisogno dei permessi Connect e Speak nel canale vocale, e il nodo ha bisogno di una fonte in grado di riprodurre ciò che hai chiesto. Vedi Il bot musicale Discord non riproduce: come risolvere.
- Controlla che il tuo client corrisponda alla versione principale del nodo. Un client fatto per Lavalink 3 non funziona con un nodo versione 4.





