Membuat bot Discord dengan Python. Bagian 1

Versi penulis

Python: 3.8.2

discord.py: 1.3.3



Salam, Khabrovites dan pengguna Internet lainnya. Hari ini saya akan memulai serangkaian artikel yang ditujukan untuk membuat bot Discord menggunakan perpustakaan discord.py. Kita akan melihat cara membuat bot primitif dan bot "lanjutan" dengan modul. Pada artikel ini kita akan membuat perintah standar dan satu perintah kecil lagi. Ayo mulai!



Membuat bot dan mendapatkan token



Untuk menambahkan bot ke server, Anda perlu membuat aplikasi Anda sendiri dan menyalin ID Klien di tab Informasi Umum.





Di sini kami mengganti CLID dengan ID Klien yang disalin sebelumnya.



https://discordapp.com/oauth2/authorize?&client_id=CLID&scope=bot&permissions=8


Di tab Bot, buat bot dan salin tokennya.





Pengodean



Instal perpustakaan itu sendiri.



pip install discord


Buat file config.py (ini lebih mudah), dan buat kamus di sana.



settings = {
    'token': ' ',
    'bot': ' ',
    'id': Client ID ,  ,
    'prefix': ' '
}


Kami membuat file utama, namanya bisa apa saja.

Kami mengimpor perpustakaan dan file konfigurasi kami:



import discord
from discord.ext import commands
from config import settings


Buat bot "body", namanya bisa apa saja:



bot = commands.Bot(command_prefix = settings['prefix']) #       settings,      prefix.


Mari mulai menulis kode utama.



@bot.command() #    pass_context,        .
async def hello(ctx): #      ctx.
    author = ctx.message.author #   author      .

    await ctx.send(f'Hello, {author.mention}!') #     ,    author.


Pada akhirnya, mulai bot dengan:



bot.run(settings['token']) #    settings   token,   


Kode lengkap
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,   


Ini akan terlihat seperti ini:





Tutorial bonus!



Mari membuat kesimpulan dari gambar acak dengan rubah

Untuk melakukan ini, kami mengimpor beberapa perpustakaan lagi:



import json
import requests


Mari mulai menulis perintahnya.



@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


Ini akan terlihat seperti ini:





tamat



Ini menyelesaikan Bagian 1. Bagian 2 segera hadir.




All Articles