#2. مقدمه ای بر discord.py – انجمن DEV
سلام بچه ها من Mannu هستم و این دومین پست من در آموزش discord.py است. اگر هنوز پست قبلی را ندیده اید، لطفاً آن را بررسی کنید تا از ابتدا متوجه شوید.
بنابراین، همانطور که ما با موفقیت ربات خود را ایجاد کرده ایم و اکنون زمان آن رسیده است که آن را کار کند.
کاری که ما انجام خواهیم داد ایجاد فایلی به نام main.py است. شما می توانید با هر نامی فایل ایجاد کنید اما فعلاً با main.py بروید تا با من بمانید……
بنابراین کاری که امروز انجام خواهیم داد این است که ربات خود را آنلاین کرده و اولین دستور خود را ایجاد کنیم.
پایگاه کد ما اینگونه به نظر می رسد (مدتی از مجوز و فایل README چشم پوشی کنید)
ممکن است برخی از شما تعجب کنید که چرا فایل .env وجود دارد و برای چه مواردی استفاده می شود. خب فایل .env برای ذخیره متغیرهای محیطی مانند توکن ربات discord من استفاده می شود. من از برخی عملکردها برای وارد کردن آن به فایل اصلی خود استفاده خواهم کرد. شما می توانید مستقیماً از توکن در فایل اصلی خود استفاده کنید. این فقط برای اهداف ایمنی کار می کند و هنگام انتشار آن در github مطمئن شوید که توکن را از آنجا حذف می کنید.
پس بیایید اولین خط کد خود را بنویسیم. موارد زیر را در فایل اصلی خود وارد کنید.
import discord
from discord.ext import commands
حالا ممکن است برخی از شما بگویید اینها چیست. اینها فقط بسته هایی هستند که برای اجرای ربات خود به آن نیاز داریم. discord.ext فقط پسوند discord.py است به همین دلیل ما از discord.ext استفاده خواهیم کرد تا کد ما برای مبتدیان باقی بماند.
بنابراین در خط Next قصد داریم تا ربات خود را برای کار کردن تنظیم کنیم.
intents = discord.Intents.default()
intents.message_content = True
کاری که ما در اینجا انجام دادیم این است که یک متغیر ایجاد می کنیم که تمام مقاصد پیش فرض را از بسته discord برای ربات discord ما ذخیره می کند. سپس ما آن را تنظیم می کنیم intents.message_content = True
. این بدان معنی است که ما به ربات خود اجازه می دهیم پیام بخواند و ارسال کند.
سپس یک متغیر برای out bot ایجاد می کنیم.
bot = commands.Bot(command_prefix=".",intents=intents)
کاری که ما در اینجا انجام می دهیم این است که یک متغیر ربات ایجاد می کنیم که دستورات را ذخیره می کند.Bot() و به عنوان پارامتر command_prefix که پیشوند ربات discord ما است را می دهیم و intents = intents را تنظیم می کنیم، به این معنی که به ربات خود مجوزهای ارسال و خواندن پیام هایی که قبلا ذکر شد را می دهیم. .
حالا در پایان این را تایپ کنید
bot.run("your bot token here")
کاری که این کار انجام می دهد این است که به ربات ما متصل می شود و آن را راه اندازی می کند/آن را آنلاین می کند.
اکنون کل کد ما به این شکل خواهد بود
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix=".",intents=intents)
bot.run("your bot token here")
با اجرای این دستور این کد را اجرا کنید
python main.py
if there are any errors in the terminal do comment on this post so that I can know
تبریک میگم ربات ما اکنون آنلاین است.
حالا بیایید اولین دستور خود را اضافه کنیم.
ما کد خود را برای دستورات بین این دو می نویسیم
بیایید یک دستور ایجاد کنیم. برای ایجاد یک دستور باید از این نحو استفاده کنیم.
@bot.command()
async def hello(ctx):
await ctx.send("Hii There! I am Mannu And Welcome to the discord.py tutorial")
کاری که ما در اینجا انجام می دهیم اضافه کردن یک دکوراتور به نام bot.command(). کاری که انجام می دهد این است که وقتی دستور روی ربات اجرا می شود، def ما را صدا می کند. زیاد گیج نشوید متوجه خواهید شد که چه می خواهم بگویم.
اکنون یک تعریف async با نام hello ایجاد کردیم که نام دستور ما نیز هست. خوبیش اینه که دکوراتور بالا دستوری هم نام تابع ما ایجاد میکنه. حالا در این async def ctx را به عنوان param می دهیم. سپس در این تعریف ما منتظر خط کد خود هستیم که این است ctx.send("Your Message")
. کاری که انجام می دهد این است که باعث می شود ربات پیام ارسال کند.
برنامه خود را ذخیره کنید و برای استفاده از اولین دستور ما آماده شوید.
برنامه را اجرا کنید و منتظر بمانید تا ربات ما آنلاین شود.
.hello را در چت discord تایپ کنید. و Enter را فشار دهید
و شما می روید. ما با موفقیت اولین دستور خود را ایجاد کردیم.
در اینجا کد کامل برای هر مورد است
import discord
from discord.ext import commands
from dotenv import load_dotenv
import os
load_dotenv()
token = os.environ["TOKEN"]
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix=".",intents=intents)
@bot.command()
async def hello(ctx):
await ctx.send("Hii There! I am Mannu And Welcome to the discord.py tutorial")
bot.run(token)
ما در آینده دستورات پیچیده تری ایجاد خواهیم کرد، بنابراین سعی کنید بفهمید این چیزها چیست. لطفا اگر کمک کرد لایک کنید
کد نویسی مبارک!
مرد