NIEUW 📢 Beperkte lanceeractie: tot 70% korting op je eerste maand, voor elke game!Bekijk pakketten

Je Discord-bot verbinden met Lavalink

Discord-bothostingUpdated Oct 23, 20263 min read

Je bot heeft drie waarden van je Lavalink-node nodig: de host, de poort en het wachtwoord. Hoe je ze vindt, lees je in Een Lavalink-muzieknode hosten.

Wat elke client vraagt

InstellingWaarde
Hosthet adres vóór de dubbele punt, bijvoorbeeld 136.243.0.51
Poorthet getal na de dubbele punt
Wachtwoordhet password in application.yml
Secure (HTTPS)uit, de node gebruikt gewoon http en ws

Zet het wachtwoord niet in je code: bewaar het in een .env-bestand of een instellingenbestand dat je niet publiceert.

Node.js met 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));

Maak dit aan nadat je client-object bestaat. De documentatie van de library laat zien hoe je een voicekanaal joint en een nummer afspeelt.

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")

Het verbindt niet

  • Connection refused of time-out: de host of poort klopt niet, of de node is gestopt. Kijk op Overzicht en start hem.
  • 401 of unauthorized: het wachtwoord komt niet overeen met application.yml.
  • Hij verbindt, maar speelt niets af: de bot heeft de permissies Verbinden en Spreken nodig in het voicekanaal, en de node heeft een bron nodig die kan afspelen wat je hebt gevraagd. Zie Discord-muziekbot speelt niet af: oplossingen.
  • Zorg dat je client bij de hoofdversie van de node past. Een client voor Lavalink 3 werkt niet met een node van versie 4.

Draait je server al ergens anders? Verhuis hem naar ons

MAAK JE EIGEN GAMESERVER
KLAAR OM TE BEGINNEN?

Bespaar tot 30% op je nieuwe gameserver.
Premium prestaties, directe activatie en ongeëvenaarde betrouwbaarheid voor een betere prijs.

ONZE NIEUWSTE BLOGS