Cómo proteger el token de tu bot de Discord (y qué hacer si se filtra)
El token es la contraseña de tu bot. Aprende a guardarlo en variables de entorno con .env, a no subirlo a GitHub y a regenerarlo rápido si se ha filtrado.
Por el equipo de Voriam Technologies2 min de lectura
El token de un bot de Discord es, en la práctica, su usuario y contraseña a la vez. Quien lo tenga puede conectarse como tu bot y hacer todo lo que sus permisos le permitan: borrar canales, expulsar miembros o enviar spam a todos los servidores donde esté. Por eso es lo primero que hay que proteger.
El error más común: el token dentro del código
Muchos tutoriales escriben el token directamente en el archivo principal:
client.login('MTE2NzQ5...'); // ❌ no lo hagasEl problema llega cuando subes el proyecto a GitHub, lo compartes con alguien para que te ayude o lo pegas en un foro. Hay bots que rastrean los repositorios públicos buscando tokens en cuestión de segundos. Discord también los detecta y suele invalidarlos automáticamente, lo que deja tu bot desconectado sin que sepas por qué.
La solución: variables de entorno con un archivo .env
Crea en la raíz del proyecto un archivo llamado .env:
DISCORD_TOKEN=pega_aqui_tu_tokenEn Node.js
Desde Node 20.6 puedes cargar el archivo sin instalar nada, arrancando con node --env-file=.env index.js. En versiones anteriores usa el paquete dotenv:
import 'dotenv/config';
client.login(process.env.DISCORD_TOKEN);En Python
import os
from dotenv import load_dotenv # pip install python-dotenv
load_dotenv()
bot.run(os.environ["DISCORD_TOKEN"])Que el .env nunca llegue a GitHub
Añade el archivo a .gitignore antes de tu primer commit:
.env
node_modules/
__pycache__/Para que otras personas sepan qué variables necesita el proyecto, sube en su lugar un .env.example con los nombres pero sin valores reales.
.gitignore después no sirve: sigue en el historial de git. Considéralo filtrado y regenéralo.Qué hacer si el token se filtró
- Entra en el Discord Developer Portal, abre tu aplicación y ve a la pestaña Bot.
- Pulsa Reset Token. El token anterior deja de funcionar al instante.
- Copia el nuevo token en tu
.env(y en el panel de tu hosting si lo tienes allí) y reinicia el bot. - Revisa los registros de auditoría de tus servidores por si alguien llegó a usarlo.
Otras buenas prácticas
- Da al bot solo los permisos que necesita. Un bot de música no necesita *Administrador*; si el token se filtra, el daño será mucho menor.
- Activa la autenticación en dos pasos en tu cuenta de Discord: protege también el acceso al Developer Portal.
- No compartas capturas de pantalla del Developer Portal ni de la consola mientras el token sea visible.
- En un hosting, guarda el token en las variables del servidor que ofrece el panel en lugar de dejarlo en un archivo que cualquiera con acceso a los ficheros pueda leer.
