Discord · راهنما

چگونه یک ربات موسیقی Discord بسازیم

به‌روزرسانی October 10, 2026 5 دقیقه مطالعه

در این صفحه
  1. اول: صدای رمزگذاری‌شده Discord (DAVE)
  2. دو روش برای پخش صدا: Lavalink یا FFmpeg
  3. کتابخانه‌های کلاینت Lavalink که نگهداری می‌شوند
  4. روش FFmpeg، در چند خط
  5. ربات موسیقی چه چیزی را می‌تواند پخش کند
  6. میزبانی ربات موسیقی
  7. پرسش‌های متداول

ربات موسیقی یک ربات Discord است که به کانال صوتی می‌پیوندد و صدا پخش می‌کند. بخش ربات — دستورها، صف پخش، پیام «در حال پخش» — کد معمولی ربات است. بخش سخت، صداست: دریافت آهنگ‌ها، رمزگذاری آن‌ها و استریم آن‌ها به کانال صوتی بدون قطع‌ووصل شدن.

این راهنما دو روش مدیریت صدا را توضیح می‌دهد، اینکه کدام کتابخانه‌ها پس از تغییرات صوتی Discord در 2026 هنوز کار می‌کنند، و اینکه ربات موسیقی چه چیزی را مجاز است و چه چیزی را مجاز نیست پخش کند. اگر تا به حال رباتی نساخته‌اید، از چگونه یک ربات Discord بسازیم شروع کنید.

اول: صدای رمزگذاری‌شده Discord (DAVE)

از 1 مارس 2026، Discord فقط تماس‌های صوتی با رمزگذاری سرتاسری را از طریق پروتکلی به نام DAVE مجاز می‌داند. رباتی که روی کتابخانه‌ای بدون پشتیبانی از آن ساخته شده باشد، دیگر اصلاً نمی‌تواند به کانال‌های صوتی بپیوندد. به همین دلیل بسیاری از آموزش‌ها و مخزن‌های قدیمی ربات موسیقی از کار افتادند.

پیش از شروع، مطمئن شوید ابزارهای شما به‌اندازه کافی جدید هستند:

کتابخانهپشتیبانی از DAVE از نسخه
discord.py2.7.0، نصب‌شده به‌صورت discord.py[voice]
@discordjs/voice0.19، که به Node.js 22.12 یا جدیدتر نیاز دارد
سرور Lavalink4.2.0
discord-player7.2.0

دو روش برای پخش صدا: Lavalink یا FFmpeg

LavalinkFFmpeg داخل ربات
نحوه کاریک سرور صوتی جداگانه موسیقی را استریم می‌کند؛ ربات به آن دستور می‌فرستدخود ربات صدا را با FFmpeg رمزگشایی و استریم می‌کند
نیاز رباتیک کتابخانه کلاینت LavalinkFFmpeg و Opus نصب‌شده در کنار ربات
مقیاس‌پذیریتعداد زیادی سرور به‌طور هم‌زمان؛ یک Lavalink می‌تواند به چند ربات سرویس دهدچند سرور، تا وقتی CPU ربات به محدودیت برسد
مناسب برایهر رباتی که انتظار دارید رشد کندیادگیری، یا رباتی برای یک سرور

بیشتر ربات‌های موسیقی عمومی از Lavalink استفاده می‌کنند. شروع با FFmpeg ساده‌تر است، چون فقط یک برنامه باید اجرا شود.

روش FFmpeg، در چند خط

برای اینکه ببینید صدا کار می‌کند، فایلی را که مالکش هستید پخش کنید. در Python، افزونه صوتی را نصب کنید و مطمئن شوید ffmpeg روی سیستم شما هست:

pip install "discord.py[voice]"

سپس داخل یک دستور slash، به کانال کاربری که دستور را اجرا کرده بپیوندید و یک فایل محلی پخش کنید:

channel = interaction.user.voice.channel
voice = await channel.connect()
voice.play(discord.FFmpegPCMAudio("song.mp3"))
await interaction.response.send_message("Playing.")

معادل آن در JavaScript، @discordjs/voice همراه با @discordjs/opus و FFmpeg است. یک ربات واقعی صف پخش و دستورهای رد کردن و توقف را اضافه می‌کند و وقتی کانال خالی شد آن را ترک می‌کند.

ربات موسیقی چه چیزی را می‌تواند پخش کند

