Python: 3.8.2
discord.py: 1.3.3
تحياتي ، Khabrovites ومستخدمي الإنترنت الآخرين. سأبدأ اليوم سلسلة من المقالات المخصصة لإنشاء روبوت Discord باستخدام مكتبة discord.py. سننظر في إنشاء روبوت بدائي وروبوت "متقدم" بوحدات. في هذه المقالة ، سنقوم بعمل أمر قياسي وأمر صغير آخر. هيا بنا نبدأ!
إنشاء روبوت والحصول على رمز مميز
لإضافة روبوت إلى الخادم ، تحتاج إلى إنشاء التطبيق الخاص بك ونسخ معرف العميل في علامة التبويب معلومات عامة.
هنا نستبدل CLID بمعرف العميل المنسوخ مسبقًا.
https://discordapp.com/oauth2/authorize?&client_id=CLID&scope=bot&permissions=8
في علامة التبويب Bot ، أنشئ روبوتًا وانسخ الرمز المميز.
الترميز
قم بتثبيت المكتبة نفسها.
pip install discord
قم بإنشاء ملف config.py (هذا أكثر ملاءمة) ، وأنشئ قاموسًا هناك.
settings = {
'token': ' ',
'bot': ' ',
'id': Client ID , ,
'prefix': ' '
}
نقوم بإنشاء ملف رئيسي ، يمكن أن يكون الاسم أي شيء.
نقوم باستيراد المكتبات وملف التكوين الخاص بنا:
import discord
from discord.ext import commands
from config import settings
قم بإنشاء روبوت "جسم" ، يمكن أن يكون الاسم أيًا:
bot = commands.Bot(command_prefix = settings['prefix']) # settings, prefix.
لنبدأ في كتابة الكود الرئيسي.
@bot.command() # pass_context, .
async def hello(ctx): # ctx.
author = ctx.message.author # author .
await ctx.send(f'Hello, {author.mention}!') # , author.
في النهاية ، أطلقنا الروبوت باستخدام:
bot.run(settings['token']) # settings token,
import discord
from discord.ext import commands
from config import settings
bot = commands.Bot(command_prefix = settings['prefix'])
@bot.command() # pass_context, .
async def hello(ctx): # ctx.
author = ctx.message.author # author .
await ctx.send(f'Hello, {author.mention}!') # , author.
bot.run(settings['token']) # settings token,
يجب أن تبدو هذه:
تعليمي مكافأة!
دعنا نستنتج صورًا عشوائية مع الثعالب
للقيام بذلك ، نقوم باستيراد مكتبتين أخريين:
import json
import requests
لنبدأ في كتابة الأمر.
@bot.command()
async def fox(ctx):
response = requests.get('https://some-random-api.ml/img/fox') # Get-
json_data = json.loads(response.text) # JSON
embed = discord.Embed(color = 0xff9900, title = 'Random Fox') # Embed'a
embed.set_image(url = json_data['link']) # Embed'a
await ctx.send(embed = embed) # Embed
يجب أن تبدو هذه:
النهاية
هذا يكمل الجزء الأول. الجزء الثاني قريبًا.