NapNodes

← Guías

Bots de Discord · actualizada el 13 de octubre de 2026

Cómo hacer un bot de Discord en Python (discord.py), paso a paso

Un bot de Discord es un programa que se conecta a Discord con su token y responde a lo que pasa en tu servidor. Con Python y la librería discord.py, el primero se hace en un cuarto de hora: este tiene dos comandos con barra, /hola y /dado.

1. Crea el bot en Discord

  1. Crea la aplicación

    Entra en discord.com/developers/applications, pulsa «New Application» y ponle nombre. Es tu bot.

  2. Saca el token

    En la pestaña «Bot», pulsa «Reset Token» y copia el token. Es la contraseña del bot: quien lo tenga lo controla, así que no lo compartas ni lo subas a GitHub.

  3. Invítalo a tu servidor

    En «OAuth2» → «URL Generator», marca «bot» y «applications.commands», elige los permisos (para empezar, «Send Messages») y abre el enlace que sale para añadirlo a tu servidor de Discord.

¿Prefieres no montarlo tú? Servidores de Bots de Discord desde 1,50 € al mes, sin permanencia y con devolución íntegra en 72 horas. O crea un servidor de Bots de Discord gratis, sin tarjeta.

2. El código

Tres ficheros en una carpeta. En requirements.txt van las librerías; en .env, el token (sin comillas); y en app.py, el bot.

requirements.txt
discord.py
python-dotenv
.env
DISCORD_TOKEN=pega-aquí-tu-token
app.py
import os
import random

import discord
from discord import app_commands
from dotenv import load_dotenv

load_dotenv()  # lee el token del fichero .env

intents = discord.Intents.default()
client = discord.Client(intents=intents)
tree = app_commands.CommandTree(client)


@tree.command(name="hola", description="Te saluda")
async def hola(interaction: discord.Interaction):
    await interaction.response.send_message(f"¡Hola, {interaction.user.mention}!")


@tree.command(name="dado", description="Tira un dado de 6 caras")
async def dado(interaction: discord.Interaction):
    await interaction.response.send_message(f"🎲 Ha salido un {random.randint(1, 6)}")


@client.event
async def on_ready():
    await tree.sync()  # publica los comandos /hola y /dado
    print(f"Conectado como {client.user}")


client.run(os.environ["DISCORD_TOKEN"])

3. Pruébalo en tu ordenador

Con Python 3.10 o más nuevo: abre una terminal en la carpeta, instala las librerías con «pip install -r requirements.txt» y arráncalo con «python app.py». Cuando diga «Conectado como…», escribe /hola en tu servidor. Los comandos con barra pueden tardar unos minutos en aparecer la primera vez.

4. Déjalo encendido siempre (gratis)

Mientras el programa esté abierto en tu ordenador, el bot funciona; al apagarlo, se desconecta. Para tenerlo siempre encendido hace falta alojarlo en un servidor.

En NapNodes: crea el bot gratis, elige Python en «Arranque», sube los tres ficheros en «Archivos» (o pon tu repositorio de GitHub, sin el .env) y pulsa «Encender». Las librerías de requirements.txt se instalan solas al arrancar y app.py es el fichero de inicio que viene puesto.

El bot gratis de NapNodes tiene 256 MB, de sobra para un bot como este, y solo hay que renovarlo con un clic cada semana. Si crece, Mini (512 MB) cuesta 1,50 € al mes.

Preguntas frecuentes

¿Qué necesito para hacer un bot de Discord en Python?

Python 3.10 o más nuevo, la librería discord.py y una aplicación creada en el portal de desarrolladores de Discord, de la que sacas el token.

¿Por qué no aparecen los comandos con barra?

La primera vez Discord puede tardar unos minutos en enseñarlos. Comprueba también que al invitar al bot marcaste «applications.commands».

¿Dónde pongo el token del bot?

En un fichero .env que el bot lee al arrancar. Nunca en el código que subas a GitHub: quien tenga el token controla el bot.

¿Cómo tengo el bot encendido siempre?

Alojándolo en un servidor. En NapNodes hay un bot gratis de 256 MB que solo hay que renovar con un clic cada semana.

¿Lo montamos?

Servidores de Bots de Discord desde 1,50 € al mes, sin sobreventa: tu RAM es solo tuya. Y si quieres empezar sin pagar, tienes un servidor de Bots de Discord gratis, sin tarjeta.

Más guías de Bots de Discord