Añadir bots a tu servidor de Discord te permite automatizar tareas y agregar nuevas funciones. Aunque hay muchos bots populares listos para usar, es posible que necesites crear uno para tus necesidades específicas.
En este artículo, explicaremos cómo alojar un bot de Discord con el plan de alojamiento de servidor privado virtual de HolyHosting. Primero, exploraremos los pasos para desarrollar tu propio bot de Discord desde cero.
Luego, explicaremos cómo adquirir un plan de alojamiento VPS de HolyHosting y configurar el entorno del servidor para tu bot de Discord. Además, aprenderás sobre la optimización del rendimiento y el monitoreo del bot de Discord.
Cómo Crear un Bot de Discord
1. Crear una Cuenta de Bot de Discord
2. Configurar Permisos del Bot
3. Elegir un Lenguaje de Programación
4. Codificar el Bot
Cómo Alojar un Bot de Discord
1. Obtener Alojamiento VPS
2. Configurar el Entorno VPS
3. Subir el Bot de Discord
4. Iniciar el Bot
5. Monitorear y Mantener el Rendimiento del Bot
FAQ sobre Cómo Alojar un Bot de Discord
1. ¿Qué es un Bot de Discord?
2. ¿Cómo Elijo el Alojamiento VPS Correcto para Mi Bot de Discord?
3. ¿Qué Lenguaje de Programación Debería Usar para Construir Mi Bot de Discord?
4. ¿Puedo Ejecutar Múltiples Bots de Discord en el Mismo Servidor?
Cómo Crear un Bot de Discord
Hospedar tu propio bot de Discord adaptado a tus preferencias requiere que sea desarrollado manualmente. Los pasos pueden diferir según la funcionalidad y el lenguaje de programación de tu bot, pero el procedimiento general es similar.
1. Crear una Cuenta de Bot de Discord
Para comenzar a crear un bot de Discord, crea una cuenta en el Portal del Desarrollador. En esta plataforma, crearás los bots, gestionarás sus configuraciones y generarás el enlace de autenticación para invitarlos a tu servidor de Discord.
Para crear una cuenta de Discord, ve a la página de registro. Iniciarás sesión automáticamente en la nueva cuenta de Discord si abres el Portal del Desarrollador. Luego, sigue estos pasos:
- En la barra lateral, haz clic en Aplicaciones.
- Selecciona Nueva Aplicación en la esquina derecha.
- Ingresa el nombre de tu bot y marca la casilla de política de privacidad. Haz clic en Crear.
- Cambia el icono de la aplicación. Ingresa la descripción y las etiquetas. Haz clic en
Guardar Cambios para confirmar.
- Copia la ID de la aplicación y guárdala en tu computadora. La necesitaremos más adelante para habilitar el Modo Desarrollador.
Luego, configura el token de tu bot, una clave de autenticación que permite que tu aplicación se comunique con la API del bot de Discord. Así es cómo hacerlo:
- Ve a la barra lateral → Bot.
- Cambia el nombre de tu bot.
- Haz clic en Restablecer Token. Haz clic en Sí, hazlo para confirmar.
- Copia el token del bot y guárdalo en tu computadora.
Este token se insertará en el código fuente del bot. Además, guarda el código de manera segura, ya que divulgarlo puede exponer tu bot y servidor de Discord a riesgos de seguridad.
Ahora, habilita el Modo Desarrollador para evitar el pago relacionado con las SKU de tu bot de Discord. Así es cómo hacerlo:
- Inicia sesión en tu aplicación de Discord → Configuración de usuario → Avanzado.
- Activa el Modo Desarrollador.
- Habilita el interruptor de Modo de Prueba de Aplicación.
- Ingresa tu ID de aplicación. Configura el Tipo de Origen de URL como Localhost y el
Número de Puerto como 8080.
- Haz clic en Activar.
2. Configurar Permisos del Bot
Después de configurar la aplicación, ajusta los permisos de la cuenta del bot de Discord y el método de autenticación. Así es cómo hacerlo:
- En la página de Aplicaciones, selecciona OAuth2 → General en la barra lateral.
- Bajo el Enlace de Autorización Predeterminado, selecciona la Autorización en la
Aplicación como método.
- Marca la casilla del bot.
- Selecciona los Permisos del Bot según tus necesidades.
- Haz clic en Guardar Cambios.
- Ve a la barra lateral → OAuth2 → Generador de URL.
- Marca el bot como el alcance de tu aplicación.
- Revisa las mismas casillas para los Permisos del Bot.
- Copia la URL Generada y guárdala en tu computadora. Debería contener la ID de cliente de tu bot.
¡Importante! Evita otorgar permisos de Administrador al bot, ya que podría modificar la configuración de tu servidor.
Además, ve a la sección Bot de la barra lateral y concede al bot Intenciones de Puerta Privilegiadas. Activa todas las intenciones si no estás seguro de cuál usará tu bot. Sin embargo, ten en cuenta que esto le otorgará al bot acceso a varios datos de Discord.
Ahora, abre el enlace de autenticación con un navegador web para invitar al bot a tu servidor de Discord y otorgarle los permisos necesarios.
Desde el menú desplegable, selecciona el servidor al que deseas agregar el bot y haz clic en Continuar. Revisa los permisos que otorgarás al bot. Si deseas revocar alguno de ellos, desmarca las casillas correspondientes. Después, haz clic en Autorizar para confirmar.
3. Elegir un Lenguaje de Programación
JavaScript y Python son lenguajes de programación populares para crear un bot de Discord. Aunque puedes usar C++, los envoltorios disponibles para la API de Discord solo admiten estos dos idiomas.
Los envoltorios de la API de Discord simplifican la interacción entre el software y tu código, facilitando el desarrollo. Dado que el lenguaje y el envoltorio no afectan la funcionalidad de tu bot, elige uno según tu familiaridad y preferencias.
Para principiantes, recomendamos usar Python, uno de los lenguajes de programación más simples y mejores para aprender. Es más fácil de leer y mantener que JavaScript, lo que simplifica el proceso de depuración. También usaremos Python para este tutorial.
Antes de continuar, descarga Python y un editor de código. Al elegir un editor, selecciona uno con funciones que simplifiquen tu proceso de codificación, como resaltado de sintaxis, autocompletado, detección de errores e integración de módulos.
Recomendamos Microsoft Visual Studio Code, ya que es gratuito y ofrece diversas funciones.
4. Codificar el Bot
Una vez que el software y las herramientas están listos, crea una carpeta para los archivos de tu bot de Discord. Luego, abre VSCode para acceder a la carpeta y crear archivos de trabajo:
- Haz clic en Archivo → Abrir Carpeta.
- Navega hasta el directorio de tu nueva carpeta. Selecciona la carpeta y haz clic en Seleccionar Carpeta.
- Ve a la barra lateral Explorador y haz clic en el icono de añadir nuevo archivo.
- Crea un archivo llamado main.py para almacenar todo el código de tu bot. Para un bot avanzado, es posible que necesites varios archivos vinculados a main.py.
- Crea un archivo .env para almacenar el token de tu bot. Tu código en Python llamará a este archivo para autenticar la conexión con la API de Discord.
¡Importante! Deja en blanco el nombre del archivo .env. De lo contrario, el código del bot no lo encontrará y leerá la variable de entorno.
```python
# Importar los módulos necesarios
import discord
import os
from discord.ext import commands
from dotenv import load_dotenv
# Crear una instancia del cliente Discord y establecer el prefijo del comando
intents = discord.Intents.all()
client = discord.Client(intents=intents)
bot = commands.Bot(command_prefix='!', intents=intents)
# Establecer el mensaje de confirmación cuando el bot esté listo
@bot.event
async def on_ready():
print(f'Conectado como {bot.user.name}')
# Establecer los comandos para tu bot
@bot.command()
async def saludar(ctx):
respuesta = '¡Hola, soy tu bot de Discord!'
await ctx.send(respuesta)
@bot.command()
async def lista_comandos(ctx):
respuesta = 'Puedes usar los siguientes comandos: \n !saludar \n !lista_comandos \n !funciones'
await ctx.send(respuesta)
@bot.command()
async def funciones(ctx):
respuesta = '¡Soy un sencillo bot de chat de Discord! ¡Responderé a tus comandos!'
await ctx.send(respuesta)
# Obtener el token del archivo .env
load_dotenv()
bot.run(os.getenv('TOKEN'))
```
Dependiendo de la funcionalidad de tu bot de Discord, el código puede variar. Para este tutorial, te mostraremos cómo hacer un bot de Discord que responda a un comando simple:
Explicación del código:
- Las palabras clave import importan código de un módulo y lo añaden al archivo de tu bot, permitiéndote usar funciones sin escribirlo manualmente. Por ejemplo, importamos la biblioteca Discord.py para habilitar el decorador bot.command.
- Definimos las variables que usará el código, como las intenciones del bot de Discord, el cliente y el propio bot.
- El decorador @bot.event define eventos que activan la función asíncrona correspondiente. En el fragmento, instruimos al bot a imprimir un mensaje de confirmación cuando se ejecute correctamente.
- El decorador @bot.command establece el comando que activa el bot. También determinamos cómo y cuándo responde el bot.
- La función load_dotenv lee la variable de entorno del archivo .env. En este caso, obtiene el token.
- Utilizando el método os.getenv, el código extrae el valor del token y lo utiliza para ejecutar el bot con el decorador bot.run.
Además de responder a comandos, puedes agregar funciones avanzadas como control de voz o campos de entrada. Para obtener más información sobre las funciones, consulta la documentación de discord.py.
En el archivo .env, pega el siguiente fragmento. Reemplaza yourtoken con la clave de autenticación:
```
TOKEN=yourtoken
```
Para verificar si tu código funciona correctamente, haz clic en el botón Ejecutar Archivo Python en la parte superior derecha de VSCode. Sin embargo, debes instalar las dependencias para ejecutar el bot.
Consejo Pro
Si estás en un entorno de equipo y estás actualizando continuamente el bot de Discord, te recomendamos crear un repositorio Git para simplificar el proceso de desarrollo. Lee nuestros tutoriales de Git para aprender más sobre ello.
Cómo Alojar un Bot de Discord
Aloja tu bot de Discord para que sea accesible las 24 horas del día. Para este tutorial, utilizaremos un plan de alojamiento VPS de HolyHosting ejecutando Ubuntu 22.04. Para otros proveedores de servicios de alojamiento y sistemas operativos, los pasos pueden diferir.
¡Hola! Claro, puedo ayudarte con eso. Aquí tienes las guías traducidas y ajustadas según tus indicaciones:
1. Obtener Hosting VPS
Mientras puedes crear un servidor de alojamiento para tu bot de Discord en tu computadora local, es necesario que el sistema esté activo las 24 horas del día. Esto puede causar daño al hardware a largo plazo y requiere mucho esfuerzo para administrarlo.
Un servicio de alojamiento para tu bot de Discord, como un VPS, es más conveniente y eficiente en tiempo. El proveedor se encarga del servidor, lo que te permite centrarte en desarrollar y optimizar tu bot.
Sin embargo, elegir uno puede ser difícil, ya que varios proveedores ofrecen servidores de alojamiento para bots de Discord. Para elegir el mejor hosting VPS para tus bots de
Discord, considera sus características, seguridad, tiempo de actividad y precio.
Echa un vistazo a nuestro tutorial de los 10 mejores proveedores de hosting VPS para obtener más información sobre las opciones. Por ejemplo, HolyHosting ofrece planes de alojamiento VPS a partir de $6.49/mes con diversas características:
- Captura instantánea: Los usuarios pueden capturar el estado actual de su servidor para facilitar la restauración.
- Hardware confiable: HolyHosting VPS utiliza almacenamiento SSD y una CPU de alto rendimiento para garantizar un rendimiento y tiempo de actividad óptimos.
- Múltiples centros de datos: Los usuarios de HolyHosting pueden elegir entre varias ubicaciones de centros de datos para minimizar la latencia.
- Protección contra DDoS: Nuestro VPS utiliza un cortafuegos y filtrado de tráfico incorporado para protección contra DDoS.
- Soporte SSH: Los usuarios pueden conectarse a su VPS mediante el protocolo de shell seguro (SSH) para gestionar eficientemente su servidor remoto.
- Acceso FTP: Todos los planes de VPS de HolyHosting admiten FTP, lo que permite a los usuarios transferir fácilmente archivos entre sistemas.
- IP dedicada: Los usuarios obtienen una dirección IP dedicada para eliminar la limitación de velocidad del servidor de Cloudflare y Discord.
- Diferentes servidores invitan a tu bot, necesitas más recursos para manejar las solicitudes.
En HolyHosting, nuestros planes de VPS son fácilmente actualizables para garantizar la escalabilidad de tu bot de Discord.
Después de comprar un plan de alojamiento en HolyHosting, selecciona tu nuevo servidor desde el menú de VPS en la barra superior. Luego, completa el proceso de configuración de HolyHosting VPS a través de hPanel, nuestro panel de control intuitivo personalizado.
2. Configurar el Entorno VPS
La implementación del bot de Discord en un VPS requiere configurar el entorno de alojamiento para asegurar que el software necesario esté instalado. El software varía según el lenguaje y la funcionalidad de tu bot.
Para un bot de Discord.js, instala Node.js y Node Package Manager. Mientras tanto, aquí está lo que necesitas para uno en Python:
- Intérprete de Python: Un entorno que convierte tu código de Python en un formato legible por la máquina, permitiendo que tu bot de Discord se ejecute.
- Gestor de paquetes Pip: Un sistema de gestión de paquetes utilizado para instalar módulos y dependencias para tu aplicación de Python.
- Virtualenv: Una herramienta para crear un entorno virtual privado aislado para tu aplicación de Python. Te permite evitar instalar los paquetes de Python globalmente, lo que podría afectar a otros proyectos.
Lectura Sugerida: Antes de continuar, lee nuestro tutorial de Comandos de Linux para conocer más sobre sus funciones.
Para instalar los componentes, conéctate a tu servidor utilizando aplicaciones SSH como
PuTTY o Terminal. Los usuarios de HolyHosting pueden encontrar las credenciales de inicio de sesión en la pestaña de Acceso SSH en el menú de descripción general de su VPS.
La sección de acceso a VPS en hPanel
Una vez conectado, ejecuta los siguientes comandos para actualizar tu gestor de paquetes e instalar el software necesario para alojar tu bot de Discord:
```bash
sudo apt update
sudo apt upgrade
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt install python3 python3-dev python3-venv python3-pip -y
```
Luego, sigue estos pasos para crear un entorno virtual para tu proyecto de Python:
1. Ejecuta este comando para crear un nuevo directorio para almacenar los archivos:
```bash
sudo mkdir DiscordBot
```
2. Cambia el directorio actual al nuevo usando este comando:
```bash
cd DiscordBot
```
3. Establece el nuevo entorno virtual con el argumento venv:
```bash
sudo python3 -m venv ./venv
```
4. Activa el entorno virtual utilizando el comando source:
```bash
source ./venv/bin/activate
```
Tu línea de comandos debería comenzar ahora con (venv). Si no se encuentra el comando source, navega hasta la ruta del directorio ~/DiscordBot/venv/bin utilizando el comando cd y ejecuta lo siguiente:
```bash
source activate
```
PuTTY mostrando la línea de comandos venv
3. Subir el Bot de Discord
Después de configurar el entorno virtual, mueve los archivos del token y del bot al nuevo directorio. Puedes hacerlo utilizando el comando rsync, el protocolo scp o un cliente SFTP.
Recomendamos usar el Protocolo de Transferencia de Archivos Seguro (SFTP) ya que ofrece una interfaz gráfica de usuario y es más seguro que el FTP estándar. La interfaz visual hace que el proceso sea más sencillo y amigable para principiantes.
Para este tutorial, usaremos FileZilla para transferir los archivos a través de SFTP. Aquí están los pasos:
1. Descarga e instala FileZilla.
2. Abre FileZilla. Ingresa la dirección IP de tu servidor, nombre de usuario, contraseña y número de puerto. Por defecto, el número de puerto es 22.
3. Haz clic en "Conexión rápida" (Quickconnect).
4. Una vez conectado, localiza el nuevo directorio ./venv bajo la pestaña "Sitio remoto" (Remote site).
5. Arrastra y suelta los archivos del bot desde tu computadora local al directorio remoto.
6. Espera hasta que se complete el proceso. El estado de transferencia de archivos se encuentra en la caja bajo la pestaña de conexión.
Luego, vuelve a tu cliente SSH o Terminal. Muévete al directorio del bot e instala todas las dependencias. En este tutorial, instalaremos el wrapper discord.py y dotenv con este comando:
```bash
sudo pip install discord.py python-dotenv
```
Consejo Profesional: ¿Tienes dificultades para escribir comandos bash o gestionar tu VPS Linux? Ingresa comandos de IA para la gestión de VPS en el asistente de VPS de HolyHosting para generar fácilmente comandos o código.
4. Iniciar el Bot
Para ejecutar el bot, establece el directorio actual en la ubicación del archivo main.py y ejecuta el siguiente comando. Si utilizas otro nombre de archivo, ajústalo en consecuencia:
```bash
python3 main.py
```
La Terminal debería devolver el mensaje de confirmación escrito en el archivo del bot, similar al siguiente:
PuTTY mostrando que el bot de Discord se está ejecutando correctamente
Si abres el servidor de Discord donde se encuentra el bot, aparecerá en línea. Para verificar si tu bot funciona correctamente, ingresa un comando y debería responder según lo esperado.
Sin embargo, este bot solo está activo en tu sesión actual. Si cierras el cliente SSH o Terminal, la sesión se cerrará y apagará el bot. Puedes utilizar diferentes herramientas para mantener tu bot en funcionamiento:
- Linux Screen: Una herramienta que permite a los usuarios crear múltiples terminales virtuales dentro de una sesión. Los procesos de terminales virtuales se ejecutan en segundo plano después de cerrar la sesión y desconectarse del servidor.
- tmux: Terminal Multiplexer funciona de manera similar a Screen, permitiendo a los usuarios crear sesiones virtuales y ejecutar procesos en segundo plano. Es más fácil de usar que Screen, pero carece de algunas características y es menos estable.
- PM2: Un gestor de procesos de aplicaciones Node.js que mantiene tu aplicación en funcionamiento constantemente. Es nativo de JavaScript pero funciona con otros lenguajes de programación, incluido Python.
- Docker: Una herramienta de contenerización que convierte tu bot de Discord en un daemon. Permite que tu bot se ejecute en segundo plano y se reinicie automáticamente después de un fallo del sistema.
En este tutorial, usaremos Linux Screen, que es el más sencillo y compatible con diferentes entornos. Aquí están los pasos para instalar y usar Screen para ejecutar tu bot de Discord en un servidor Ubuntu VPS:
1. En Terminal o la aplicación SSH, ejecuta este comando para instalar Screen:
```bash
sudo apt-get install screen
```
2. Ejecuta este comando para crear una nueva sesión:
```bash
screen
```
3. Utiliza este comando en la Terminal virtual para cambiar el directorio de trabajo:
```bash
cd /DiscordBot/venv
```
4. Inicia tu bot de Discord utilizando el siguiente comando:
```bash
python3 main.py
```
5. Una vez que el bot esté en funcionamiento, presiona Ctrl + A + D para desconectar la sesión de Screen.
¡Importante! Para derivados de Red Hat Enterprise Linux (RHEL) como AlmaLinux y CentOS, usa yum en lugar de apt para instalar Screen.
Ahora, la sesión seguirá ejecutándose en segundo plano después de desconectar del servidor. Para volver a conectar a Screen, abre tu Terminal o aplicación SSH e ingresa:
```bash
screen -r
```
Screen te permite crear múltiples sesiones para ejecutar otros bots de Discord usando este comando:
```bash
screen -S session1
```
Reemplaza session1 con el nombre de tu sesión. Usa un nombre descriptivo para ayudarte a identificar fácilmente las sesiones y sus procesos. Para listar las sesiones actuales del usuario, utiliza lo siguiente:
```bash
screen -ls
```
Monitorizar y Mantener el Rendimiento del Bot
Después de implementar tu bot de Discord, es crucial vigilarlo de manera regular para asegurar su rendimiento óptimo. Esto te ayudará a identificar posibles problemas rápidamente antes de que afecten la usabilidad de tu bot.
La primera tarea de monitoreo es habilitar el módulo de registro de Python para seguir los eventos y errores de tu bot de Discord. Esto proporciona información sobre la funcionalidad de tu bot para facilitar la depuración y solución de problemas.
Por ejemplo, añade el siguiente fragmento de código a tu archivo de bot para registrar errores de ejecución de comandos en un archivo bot.log y en el servidor de Discord:
```python
# Importar el módulo de registro de Python
import logging
# Configurar las opciones de registro
logging.basicConfig(level=logging.INFO,
format='[%(asctime)s] [%(levelname)s]: %(message)s',
handlers=[
logging.FileHandler('bot.log'), # Guardar registros en un archivo
logging.StreamHandler() # Mostrar registros en la consola
])
# Importar el módulo de registro de Python
import logging
# Configurar las opciones de registro
logging.basicConfig(level=logging.INFO,
format='[%(asctime)s] [%(levelname)s]: %(message)s',
handlers=[
logging.FileHandler('bot.log'), # Guardar registros en un archivo
logging.StreamHandler() # Mostrar registros en la consola
])
# Configurar cómo se comporta el bot al encontrar un error
@bot.event
async def on_command_error(ctx, error):
error_message = f'Error ocurrido durante el procesamiento del comando: {error}'
logging.error(error_message)
await ctx.send(error_message)
# Configurar cómo se comporta el bot al encontrar un error @bot.event async def on_command_error(ctx, error): error_message = f'Error ocurrido durante el procesamiento del comando: {error}' logging.error(error_message) await ctx.send(error_message)
# Configurar cómo se comporta el bot al encontrar un error
@bot.event
async def on_command_error(ctx, error):
error_message = f'Error ocurrido durante el procesamiento del comando: {error}'
logging.error(error_message)
await ctx.send(error_message)
```
Además, utiliza herramientas como UptimeRobot para monitorizar el tiempo de actividad del bot de Discord. Para rastrear su uso y actividad, emplea una herramienta de monitoreo de rendimiento de aplicaciones (APM) como Grafana. Dado que el proceso de configuración de cada herramienta difiere, consulta sus manuales para obtener instrucciones.
También, monitorea el uso de recursos del servidor privado virtual (VPS) para asegurarte de que el bot tenga suficientes recursos para funcionar de manera óptima. Algunas métricas importantes a seguir incluyen el uso de la CPU, el consumo de RAM, la carga de almacenamiento y las condiciones de red.
Si tu servidor no cuenta con un panel de control, utiliza psutil de Python o comandos de Linux como vmstat. Estos métodos no ofrecen una interfaz gráfica de usuario (GUI), lo que hace que el proceso sea complicado y no apto para principiantes.
Los proveedores de alojamiento web suelen proporcionar un panel de control para seguir el uso de su servidor. Por ejemplo, HolyHosting ofrece una función de monitoreo de uso de recursos de VPS en hPanel.
Te recomendamos que envíes tu aplicación a un sitio web de listas de bots como top.gg para que sea accesible a otros usuarios de Discord.
Conclusión
Invitar bots a tu servidor de Discord te permite añadir nuevas funciones y simplificar las tareas de moderación. Aunque existen muchos bots preprogramados disponibles, puede que necesites crear uno personalizado para tu caso particular.
En este artículo, hemos explicado los pasos para crear y alojar un bot de Discord en un VPS
Linux.
Aquí tienes un resumen:
1. Crea una cuenta y aplicación de Discord en el portal para desarrolladores.
2. Configura los permisos del bot e invítalo a tu servidor de Discord.
3. Elige un lenguaje de programación y un entorno de desarrollo integrado (IDE).
4. Escribe el código de tu bot de Discord.
5. Adquiere un servicio de alojamiento para tu bot de Discord, como el VPS de HolyHosting.
6. Instala las dependencias para configurar el entorno del servidor de alojamiento.
7. Sube los archivos del bot y el token a través de SFTP.
8. Inicia tu bot de Discord y utiliza Screen para mantenerlo funcionando las 24 horas del día, los 7 días de la semana.
9. Monitoriza y mantiene el rendimiento del bot.
Esperamos que este artículo te haya ayudado a desarrollar y alojar tu bot de Discord. Si tienes alguna pregunta, déjanos un comentario. ¡Buena suerte!