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,
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.