در Discord، افراد برای به اشتراک گذاشتن ایدهها، بحث در مورد پروژهها و به طور کلی در مورد زندگی و سرگرمی با هم ارتباط برقرار می کنند. اما رباتهای Discord میتوانند چت روم های شما را علاوه بر خودکار کردن وظایف، سرگرمکنندهتر هم کنند. با این وجود، چند مرحله ضروری وجود دارد که باید هنگام یادگیری چگونگی ساخت ربات Discord رعایت کنید. در این مقاله به آموزش ساخت ربات Discord می پردازیم.
آموزش ساخت ربات Discord
سرور Discord خود را ایجاد کنید.
قبل از ایجاد یک ربات Discord، باید با ایجاد یک سرور شروع کنید.
سرور Discord یا chat room فضایی است که در آن کانال ها و ارتباطات را روی پلتفرم مدیریت می کنید.
برای ایجاد یک سرور Discord، به وب سایت Discord بروید و وارد داشبورد Discord خود شوید. یا اگر تاکنون این کار را نکرده اید، یک حساب کاربری ایجاد کنید.
پس از ورود به داشبورد خود، این مراحل را برای ایجاد یک سرور Discord دنبال کنید:
روی نماد افزودن (+) در نوار کناری سمت چپ کلیک کنید.
گزینه Create My Own را انتخاب کنید
هدفی را برای ایجاد سرور خود انتخاب کنید.
سرور خود را با یک عکس پروفایل و یک نام سفارشی کنید. سپس روی «Create» کلیک کنید.
شما اکنون یک سرور Discord ایجاد کرده اید و آماده ساخت یک ربات برای کنترل فعالیت ها در آن هستید.
ربات دیسکورد خود را راه اندازی و ایجاد کنید
اکنون باید با رفتن به پورتال توسعهدهنده Discord، یک ربات Discord در داخل یک برنامه Discord ایجاد کنید. یا به جای آن می توانید URL زیر را در قسمت آدرس مرورگر خود تایپ کنید:
https://discord.com/developers/applications
یک بار در developer console:
روی «New Application» در بالا سمت چپ کلیک کنید.
در قسمت داده شده نامی برای برنامه خود وارد کنید. سپس روی «Create» کلیک کنید.
به نوار کناری سمت چپ نگاه کنید و Bot را انتخاب کنید.
روی «Add Bot» در سمت راست کلیک کنید.
از دستور بعدی، «yes,do it!» را انتخاب کنید!
برای کپی کردن رمز ربات خود، روی copy کلیک کنید. یک فایل متنی در داخل project root خود ایجاد کنید و آن را در آنجا Paste کنید. میتوانید نام فایل را Secret.txt بگذارید. مطمئن شوید که توکن کپی شده را در جایی منتشر نکنید.
به پایین بروید و سوئیچ را در زیر PRESENCE INTENT تغییر دهید. همچنین، کلید را در زیر SERVER MEMBERS INTENT روشن کنید.
سپس روی OAuth2 در نوار سمت چپ کلیک کنید تا authentication priorities را به ربات Discord خود اضافه کنید.
برای ایجاد URL دعوت ربات برای سروری که قبلاً ایجاد کردید، URL Generator را انتخاب کنید.
از گزینهها، در زیر SCOPES، ربات را انتخاب کنید.
به قسمت BOT PERMISSION بروید و وظایف را برای ربات Discord خود انتخاب کنید. اکنون، نقش مدیر را به آن می دهیم.
- به پایین بروید و روی «copy» کلیک کنید تا URL ایجاد شده را در کلیپ بورد خود کپی کنید.
اکنون سرور خود را به ربات لینک کنید.
یک سرور را به ربات Discord خود لینک کنید
همانطور که اشاره کردیم، یک ربات در درجه اول در داخل سرور کار می کند. در نتیجه، پس از ایجاد یک ربات Discord طبق آنچه که گفته شد، باید آن را به سروری اختصاص دهید که در آن می خواهید کار کند.
بنابراین هنگامی که URL تولید شده را کپی کردید، مراحل زیر را دنبال کنید تا چت روم خود را به ربات Discord لینک کنید:
URL کپی شده را در قسمت آدرس مرورگر خود قرار دهید و وارد آن شوید.
روی «Select a server» کلیک کنید و سروری را که قبلاً ایجاد کردهاید انتخاب کنید.
برای ادامه روی «Continue» کلیک کنید.
یک منوی جدید با لیستی از مجوزهایی که قبلا تنظیم کرده بودید، خواهید دید. مجوز را انتخاب کنید
برای تکمیل مجوز ربات Discord خود، CAPTCHA را حل کنید.
شما اکنون یک ربات Discord ایجاد کرده اید. به داشبورد سرور خود برگردید ، اکنون ربات را در نوار کناری سمت راست خواهید دید. اما همانطور که می بینید، در حال حاضر آفلاین است. بنابراین تا زمانی که آن را برای انجام این کار برنامه ریزی نکنید، کار نخواهد کرد. برای اینکه ربات شما کار کند، باید یک اسکریپت به یک زبان برنامه نویسی بنویسید که بهترین عملکرد را برای شما دارد.
ربات Discord خود را با استفاده از پایتون برنامه ریزی کنید
برای این آموزش، ما از پایتون استفاده می کنیم و ربات Discord را در local machine میزبانی می کنیم. اگر بخواهید، میتوانید خدمات خود را در سرویسهای ابری مانند Heroku میزبانی کنید. بیایید شروع کنیم؛
Python و Libraries را راه اندازی کنید
برای برنامه نویسی ربات Discord خود با پایتون، از ماژول discord.py استفاده خواهیم کرد که فقط با Python 3.5.3 یا بالاتر کار می کند.
اگر قبلتر این کار را انجام نداده اید یا نسخه قدیمی تر را دارید، برای دانلود آخرین نسخه پایتون به python.org بروید.
با وارد کردن دستور زیر در ترمینال خود می توانید نسخه پایتون نصب شده روی رایانه شخصی خود را بررسی کنید:
Python –version
اگر پایتون به روز است، ترمینال را به project root خود باز کنید. سپس یک Python virtual environment را فعال کنید.
همچنین، باید discord.py و یک بسته پشتیبانی صوتی به نام discord.py[voice] را نصب کنید.
با اطمینان از فعال بودن آن، دستور زیر را در ترمینال خود برای نصب این بسته ها اجرا کنید:
Pip install -U discord.py discord.py[voice]
با ربات Discord خود پیام ارسال کنید
در اینجا، ربات Discord خود را طوری برنامهریزی میکنید که هنگام ارسال متن در کانال، با یک پیام سفارشی پاسخ دهد.
اما ابتدا کد زیر را در بالای اسکریپت خود تایپ کنید:
Import discord
# Import the commands module:
From discord.ext import commands
# Initialize the bot instance and use a blank prefix:
Bot = commands.Bot(command_prefix=””)
#Read your bot token from the txt file in your project root:
Secret = open(“secret.txt”, ‘r’)
Secret = Secret.read()
#Run the bot in an event loop:
Bot.run(Secret)
متغیر ربات دستورات سفارشی را از command class فرا میخواند. و command_prefix در پرانتز به شما امکان میدهد یک کاراکتر قبل از آن را مشخص کنید. کاراکترهایی مانند علامت دلار ($)، تعجب (!)، علامت (&) و غیره پیشوندهای رایجی هستند که قبل از دستورات ربات قرار می گیرند.
اما ما پیشوند را در مثال خود خالی کرده ایم. بنابراین هنگام آموزش ربات Discord به یکی نیاز ندارید.
با استفاده از دکوراتور @bot.command()میتوانید یک دستور سفارشی، سلام، ایجاد کنید و وقتی ربات Discord آن را دید، یک متن پاسخ ارائه می کند.
توجه داشته باشید که دستورات سفارشی توابع پایتون هستند:
Import discord
# Import the commands module:
From discord.ext import commands
# Initialize the bot instance:
Bot = commands.Bot(command_prefix=””)
@bot.command()
Async def Hi(ctx):
Await ctx.send(“Hi, welcome to our server”)
Secret = open(“secret.txt”, ‘r’)
Secret = Secret.read()
Bot.run(Secret)
اکنون اسکریپت پایتون را در ترمینال خود اجرا کنید. سپس به Discord بروید و “hello” را ارسال کنید.
با نگاه دقیق، خواهید دید که از روش async await برای ارائه عملکرد استفاده کردهایم. زیرا ضروری است، و تنها راه ارتباط ماژول با Discord است.
ctx عملکردهای زیادی دارد. اما در این مورد، به ربات Discord شما اجازه می دهد پیام ارسال کند.
به اعضای جدید کانال با ربات خود خوش آمد بگویید
در این مثال، نحوه استفاده از رویدادها برای ارسال یک پیام تبریک زمانی که شخصی به سرور شما میپیوندد، خواهید دید. همچنین یاد خواهید گرفت که چگونه نام کاربری یک عضو جدید و سروری که به آن ملحق شده است را در پیام تبریک نمایش دهید.
در این مرحله از @bot.event استفاده خواهیم کرد. در اینجا نحوه کار بدین شکل است:
@bot.event
Async def on_member_join(member):
Guild = member.guild
If guild.system_channel is not None:
detailMessage = ‘We welcome {0.mention} to the {1.name}!’.format(member, guild)
await guild.system_channel.send(detailMessage
تابع on_member_join یک نوع رویداد است. برای مثال، on_ready یک رویداد پرکاربرد برای بررسی آماده بودن یا نبودن ربات است.
علاوه بر این، دستور شرطی که به دنبال if قرار میگیرد، بررسی میکند که آیا سرور متصل (روم یا چت روم) وجود دارد یا خیر. اگر اینطور باشد، از روش Python string format برای خروجی نام کاربری عضو جدید و سروری که به آن ملحق شده است استفاده می کند.
حالا از یکی از دوستان خود بخواهید که به سرور شما بپیوندند تا ببینند چه اتفاقی می افتد. ممکن است بخواهید ابتدا این کار را با یک حساب ساختگی Discord امتحان کنید تا مطمئن شوید که کار می کند یا خیر.
از Discord Bot بخواهید به یک کانال صوتی بپیوندد یا آن را ترک کند
حالا بیایید کد را گسترش دهیم. و این بار، به ربات خود بگوییم که با دریافت فرمان خاصی به یک کانال صوتی ملحق شود یا آن را ترک کند.
در کد مثال زیر، ربات Discord با تایپ enter به شما در یک کانال صوتی می پیوندد:
@bot.command()
Async def enter(ctx):
If ctx.author.voice:
Await ctx.message.author.voice.channel.connect()
دستور شرط if بررسی می کند که آیا قبلاً به یک کانال صوتی ملحق شده اید یا خیر. در این صورت، کلمه کلیدی await، ربات Discord شما را به آن متصل میکند.
این به این معناست که قبل از اینکه دستور کار کند باید به یک کانال صوتی ملحق شده باشید.
توجه: اطمینان حاصل کنید که اسکریپت پایتون خود را پس از هر به روز رسانی متوقف کرده و دوباره راه اندازی می کنید. این کار به پایتون اجازه می دهد تغییرات شما را همگام سازی کند.
هنگامی که اسکریپت پایتون خود را دوباره اجرا کردید، Discord را باز کنید و enter را تایپ کنید، اکنون خواهید دید که ربات Discord شما به کانال صوتی پیوسته است.
درخواست از ربات خود برای ترک کانال به سادگی اضافه کردن آن است.
کد زیر به ربات می گوید که با تایپ دستور مناسب از کانال خارج شود. در این مورد از کلمه “leave” استفاده می کنیم:
@bot.command()
Async def leave(ctx):
If ctx.voice_client:
Await ctx.guild.voice_client.disconnect()
توقف کرده و دوباره اسکریپت خود را اجرا کنید. ربات Discord اکنون باید با ارسال فرمان leave از کانال صوتی خارج شود.
ربات Discord خود را به طور پیوسته بهبود بخشید.
نمونه بلوک های کد را کنار هم قرار دهید و به افزودن ویژگی ها به ربات Discord خود ادامه دهید. به عنوان مثال، می توانید به آن بگویید که به محض پیوستن به یک کانال صوتی، موسیقی را از رایانه شخصی یا یک پلت فرم مشخص پخش کند.
استفاده از ربات های Discord سرگرم کننده می باشد. اگر تاکنون کارها را با استفاده از این ربات ها در چت روم های خود به طور خودکار انجام نداده اید، میتوانم بگویم یک ویژگی جذاب را از دست داده اید.
نظرات کاربران