Twój bot potrzebuje trzech wartości z twojego noda Lavalink: hosta, portu i hasła. Jak je znaleźć, opisuje Jak hostować node muzyczny Lavalink.
O co pyta każdy klient
| Ustawienie | Wartość |
|---|---|
| Host | adres przed dwukropkiem, na przykład 136.243.0.51 |
| Port | liczba po dwukropku |
| Hasło | password z application.yml |
| Secure (HTTPS) | wyłączone, node używa zwykłego http i ws |
Nie trzymaj hasła w kodzie: umieść je w pliku .env albo pliku ustawień, którego nie publikujesz.
Node.js z 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));
Utwórz go po tym, jak istnieje twój obiekt client. Dokumentacja biblioteki pokazuje, jak wejść na kanał głosowy i odtworzyć utwór.
Python z 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")
Nie łączy się
- Connection refused albo przekroczony czas: host lub port jest błędny albo node jest zatrzymany. Sprawdź Przegląd i uruchom go.
- 401 albo unauthorized: hasło nie zgadza się z
application.yml. - Łączy się, a potem nic nie gra: bot potrzebuje uprawnień Connect i Speak na kanale głosowym, a node potrzebuje źródła, które odtworzy to, o co prosisz. Zobacz Bot muzyczny Discord nie gra: poprawki.
- Upewnij się, że twój klient pasuje do głównej wersji noda. Klient zbudowany dla Lavalink 3 nie działa z nodem w wersji 4.