بیشتر ربات‌های موسیقی دقیقاً همین‌جا به دردسر می‌افتند، پس پیش از ساختن این موضوع را برای خودتان روشن کنید:

  • شرایط YouTube اجازه دانلود یا بازپخش محتوای آن بدون مجوز، یا دور زدن محافظت‌های آن را نمی‌دهد. ربات‌های موسیقی بزرگ دقیقاً به همین دلیل تعطیل شده‌اند.
  • رهنمودهای انجمن Discord اشتراک‌گذاری محتوایی را که مالکیت فکری هر کسی را نقض کند ممنوع می‌کنند، و مالک ربات مسئول کارهایی است که ربات انجام می‌دهد.
  • منابع امن‌تر: موسیقی‌ای که مالکش هستید یا مجوزش را دارید، کتابخانه‌های بدون حق امتیاز و Creative Commons، رادیوهای اینترنتی که اجازه این کار را می‌دهند، و فایل‌هایی که اعضای شما با حق اشتراک‌گذاری بارگذاری می‌کنند.

Lavalink و افزونه‌هایش از نظر فنی می‌توانند از سایت‌های زیادی پخش کنند؛ اینکه شما اجازه این کار را دارید یا نه سؤال جداگانه‌ای است و پاسخ آن با خود شماست.

میزبانی ربات موسیقی

ربات موسیقی باید آنلاین بماند و هنگام استریم اتصالی پایدار داشته باشد، کاری که یک کامپیوتر خانگی روی Wi-Fi به‌ندرت برای مدت طولانی از پسش برمی‌آید. در هاستینگ ربات Discord در HytHost:

  • ربات روی محیط اجرایی‌ای که هنگام سفارش انتخاب می‌کنید اجرا می‌شود: Node.js، Python، Java، Go، C# یا Bun.
  • Lavalink خودش یک محیط اجرایی مستقل است. به‌صورت سرور جداگانه اجرا می‌شود: یک پلن برای ربات و یک پلن با محیط اجرایی Lavalink سفارش دهید، یا در پلنی با چند جایگاه ربات از ما بخواهید یکی از آن‌ها را به Lavalink منتقل کنیم.
  • کلاینت Lavalink ربات را به آدرس، پورت و رمز عبور سرور Lavalink، همان‌طور که در پنل آن نمایش داده می‌شود، متصل کنید.

آنلاین نگه داشتن خود ربات، با راه‌اندازی مجدد خودکار و نگهداری توکن در جای امن، در چگونه یک ربات Discord را 24/7 میزبانی کنیم توضیح داده شده است.

ربات و سرور Lavalink آن را روی هاستینگ ربات Discord در HytHost اجرا کنید — Node.js، Python، Java، Lavalink و بیشتر، از €0.89/ماه.

مشاهده پلن‌های هاستینگ ربات
پرسش‌های متداول

پرسش‌های متداول

به احتمال زیاد به خاطر صدای رمزگذاری‌شده Discord. از 1 مارس 2026 فقط کلاینت‌هایی که از پروتکل DAVE پشتیبانی می‌کنند می‌توانند به تماس‌های صوتی بپیوندند. به discord.py 2.7، @discordjs/voice 0.19 یا Lavalink 4.2 یا جدیدتر، و یک کلاینت Lavalink به‌روز ارتقا دهید.

نه. یک ربات کوچک می‌تواند مستقیماً با FFmpeg استریم کند. Lavalink زمانی ارزشش را دارد که ربات هم‌زمان در چند سرور پخش کند، چون بار پردازش صدا را از دوش ربات برمی‌دارد.

از نظر فنی برخی ابزارها هنوز می‌توانند، اما شرایط YouTube اجازه دانلود یا بازپخش محتوای آن بدون مجوز را نمی‌دهد و این ابزارها اغلب از کار می‌افتند. موسیقی‌ای که مالکش هستید یا مجوزش را دارید انتخاب امن است.

با discord.js، یک کلاینت Lavalink مانند lavalink-client یا Shoukaku؛ با discord.py، Wavelink یا lavalink.py. کتابخانه‌ای با نسخه منتشرشده در 2026 انتخاب کنید تا از صدای رمزگذاری‌شده Discord پشتیبانی کند.

خود ربات سبک است؛ آنچه هزینه دارد پردازش صداست. با Lavalink، برای یک ربات کوچک حدود 1 GB به سرور Lavalink بدهید (توصیه ما) و به ربات همان مقداری که بدون موسیقی نیاز دارد.

ربات موسیقی خود را آنلاین کنید

هاستینگ ربات Discord در HytHost ربات و سرور Lavalink شما را همراه با پایگاه داده MySQL و نسخه‌های پشتیبان اجرا می‌کند — از €0.89/ماه.

Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours

این راهنما برایتان مفید بود؟