Este guia cria um bot em Python com um slash command, o /ping. Antes, você precisa de uma aplicação do Discord e de um token de bot: Como criar um bot do Discord e obter o token.
Os arquivos
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"])
O bot usa as intents padrão, então nenhuma intent privilegiada precisa ser ativada.
Rode na PlayNHost
- Abra o seu servidor no painel. Clique em Editar tipo de servidor na Visão geral e escolha Python Bot. Faça isso em um servidor novo: mudar o tipo o reinstala. Veja Como mudar o tipo de servidor.
- Em Files (arquivos), envie o
bot.pye orequirements.txt. - Em Configurações, Configurações do jogo, defina Main file (arquivo principal) como
bot.pye cole o seu token em Discord bot token. - Abra o Console e inicie o servidor. O servidor instala os pacotes do
requirements.txta cada início. - Quando o console mostrar
Logged in as ..., digite/pingno Discord.
Bom saber
- O servidor usa o Python 3.12 por padrão. Se um pacote precisar de outra versão, escolha 3.10, 3.11, 3.13 ou 3.14 em Configurações, Imagem Docker.
- Os comandos registrados com
tree.sync()são globais e podem demorar para aparecer. Durante os testes, sincronize com um único servidor:tree.copy_global_to(guild=discord.Object(id=YOUR_SERVER_ID))e depoisawait tree.sync(guild=...). - Leia os erros no Console. Um pacote ausente significa que falta uma linha no
requirements.txt.
Mais: Como hospedar um bot do Discord em Python, Como usar um banco de dados com seu bot do Discord.





