Skip to main contentdfsdf

Home/ deadtomato48's Library/ Notes/ Como Crear Un Bot en Discord.py

Como Crear Un Bot en Discord.py

from web site

Servers DISCORD SERVER

Hola que tal? hoy les traigo este post de como crear un bot de discord usando discord.py.


Cabe destacar que es muy pero muy recomendable saber de python desde antes(python es un lenguaje de programación y usaremos la biblioteca de python discord.py para programar nuestro bot.


Requisitos


Python o Python3


Una cuenta en Discord


Tener permisos administrativos en un server


Parte 1: discord/developers


Lo mejor sera que primero crearnos nuestro bot e invitarlo a nuestro servers que usaremos para probarlo, esto lo haremos siguiendo este link Discord para desarrolladores.


Al entrar en la pagina les pedirá autenticarse con su cuenta de discord, luego de eso deberá aparecer algo así y le dan a "New aplication"


Al darle a ese boton("New aplication") ponen el nombre de su preferencia, ese es el nombre de su aplicación mas no de su bot luego les aclaro eso, les deberá aparecer algo asi:


Luego de darle a "Create" les deberá mostrar el menú de nuestra aplicación, algo así:


La pagina inicial no es muy interesante por ahora, lo que realmente estamos buscando es el Token de nuestro bot, el token es como la "llave" o "contraseña" de nuestro bot, eso lo haremos para cargar los comandos y demás, ese "token" lo encontramos en la parte de "bot" en el menú de la izquierda, luego de darle clic veremos algo así:


Luego le damos clic a el botón que dice "add bot" y saldara un mensaje y le daremos a "Yes, do it"! y saldrá algo así:


Ahí donde sale el icono de discord, esa es la foto de perfil o avatar de nuestro bot, ahí podemos subir una y ponerle otro perfil a nuestro gusto, también esta una parte de token, 3 textos hablan de token, el primero "Click to Reveal Token", el segundo "Copy" y el ultimo "Regenerate", expliquemos esto brevemente, el primero es para ver el token, el segundo para copiarlo al portapapeles y el tercero es para invalidar el token actual y crear otro.


Importante En ultimas actualizaciones la parte del link de invitacion es ingresando a Oauth2 -> URL GENERATOR


Copiamos el token y seguimos a ir a "OAutho2", en OAutho2 vamos al final de la pagina y seleccionamos "bot" y veremos algo así:


Luego seguimos bajamos mas y veremos algo así, que son los permisos del bot, yo siempre selecciono "Administrator" para los permisos asi no tengo que seleccionar todos


Y si nos fijamos veremos un link en el medio de los dos cuadros de selección, ese link es el famoso "link de invitación", copiamos el link y lo abrimos en una pestaña seleccionamos el server de nuestra preferencia, y veríamos algo así:


Luego autorizamos los permisos de "administrador" o los que hayan elegido, comprobamos que no somos un bot y ya estaria listo. Si seguistes todos los pasos bien, tu deberia haberse unido al servidor selecionado, recuerda que tienes que esperar el mensaje que diga:


Ya tendríamos nuestro bot en el servidor, claro pero no esta activo, podemos comprobarlo, en la hilera de la derecha, sale Desconectado, TestBot y es lógico, nosotros solo hemos creado un bot y lo hemos metido en nuestro server, pero no tiene ni prefix ni nada y eso lo arreglaremos a continuación.


# Parte 2: Intalaciòn de lo que necesitaremos


Ahora, si no lo tenemos ya, vamos a la pestaña de bot y copiamos el token, ahora comprobemos que tenemos python


y deberia dar como respuesta:


O si no tienes python3:


Si no te funciona ninguno de los dos, y te sale algo parecido a esto:


Significa que no tienes python instalado en tu SO(sistema operativo) y entonces debemos instalarlo. Nos dirijimos a la pagina de python y encontraremos algo asi:


En la navegación(el menú de arriba) encontramos:


Lo que nos importa es "Downloads" al posicionar el cursos sobre downloads, nos mostrar el paquete a descargar segun nuestro so y abajo de donde dice "Download for Windows" o "Download for Mac OS X" hay un botón, que dice python 3.9.5 o superior dependiendo de cuando veas este post, le das clic ahí y comenzara la descargar ...


Instalacion en Windows


Luego de que se instale el archivo, vamos a la carpeta que lo contiene y lo abrimos como administrador("ejecutar como administrador") luego de dar nuestra credenciales para ejecutarlo como administrador, nos saldrá algo así:


La versión de el python en la captura es algo vieja pero igual deben ser los mismos pasos


Importante es pinchar en el recuadro de el final que dice "Add Python 3.7 to PATH"


Luego en la parte superior encontramos dos opciones:


- Install Now: que incluye :IDLE, pip and documetation
- Customize Installation


Con la opción "Add Python 3.7(o superior dependiendo de la fecha) to PATH" previamente pinchada, presionamos "install Now", comienza la instalacion y cuando termine, seleccionamos close en la esquina inferior derecha.


Luego al irnos al menú debería estar el IDLE y Python en "agregados recientemente"


Instalación en Linux


Nos dirigimos a la terminal, en ella escribimos el siguente comando:


Luego les pedirá confirmación presiona Y + Enter, y comenzara la descarga.


Yo ya lo tengo por eso me salio ese mensaje


Proseguimos instalando el IDLE de python:


Luego desde el menu podemos conseguir el IDLE si lo instalamos bien, al abrirlo desde el menu saldria algo asi:


Parte 3: Creación del código(sección 1)


Nos dirigimos al directorio que queramos, comúnmente el Escritorio y creamos un carpeta, el nombre no importa, pero la llamaremos "bot", nos abrimos la carpeta y seleccionamos "abrir en terminal" o algo parecido con eso ya deberias tener la terminal dentro de la carpeta, deberia salir toda la direccion algo así: user/Escritorio/bot, donde user es tu usuario y lo demás es la ubicación donde yo tengo el bot.


Consejos


Si no sabes moverte desde consola estos comandos te ayudaran un poco:


Cuando abras la terminal dándole click a el icono o con algún atajo de teclado, usa el comandos :
ls o dir en windows


Ahí veras una serie de archivos y carpetas que estan en la carpeta personal, si creaste la carpeta en el escritorio deberás hacer esto:


si tu pc esta en ingles usa luego de dir:


cd Desktop


si esta en español:


cd Escritorio


Luego de estar dentro de Escritorio usa cd mas el nombre de tu carpeta, en mi caso bot


cd bot


Parte 3: Creación del código(sección 2)


Instalamos pipenv, es para crear un entorno virtual y estar mas seguros. Discord-servers.co


eso con python3


con python


Seguidamente iniciamos el entorno virtual en nuestra carpeta


Instalamos la librería discord.py para programar los comandos de nuestro bot


Hechos los anteriores pasos debería crearse un archivo Pipfile que vendría siendo muy parecido en uso a el package.json


Si nos metemos en el archivo Pipfile, y bajamos un poco deberíamos ver algo así:


Y si vemos en packages dice discord.py.Eso significa que instalamos discord.py correctamente


Parte 3 Creación del código(sección 3)


Adentro de nuestra carpeta, bot o como vos la llamaste, tenemos nuestro archivo Pipfile y un archivo Pipfile.lock, ninguno de estos archivos debemos modificar


Listo con las dependencias creamos una carpeta llamada src, adentro creamos un archivo main.py ese contendrá el código de nuestro bot, ahora toca, echar código.... No importa que editor de código uses, puede ser Atom, SublimeText, Nvim, Vscode, el IDLE no importa.


Ahora si no tenias ningún editor de código antes de ver este post, puedes usar el IDLE que instalamos, lo abrimos y vemos en la esquina superior izquierda que dice -entre otras cosas- file le damos clic ahí, luego nos aparecerá otro menú, le damos a "open" y de ahí navegamos a donde este nuestro archivo del bot(el main.py)


# Comencemos con las importaciones


En la parte superior de nuestro archivo ponemos:


Ahora declaramos la variable bot, que es la que nos ayudara a conectarnos con el bot.


Eso lo que dice es que el prefix de nuestro bot es : “ _ “. El prefix es el la forma de llamar a nuestro bot.


Cabe decir que, yo he visto varios códigos de bot y también se usa mucho client en vez de bot, aunque eso no importa dado que es solo el nombre de una variable, pero a la hora de trabajar conjunto a otros dev's si que es de suma importancia


Ahora vamos a crear el primer comando, como sabrás en programación es una buena practica que para iniciar se haga el famoso "Hola mundo", pues en los bot hay algo parecido que es el "ping" y el bot te devuelve "pong", agreguemosle esa tarea a nuestro bot:


Que hicimos ahi? simple:


1) @bot.command(): simplemente nos crea un comando.


