يبني هذا الدليل بوت Python بأمر slash واحد هو /ping. تحتاج أولًا إلى تطبيق Discord ورمز بوت: كيف تنشئ بوت Discord وتحصل على رمزه.
الملفات
requirements.txt
discord.py>=2.4
bot.py
import os
import discord
from discord import app_commands
intents = discord.Intents.default()
client = discord.Client(intents=intents)
tree = app_commands.CommandTree(client)
@tree.command(name="ping", description="Replies with pong")
async def ping(interaction: discord.Interaction):
await interaction.response.send_message("pong")
@client.event
async def on_ready():
await tree.sync()
print(f"Logged in as {client.user}")
client.run(os.environ["DISCORD_TOKEN"])
يستخدم البوت الـ intents الافتراضية، فلا يلزم تفعيل أي intent مميز.
شغّله في PlayNHost
- افتح سيرفرك في لوحة التحكم. اضغط تعديل نوع الخادم في نظرة عامة واختر Python Bot. افعل ذلك على سيرفر جديد: فتغيير النوع يعيد تثبيته. راجع كيف تغيّر نوع السيرفر.
- في Files ارفع
bot.pyوrequirements.txt. - في الإعدادات، إعدادات اللعبة، اضبط الملف الرئيسي على
bot.pyوالصق رمزك في رمز بوت Discord. - افتح Console وشغّل السيرفر. يثبّت السيرفر الحزم الموجودة في
requirements.txtعند كل تشغيل. - عندما تعرض Console السطر
Logged in as ...، اكتب/pingفي Discord.
من المفيد أن تعرف
- يعمل السيرفر بـ Python 3.12 افتراضيًا. إذا كانت حزمة تحتاج إلى إصدار آخر، فاختر 3.10 أو 3.11 أو 3.13 أو 3.14 ضمن الإعدادات، صورة Docker.
- الأوامر المسجّلة بـ
tree.sync()عامة وقد يستغرق ظهورها وقتًا. أثناء الاختبار زامِن مع سيرفر واحد بدلًا من ذلك:tree.copy_global_to(guild=discord.Object(id=YOUR_SERVER_ID))ثمawait tree.sync(guild=...). - اقرأ الأخطاء في Console. الحزمة المفقودة تعني أن سطرًا ناقص في
requirements.txt.
المزيد: كيف تستضيف بوت Discord بلغة Python، كيف تستخدم قاعدة بيانات مع بوت Discord.





