Versión de Python: 3.8.2
versión discord.py: 1.3.3
Saludos, Khabrovites y otros usuarios de Internet. Hoy comenzaré una serie de artículos dedicados a la creación de un bot de Discord usando la biblioteca discord.py. Consideraremos crear tanto un bot primitivo como un bot "avanzado" con módulos. En este artículo, haremos un comando estándar y otro pequeño comando. ¡Empecemos!
Creando un bot y obteniendo un token
Para agregar un bot al servidor, debe crear su propia aplicación y copiar el ID de cliente en la pestaña Información general.
Aquí reemplazamos CLID con el ID de cliente previamente copiado.
https://discordapp.com/oauth2/authorize?&client_id=CLID&scope=bot&permissions=8
En la pestaña Bot, cree un bot y copie el token.
Codificación
Instale la propia biblioteca.
pip install discord
Cree un archivo config.py (esto es más conveniente) y cree un diccionario allí.
settings = {
'token': ' ',
'bot': ' ',
'id': Client ID , ,
'prefix': ' '
}
Creamos un archivo principal, el nombre puede ser cualquier cosa.
Importamos bibliotecas y nuestro archivo de configuración:
import discord
from discord.ext import commands
from config import settings
Crea un "cuerpo" de bot, el nombre puede ser cualquiera:
bot = commands.Bot(command_prefix = settings['prefix']) # settings, prefix.
Comencemos a escribir el código principal.
@bot.command() # pass_context, .
async def hello(ctx): # ctx.
author = ctx.message.author # author .
await ctx.send(f'Hello, {author.mention}!') # , author.
Al final, lanzamos el bot usando:
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,
Debe tener un aspecto como este:
Tutorial de bonificación!
Hagamos una conclusión de imágenes aleatorias con zorros.
Para hacer esto, importamos un par de bibliotecas más:
import json
import requests
Comencemos a escribir el comando.
@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
Debe tener un aspecto como este:
el fin
Esto completa la Parte 1. Próximamente la parte 2.