Deze gids bouwt een Python-bot met één slash-commando, /ping. Je hebt eerst een Discord-applicatie en een bottoken nodig: Een Discord-bot maken en zijn token ophalen.
De bestanden
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"])
De bot gebruikt de standaard intents, dus je hoeft geen privileged intent aan te zetten.
Draaien bij PlayNHost
- Open je server in het panel. Klik op Overzicht op Servertype bewerken en kies Python Bot. Doe dit op een nieuwe server: als je het type wijzigt, wordt hij opnieuw geïnstalleerd. Zie Je servertype wijzigen.
- Upload in Files
bot.pyenrequirements.txt. - Zet in Instellingen, Game-instellingen het Hoofdbestand op
bot.pyen plak je token in Discord-bottoken. - Open Console en start de server. De server installeert bij elke start de pakketten in
requirements.txt. - Zodra de console
Logged in as ...toont, typ je in Discord/ping.
Goed om te weten
- De server draait standaard Python 3.12. Heeft een pakket een andere versie nodig, kies dan 3.10, 3.11, 3.13 of 3.14 onder Instellingen, Docker-image.
- Commando's die je met
tree.sync()registreert zijn globaal en kunnen even duren voordat ze verschijnen. Synchroniseer tijdens het testen liever met één server:tree.copy_global_to(guild=discord.Object(id=YOUR_SERVER_ID))en danawait tree.sync(guild=...). - Lees fouten in Console. Een ontbrekend pakket betekent dat er een regel mist in
requirements.txt.
Meer: Een Python Discord-bot hosten, Een database gebruiken met je Discord-bot.





