YENİ 📢 Sınırlı lansman teklifi: Tüm oyunlarda ilk aya %70'e varan indirim!Paketleri görün

Discord botunuzu Lavalink’e nasıl bağlarsınız

Lavalink barındırmaUpdated Nov 6, 20265 min read

Botunuzun Lavalink node’unuzdan üç değere ihtiyacı var: host, port ve şifre. Host ve port, node’un Genel bakış sayfasındaki Adres değeridir; şifre application.yml içindedir. İstemci kütüphaneniz Lavalink sürüm 4’ü ve Discord’un DAVE ses şifrelemesini desteklemelidir ve güvenli (SSL) seçeneği kapalı kalır.

  1. Lavalink sunucusunun Genel bakış sayfasında Adres değerini (host ve port) kopyalayın, şifreyi de application.yml dosyasından kopyalayın.
  2. Bot sunucunuzun Bot sayfasında, Ortam altında LAVALINK_HOST, LAVALINK_PORT ve LAVALINK_PASSWORD değişkenlerini ekleyin.
  3. Kütüphaneniz için istemci kodunu ekleyin (örnekler aşağıda), güvenli (SSL) seçeneği kapalı olsun.
  4. Botu yeniden başlatın ve node’un bağlandığını bildirdiğini kontrol edin.

Her adım aşağıda ayrıntılı anlatılıyor.

Her istemcinin istedikleri

AyarDeğer
HostAdres değerinin iki noktadan önceki kısmı, örneğin 203.0.113.10
Portİki noktadan sonraki sayı
Şifrepassword: değeri, lavalink:, server: altında, application.yml içinde
Güvenli / SSLKapalı: node düz http ve ws kullanır

Nerede bulacağınız: Lavalink sunucusu 7/24 nasıl barındırılır.

Dosya düzenleyicide açık application.yml: lavalink, server altındaki şifre satırı.

DAVE’i destekleyen bir istemci sürümü kullanın

2 Mart 2026’dan beri Discord, ses kanallarına (sahne kanalları hariç) yalnızca kendi uçtan uca şifrelemesini, yani DAVE protokolünü destekleyen ses istemcilerini alıyor. Lavalink DAVE’i 4.2.0 sürümünden itibaren destekliyor ve node’unuz 4.2.2 çalıştırıyor. Lavalink 4.2.0 sürüm notlarına göre istemcinin de güncellenmesi gerekiyor: artık ses kanalının kimliğini node’a göndermesi şart. Eski bir istemci sürümü node’a yine bağlanır, ama Lavalink ses bağlantısını açamaz, bu yüzden hiçbir şey çalmaz. Yaygın istemcilerin her biri için kullanmanız gereken sürüm ya da daha yenisi:

İstemciDilBu sürümü veya daha yenisini kullanın
ShoukakuNode.js4.3.0 (28 Şub 2026)
lavalink-clientNode.js2.9.7 (2 Mar 2026). DAVE çalışması 2.9.3’te (27 Şub 2026) başladı; yazarı 2.9.7’yi DAVE’li ilk büyük sürüm olarak adlandırıyor.
WavelinkPython3.5.1 (11 Nis 2026)
Lavalink.pyPython5.10.0 (28 Şub 2026)

Diğer kütüphaneler için Lavalink’in kendi istemci listesinde bir DAVE sütunu var. Eski bir istemciyle node’unuz ses güncellemesine 400 hatasıyla ve token, endpoint, sessionId and channelId must be provided in voice state iletisiyle yanıt verir. (Lavalink kullanmadan Discord sesine kendisi bağlanan bir bot ise bunun yerine Discord’un 4017 kapanış kodunu, E2EE/DAVE protocol required, alır.)

Değerleri kodunuzun dışında tutun

Aşağıdaki örnekler LAVALINK_HOST, LAVALINK_PORT ve LAVALINK_PASSWORD değerlerini ortamdan okur. Botunuz bir PlayNHost bot paketinde çalışıyorsa:

  1. Bot sunucusunun Bot sayfasını açın ve Ortam’a tıklayın.
  2. Değişken ekle altında LAVALINK_HOST ve LAVALINK_PORT değişkenlerini ekleyin. LAVALINK_PASSWORD değişkenini Bu değeri gizli tut işaretli olarak ekleyin.
  3. Botu yeniden başlatın. Değişkenler bota başladığında ulaşır.

Daha fazlası: Discord botunuz için ortam değişkenleri ve gizli değerler nasıl ayarlanır.

Shoukaku ile Node.js

Paketler: discord.js ve shoukaku (4.3.0 veya daha yeni).

const { Client, Events, GatewayIntentBits } = require('discord.js');
const { Shoukaku, Connectors } = require('shoukaku');

const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildVoiceStates] });

const nodes = [{
  name: 'playnhost',
  url: `${process.env.LAVALINK_HOST}:${process.env.LAVALINK_PORT}`,
  auth: process.env.LAVALINK_PASSWORD,
}];

// Create it before client.login(): Shoukaku connects when the bot is ready.
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));

client.once(Events.ClientReady, () => console.log(`Logged in as ${client.user.tag}`));
client.login(process.env.DISCORD_TOKEN);

Shoukaku’nun dokümantasyonu, node bağlandıktan sonra bir ses kanalına nasıl katılacağınızı ve bir parçayı nasıl çalacağınızı gösterir.

Paketler: discord.py ve wavelink (3.5.1 veya daha yeni).

import os

import discord
import wavelink
from discord.ext import commands


class Bot(commands.Bot):
    def __init__(self):
        super().__init__(command_prefix="!", intents=discord.Intents.default())

    async def setup_hook(self):
        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=self)

    async def on_wavelink_node_ready(self, payload: wavelink.NodeReadyEventPayload):
        print(f"Lavalink node {payload.node.identifier} connected")


bot = Bot()
bot.run(os.environ["DISCORD_TOKEN"])

setup_hook bot bağlanmadan önce bir kez çalışır; on_ready her yeniden bağlanmadan sonra yeniden çalışabilir, bu yüzden node’u orada bağlamayın.

Diğer istemciler

Lavalink 4’ü ve DAVE’i destekleyen her istemci aynı üç değerle aynı şekilde çalışır, örneğin discord.js için lavalink-client ya da Python için Lavalink.py. Lavalink 3 için yazılmış bir istemci, sürüm 4 bir node ile konuşamaz.

Bağlanmıyor

  • Bağlantı reddedildi ya da zaman aşımına uğradı: host ya da port yanlış ya da node durmuş. Adres değerini Genel bakış sayfasından yeniden kopyalayın ve console’da Lavalink is ready to accept connections. yazdığını kontrol edin.
  • 401 ya da Unauthorized: şifre application.yml ile eşleşmiyor. Tırnak işaretleri olmadan yeniden kopyalayın.
  • Bir SSL ya da TLS hatası: istemcinizde güvenli seçeneği açık. Kapatın ya da http:// kullanın, https:// değil.
  • Bağlanıyor, ama hiçbir şey çalmıyor: önce istemci sürümünüzün yukarıdaki tablodakinden eski olmadığını kontrol edin. Sonra: botun ses kanalında Bağlan ve Konuş izinlerine ihtiyacı var ve node’un, istediğiniz şeyi çalabilecek bir kaynağa ihtiyacı var: Lavalink hataları ve ne anlama geldikleri.

Hâlâ ücretsiz bir herkese açık node mu kullanıyorsunuz? Herkese açık node ya da kendi node’unuz seçenekleri karşılaştırır.

Botun başka bir yerde mi? Bize taşı

EN YENİ BLOG YAZILARIMIZ