Python: 3.8.2
discord.py: 1.3.3
Salutations, Khabrovites et autres internautes. Aujourd'hui, je vais commencer une série d'articles consacrés à la création d'un bot Discord en utilisant la bibliothèque discord.py. Nous envisagerons de créer à la fois un bot primitif et un bot «avancé» avec des modules. Dans cet article, nous allons créer une commande standard et une autre petite commande. Commençons!
Créer un bot et obtenir un jeton
Pour ajouter un bot au serveur, vous devez créer votre propre application et copier l'ID client dans l'onglet Informations générales.
Ici, nous remplaçons CLID par l'ID client précédemment copié.
https://discordapp.com/oauth2/authorize?&client_id=CLID&scope=bot&permissions=8
Dans l'onglet Bot, créez un bot et copiez le jeton.
Codage
Installez la bibliothèque elle-même.
pip install discord
Créez un fichier config.py (c'est plus pratique) et créez-y un dictionnaire.
settings = {
'token': ' ',
'bot': ' ',
'id': Client ID , ,
'prefix': ' '
}
Nous créons un fichier principal, le nom peut être n'importe quoi.
Nous importons des bibliothèques et notre fichier de configuration:
import discord
from discord.ext import commands
from config import settings
Créez un bot "corps", le nom peut être n'importe lequel:
bot = commands.Bot(command_prefix = settings['prefix']) # settings, prefix.
Commençons à écrire le code principal.
@bot.command() # pass_context, .
async def hello(ctx): # ctx.
author = ctx.message.author # author .
await ctx.send(f'Hello, {author.mention}!') # , author.
À la fin, démarrez le bot avec:
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,
Ça devrait ressembler à ça:
Tutoriel bonus!
Faisons une conclusion d'images aléatoires avec des renards
Pour ce faire, nous importons quelques bibliothèques supplémentaires:
import json
import requests
Commençons à écrire la commande.
@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
Ça devrait ressembler à ça:
la fin
Ceci termine la partie 1. Partie 2 à venir.