2) asyng def ping(): una función, ella es la que se encarga de manejar ese comando, el nombre de la función sera el nombre del comando en este caso "ping" y se le pasa el contexto(ctx).


3) luego en la siguiente linea està el envió del mensaje.


El código completo hasta ahora seria:


Pongamos un estado a nuestro bot, los típicos, viendo, jugando, escuchando y trasmitiendo, eso son todos para que vean:


No le pongas todos, ponle solo uno
Yo en mi caso, usare viendo como casi todos los bot:


Y ahora la hora de la verdad, hay que poner el token para activar nuestro bot, y lo haremos de la siguiente forma de hacer que nuestro bot se conecte con el código que hemos escrito. Lo primero debemos tener el token en portapapeles, y lo ponemos entre comillas, algo asi:


Consejos: no compartan su token, no pongan este codigo en replit, les pueden robar el token, en otro post hablare de variables de entorno(.env)


Ahora juntemos todo:


Parte 4: Probando el bot


Para Correr nuestro bot tendriamos que hacer algo asi:


python main.py


o


python3 main.py


o en el IDLE seria presionando F5


Ahora vamos a nuestro server y probemos el bot, con el único comando, _ping:


Parte 5: help_command


También podemos usar el comando _help pero no es así muy bonito véanlo ustedes mismos:


Para cambiar eso, simplemente ponemos algo a nuestra variable bot:


help_command:None invalida el comando help para que nosotros podamos crear uno libremente, de otra forma daria un error similar a este:


Nos informa que hay un comando help ya


Bueno luego de poner el código de arriba escribimos nuestro help_command personalizado:


Los son saltos de linea nada más
Se vería así nuestro help_command:


Parte 6: Conclusión


Y todo junto seria:


Anotacion


pipenv shellcrea un entorno virtual y nosotros al hacer pipenv install discord.py estamos diciendo: En esta carpeta en este entorno virtual quiero que me instales discord.py, no en mi pc globalmente, lo que quiere decir que para correr nuestro bot siempre debemos iniciar el entorno virtual en la misma carpeta del bot, porque los entornos virtuales son totalmente diferentes unos de otros.


Esto es un post introductorio, no insinuó que esto es todo lo que se pueda hacer con los bot porq la verdad hay muchas posibilidades, esto es solo lo básico para comenzar con esta fabuloso y divertido mundo de los bot. Sin nada mas que agregar, Dios mediante seguiré escribiendo, El próximo post seguramente tratara de variables de entorno.


Espero haya sido de su agrado bye :) alguna duda o error por favor déjamelo en los comentarios.


dedicacion a: @adeodato


- Email
fsusanaj@gmail.com


- Location
Mexico


- Joined
Apr 17, 2021


Eres el Mejor y algún día quisiera tener la oportunidad de trabajar a tu lado!! bendiciones!!!


- Joined
Apr 18, 2022


En repl.it también se puede hacer un bot sólo que hay que guardarlo en un secret


- Joined
Jan 2, 2022


Me aparece el siguiente error: Callback for ping command is missing "ctx" parameter


- Joined
Apr 14, 2021


hola perdon por no responder, sigues con el error? si es asi pasa el codigo para ver
:)

deadtomato48

Saved by deadtomato48

on Sep 03, 22