يحتاج بوتك إلى ثلاث قيم من عقدة Lavalink الخاصة بك: المضيف والمنفذ وكلمة المرور. راجع كيف تستضيف عقدة موسيقى Lavalink لتجدها.
ما يطلبه كل عميل
| الإعداد | القيمة |
|---|---|
| Host | العنوان الذي قبل النقطتين، مثل 136.243.0.51 |
| Port | الرقم الذي بعد النقطتين |
| Password | قيمة password في application.yml |
| Secure (HTTPS) | متوقف، فالعقدة تستخدم http وws العاديين |
أبقِ كلمة المرور خارج كودك: ضعها في ملف .env أو ملف إعدادات لا تنشره.
Node.js مع 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));
أنشئه بعد أن يوجد الكائن client لديك. تبيّن وثائق المكتبة كيف تدخل قناة صوتية وتشغّل مقطعًا.
Python مع 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")
لا يتصل
- رُفض الاتصال أو انتهت مهلته: المضيف أو المنفذ خاطئ، أو العقدة متوقفة. تحقق من نظرة عامة وشغّلها.
- 401 أو unauthorized: كلمة المرور لا تطابق
application.yml. - يتصل ثم لا يشغّل شيئًا: يحتاج البوت إلى إذني Connect وSpeak في القناة الصوتية، وتحتاج العقدة إلى مصدر يستطيع تشغيل ما طلبته. راجع بوت موسيقى Discord لا يشغّل: الحلول.
- تأكد أن عميلك يطابق الإصدار الرئيسي للعقدة. العميل المبني لـ Lavalink 3 لا يعمل مع عقدة الإصدار 4.





