Questa guida costruisce un bot Python con un comando slash, /ping. Prima ti servono un'applicazione Discord e un token del bot: Come creare un bot Discord e ottenere il suo token.
I file
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"])
Il bot usa gli intent predefiniti, quindi non devi attivare nessun intent privilegiato.
Avvialo su PlayNHost
- Apri il tuo server nel pannello. Clicca su Modifica tipo di server in Panoramica e scegli Python Bot. Fallo su un server nuovo: cambiare il tipo lo reinstalla. Vedi Come cambiare il tipo di server.
- In Files, carica
bot.pyerequirements.txt. - In Impostazioni, Impostazioni di gioco, imposta Main file su
bot.pye incolla il token in Discord bot token. - Apri Console e avvia il server. Il server installa i pacchetti di
requirements.txta ogni avvio. - Quando la console mostra
Logged in as ..., scrivi/pingin Discord.
Da sapere
- Il server usa Python 3.12 di default. Se un pacchetto ha bisogno di un'altra versione, scegli 3.10, 3.11, 3.13 o 3.14 in Impostazioni, Immagine Docker.
- I comandi registrati con
tree.sync()sono globali e possono metterci un po' a comparire. Mentre fai i test, sincronizza su un solo server:tree.copy_global_to(guild=discord.Object(id=YOUR_SERVER_ID))poiawait tree.sync(guild=...). - Leggi gli errori in Console. Un pacchetto mancante significa che manca una riga in
requirements.txt.
Altro: Come ospitare un bot Discord Python, Come usare un database con il tuo bot Discord.





