إنشاء بوت ديسكورد في بايثون. الجزء الأول

إصدارات المؤلف

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


يجب أن تبدو هذه:





النهاية



هذا يكمل الجزء الأول. الجزء الثاني قريبًا.




All Articles