Si está familiarizado con las comunidades en línea y si es parte de una o es dueño de una, debe haber oído hablar de Discord y en Discord, es posible que haya visto bots administrando esas comunidades. Entonces, en este artículo, configuraremos nuestra cuenta del portal de desarrolladores de Discord y crearemos un bot de Discord. Un bot mínimo con funcionalidades básicas y si quieres siempre puedes ampliar las funcionalidades de este bot según tus necesidades.
¿Qué es la discordia?
Discord es una aplicación de chat gratuita que proporciona diferentes funcionalidades de chat, como chat de voz, video y texto, y es utilizada por millones de personas en todo el mundo para uso profesional y divertido.
Las personas crean comunidades denominadas servidores en discordia y otras personas pueden unirse a estos servidores para pasar el rato allí para conocer gente nueva y hablar sobre sus intereses. Discord también ofrece la funcionalidad para crear servidores privados donde solo las personas invitadas pueden unirse usando estos servidores privados, las personas pueden tener una conversación privada con sus allegados.
Los servidores de Discord están llenos de canales creados por el propietario, pueden ser canales de texto, canales de audio o video. Estos canales se utilizan para hablar sobre temas específicos en el servidor.
¿Qué son los bots de discordia?
Discord es usado por más de 10 millones de personas diariamente usando estas estadísticas, podemos ver claramente el interés de las personas en las comunidades y la discordia está creciendo. La gente está explorando y uniéndose a nuevos servidores.
A medida que crece la popularidad de los servidores, las personas tienden a unirse más a ese servidor una vez que crece la cantidad de miembros, se vuelve difícil para los administradores administrar el servidor, aquí es donde entran en juego los bots. Hay varias tareas que los bots de administración pueden realizar para mejorar la experiencia del usuario en el servidor. Algunas de estas tareas son
- Bienvenida a los nuevos miembros.
- Respondiendo preguntas frecuentes.
- Prohibir a las personas tóxicas de los servidores.
- Responder, enviar, borrar mensajes.
- Administrar los roles de las personas en el servidor.
Y la lista continúa. Los administradores de grandes comunidades de discord siempre prefieren habilitar múltiples bots en su servidor, después de seguir este tutorial también puede crear su propio bot de discord, comencemos.
Crear un servidor de Discord
En primer lugar, necesitamos tener un servidor dedicado donde vamos a configurar nuestro bot. Este bot funcionará en un solo canal en este servidor. Para crear un servidor, debe tener una cuenta de discord, si aún no tiene una, puede crear una simplemente yendo a https://discord.com/.
Paso 1: haga clic en el botón Agregar servidor (más) en la barra lateral izquierda, se abrirá la interfaz Crear servidor. Elige la plantilla de tu servidor.
Paso 2: elige si usas este servidor por diversión o comunidad.
Paso 3: elija un nombre bueno y atractivo para su servidor. Si lo está utilizando para la comunidad, simplemente puede dar el nombre de su comunidad o empresa.
Paso 4: Su servidor ahora está creado
Creación de un canal en el servidor
Ahora necesitamos crear un canal donde este bot estará activo, este bot solo responderá en este canal.
Paso 1: Haga clic en agregar en la lista de canales de texto.
Paso 2: elige el tipo de canal como canal de texto y dale un nombre a tu canal
Paso 3: se crea el canal
Crear un bot
Ahora que tenemos nuestra cuenta con el servidor lista, podemos continuar y crear nuestro primer bot en el portal de desarrolladores de Discord. El portal para desarrolladores de discord es una plataforma proporcionada por discord para las personas que desean ampliar las capacidades de discord y usarlas para crear cosas más interesantes, uno de los ejemplos es la creación de bots.
Paso 1: inicie sesión en el portal: vaya a https://discord.com/developers/applications e inicie sesión con su cuenta de Discord en la que se crea el servidor para el que desea crear un bot.
Paso 2: La aplicación se refiere a la nueva funcionalidad. Por ejemplo, Bot. Haga clic en nueva aplicación para inicializar su primer bot, elija un nombre para su aplicación. Recuerda que el nombre de la aplicación será el nombre de tu bot.
Paso 3: Crear un Bot, haga clic en Bot en la barra lateral izquierda y haga clic en Agregar Bot.
Paso 4: Se abrirá una ventana emergente que le preguntará si realmente desea agregar un bot, haga clic en Sí, hágalo.
Paso 5: copie el token con el botón COPIAR que se muestra a continuación. Este token se usa para autorizar programas con discordia.
Nota: ¡Nunca comparta su token con nadie!
Personalización y autorización de bot
Nuestro bot está creado, es hora de otorgar permisos y definir los alcances del bot. El permiso se refiere a lo que nuestro bot puede hacer en el servidor, por ejemplo, enviar mensajes. El alcance se refiere al rol que desempeñará el bot.
Paso 1: haga clic en OAuth2 y haga clic en Generador de URL ; verá varias casillas de verificación que se refieren a diferentes ámbitos. Para este bot, vamos a usar solo el alcance del bot , haga clic en la casilla de verificación Bot .
Paso 2: Las siguientes casillas de verificación son permisos para nuestra casilla. Vamos a dar permiso a este bot para enviar y responder mensajes , así que marque todas las casillas relacionadas con eso. Siempre puede cambiar estos permisos más tarde y generar una nueva URL.
Nota: si desea codificar comandos de barra diagonal, asegúrese de elegir aplicaciones.comandos también en el Paso 1.
Paso 3: desplácese hacia abajo y podrá ver una URL generada para el bot, haga clic en la copia para copiar esta URL.
Paso 4: pegue la URL copiada en una nueva pestaña aquí vamos a autorizar nuestro bot con el servidor. Elija el servidor que creamos anteriormente y haga clic en continuar.
Paso 5: Aquí verás los permisos del bot. Si lo desea, puede editarlos, haga clic en Autorizar
Paso 6: Verifica que eres un humano con un captcha y el bot debería estar autorizado ahora.
Paso 7: Vaya al servidor y podrá ver el nombre del bot que aparece en la lista de personas sin conexión.
Escribir código para bot
En esta sección, vamos a escribir código python para nuestro bot de discordia.
Paso 1: vamos a crear un archivo .env para almacenar la clave de renovación de nuestro bot que copiamos anteriormente, el archivo .env protegerá nuestras credenciales cuando alojemos nuestro código en algún lugar. Primero, cree un archivo con nombre .env en la carpeta de su proyecto y luego inserte el siguiente código.
TOKEN = ‘<TU_CLAVE>’
Paso 2: Importación de módulos
Cree un nuevo archivo python para el código del bot principal y asígnele el nombre que desee e importe los módulos necesarios.
- discordia: biblioteca proporcionada por discordia para usar la API de discordia rica en funciones.
- os: estamos usando variables de entorno os module se usa para importarlas.
- aleatorio: se utiliza para realizar varias operaciones aleatorias en los datos.
- dotenv: importando el archivo .env al archivo principal de python.
Python3
import discord import os import random from dotenv import load_dotenv
Paso 3: inicialización de variables
Python3
load_dotenv() client = discord.Bot() token = os.getenv('TOKEN')
Uso de la función load_dotenv() para importar variables de entorno. Creando un cliente discord para enviar una solicitud a la API discord y, por último, estamos obteniendo e inicializando nuestro token de variable de entorno.
Paso 4: Inicializar nuestro Bot
Python3
@client.event async def on_ready(): print("Logged in as a bot {0.user}".format(client))
Aquí estamos usando el evento on_ready() proporcionado por la API de discord una vez que nuestro cliente API haya inicializado este evento activará la realización de la operación dada. Aquí estamos imprimiendo el nombre de nuestro bot.
Paso 5: Configuración de respuestas de bot
- Estamos configurando respuestas de bot apropiadas para los mensajes de los usuarios. Evento de Discord API on_message que toma un argumento ya que el mensaje se usa para este propósito, el argumento del mensaje contiene detalles sobre el mensaje, el autor del mensaje, en qué canal se envió el mensaje, etc.
- Primero extraiga información sobre el mensaje, como el nombre de usuario, el canal y el contenido del mensaje.
- La siguiente línea juega un papel importante si el bot mismo envía el mensaje, entonces no responda si esta condición no está escrita, entonces el bot se responderá infinitamente a sí mismo.
- Vamos a activar nuestro bot en el canal que creamos en nuestro servidor llamado random, también puedes activar el bot en otros canales. Escribir varias declaraciones if-else funcionará, pero también puede implementar un chatbot utilizando el aprendizaje automático. Aquí implementamos algunas declaraciones if-else para responder a mensajes básicos como hola, hola y adiós e implementamos una declaración básica para contar una broma. Siempre puede agregar más funciones y hacer que su bot sea más interactivo.
Python3
@client.event async def on_message(message): username = str(message.author).split("#")[0] channel = str(message.channel.name) user_message = str(message.content) print(f'Message {user_message} by {username} on {channel}') if message.author == client.user: return if channel == "random": if user_message.lower() == "hello" or user_message.lower() == "hi": await message.channel.send(f'Hello {username}') return elif user_message.lower() == "bye": await message.channel.send(f'Bye {username}') elif user_message.lower() == "tell me a joke": jokes = [" Can someone please shed more\ light on how my lamp got stolen?", "Why is she called llene? She\ stands on equal legs.", "What do you call a gazelle in a \ lions territory? Denzel."] await message.channel.send(random.choice(jokes))
Paso 6: ejecutar el bot
Creamos el cliente API anterior que proporciona una función llamada para ejecutar esta función que toma el token de autenticación del argumento como un argumento y ejecuta el bot llamando al evento on_ready.
Python3
client.run(token)
Producción:
Tronco:
Creación de comandos
En los pasos anteriores, vimos cómo usar client.event para comandos, pero para usos prácticos generalmente no lo usamos. Discord nos ha proporcionado otra forma de crear comandos y es mediante el uso de prefijos.
Paso 1: importar comandos
Importe comandos de discord.ext que nos ayudarán a implementar comandos.
Python3
from discord.ext import commands
Paso 2: elija un prefijo
Ahora, elija un prefijo desde el cual se debe activar el bot y escuche los comandos. Esto puede ser cualquier símbolo, alfabeto o incluso una palabra. En aras de la simplicidad, elegiremos “!” como nuestro prefijo. Para ello edite el cliente previamente definido:
Python3
client = commands.Bot(command_prefix="!*)
Paso 3: Creación de comandos
Ahora, crearemos un comando. Para ello, utilizaremos client.command como decorador.
Python3
@client.command() async def ping(ctx): await ctx.send('Pong!')
- ctx : Representa la clase commands.context . Este argumento es obligatorio para todos los comandos normales (no para los comandos de barra). Representa el contexto en el que se invoca un comando. Este argumento puede proporcionar una gran cantidad de metadatos, por ejemplo: datos del autor, datos del mensaje, etc.
- ctx.send : se utiliza para enviar el mensaje de vuelta al canal donde se invocó el comando. Asegúrese de usar await ya que se trata de una rutina.
Ahora, ejecute su archivo nuevamente y vaya al canal del servidor donde está presente el bot.
Si escribes “!ping”, el bot responderá con “Pong”.
Conclusión
Entonces, este fue un ejemplo básico para usar la biblioteca discord.py para crear un Discord Bot. Con la versión actualizada de discord.py, incluso se pueden crear comandos de barra oblicua y modales.
Publicación traducida automáticamente
Artículo escrito por adityasangave21 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA