Skip to content
GerrySoft edited this page Oct 26, 2020 · 5 revisions

Hola, este bot usa discord.py para almacenar problemas, hacer que salga el problema del día, automatizar reacciones, y más cosas. Esta no es la primera versión, se hizo una reforma para que fuera más escalable y fácil de mantener. La estructura de archivos es la siguiente:

bot.py
exec.sh
util.py
variables.py

#(escondido)
papalote.db
secrets.py
  • bot.py: es donde corre el bot. Simplemente crea la instancia y añade los comandos de los paquetes (secciones del bot), además de eventos clave cómo gestionar reacciones y tareas.
  • exec.sh: es un script (linux) para ejecutar el bot, desactivándolo en primer lugar, y volviéndolo a ejecutar. Además genera un archivo * debug.log para ver los fallos
  • util.py: funciones comunes a algunos módulos, como la función show_problem, para mostrar un problema con un formato o una función para comprobar roles.
  • variables.py: aquí van las variables globales que deben ponerse en un archivo por separado, que será este
  • secrets.py: este archivo está incluido en el .gitignore. Contiene el TOKEN de discord. Para poder ejecutar el bot, hay que crear este archivo e introducir:
TOKEN = "token del bot"

El bot está dividido en secciones (paquetes en Python), donde cada sección está especializada en una tarea concreta. Dichas secciones tienen una clase Cog() donde van los comandos de discord.py que tendrá la sección, así que el archivo principal bot.py solo tiene que poner

bot.add_cog(seccion.Cog(bot))

para agregar todos los comandos de la sección de una. Si hay funciones para reacciones o tareas, también se implementan en dichas carpetas, y luego se las llama en bot.py, para mantener un orden y que sea altamente escalable