Diese Anleitung baut einen Python-Bot mit einem Slash-Command, /ping. Du brauchst zuerst eine Discord-Anwendung und einen Bot-Token: So erstellst du einen Discord-Bot und holst seinen Token.
Die Dateien
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"])
Der Bot nutzt die Standard-Intents, es muss also kein privilegierter Intent eingeschaltet werden.
Auf PlayNHost ausführen
- Öffne deinen Server im Panel. Klick auf der Übersicht auf Servertyp bearbeiten und wähl Python Bot. Mach das auf einem neuen Server: Den Typ zu ändern installiert ihn neu. Lies dazu So änderst du den Typ deines Servers.
- Lade in Files
bot.pyundrequirements.txthoch. - Setz unter Einstellungen, Spieleinstellungen die Hauptdatei auf
bot.pyund füge deinen Token bei Discord-Bot-Token ein. - Öffne Console und starte den Server. Der Server installiert die Pakete aus
requirements.txtbei jedem Start. - Zeigt die Console
Logged in as ..., tipp in Discord/ping.
Gut zu wissen
- Der Server läuft standardmäßig mit Python 3.12. Braucht ein Paket eine andere Version, wähl 3.10, 3.11, 3.13 oder 3.14 unter Einstellungen, Docker-Image.
- Mit
tree.sync()registrierte Befehle sind global und brauchen eine Weile, bis sie erscheinen. Synchronisiere beim Testen stattdessen mit einem Server:tree.copy_global_to(guild=discord.Object(id=YOUR_SERVER_ID))und dannawait tree.sync(guild=...). - Lies Fehler in der Console. Ein fehlendes Paket bedeutet, dass eine Zeile in der
requirements.txtfehlt.
Mehr: So hostest du einen Python-Discord-Bot, So nutzt du eine Datenbank mit deinem Discord-Bot.





