Esta guía crea un bot de Python con un comando de barra, /ping. Antes necesitas una aplicación de Discord y un token de bot: Cómo crear un bot de Discord y obtener su token.
Los archivos
requirements.txt
discord.py>=2.4
bot.py
import os
import discord
from discord import app_commands
intents = discord.Intents.default()
client = discord.Client(intents=intents)
tree = app_commands.CommandTree(client)
@tree.command(name="ping", description="Replies with pong")
async def ping(interaction: discord.Interaction):
await interaction.response.send_message("pong")
@client.event
async def on_ready():
await tree.sync()
print(f"Logged in as {client.user}")
client.run(os.environ["DISCORD_TOKEN"])
El bot usa los intents por defecto, así que no hay que activar ningún intent privilegiado.
Ejecútalo en PlayNHost
- Abre tu servidor en el panel. Haz clic en Editar tipo de servidor en Resumen y elige Python Bot. Hazlo en un servidor nuevo: cambiar el tipo lo reinstala. Mira Cómo cambiar el tipo de servidor.
- En Files, sube
bot.pyyrequirements.txt. - En Ajustes, Ajustes del juego, pon Main file en
bot.pyy pega tu token en Discord bot token. - Abre Console e inicia el servidor. El servidor instala los paquetes de
requirements.txten cada inicio. - Cuando la consola muestre
Logged in as ..., escribe/pingen Discord.
Conviene saber
- El servidor usa Python 3.12 por defecto. Si un paquete necesita otra versión, elige 3.10, 3.11, 3.13 o 3.14 en Ajustes, Imagen de Docker.
- Los comandos registrados con
tree.sync()son globales y pueden tardar en aparecer. Mientras pruebas, sincroniza con un solo servidor:tree.copy_global_to(guild=discord.Object(id=YOUR_SERVER_ID))y luegoawait tree.sync(guild=...). - Lee los errores en Console. Si falta un paquete, falta una línea en
requirements.txt.
Más: Cómo alojar un bot de Discord en Python, Cómo usar una base de datos con tu bot de Discord.
¿Ya lo tienes en otro proveedor? Trae tu servidor con nosotros





