Python-Bot deployen
Schritt-für-Schritt-Anleitung zum Deployment eines Python-Discord-Bots (discord.py oder py-cord) bei Daki Hosting.
Diese Anleitung führt dich durch das Deployment eines Python-Discord-Bots bei Daki Hosting — von der Erstellung deines Servers über die sichere Hinterlegung deines Bot-Tokens bis zum Livegang.
Das lernst du hier
- Wie du einen Python-Server für deinen Bot erstellst
- Wie du deinen Code hochlädst
- Wie du Install-Befehl, Startup Command und Python-Version konfigurierst
- Wie du deinen Bot-Token sicher über eine
.env-Datei hinterlegst - Wie du deinen Bot startest und prüfst, ob er funktioniert
Voraussetzungen
- Ein Daki-Konto (Free Tier oder bezahlt) — siehe Konto erstellen
- Ein Discord-Bot mit einem Bot-Token, erstellt im Discord Developer Portal
- Dein Quellcode inklusive einer
requirements.txtmit allen Abhängigkeiten (z. B.discord.pyoderpy-cordsowiepython-dotenv)
Discord-Bots verbinden sich ausgehend mit den Servern von Discord und benötigen keinen eingehenden Port. Deshalb funktionieren Discord-Bots sowohl im Free Tier als auch mit bezahlten Plänen. Betreibst du zusätzlich einen HTTP-Server (z. B. für Webhooks oder ein Web-Dashboard), brauchst du einen bezahlten Plan, denn öffentlich erreichbare Ports gibt es nur in bezahlten Plänen. Siehe Netzwerk & Zuteilungen.
Deployment
Python-Server erstellen
- Melde dich im Free-Tier-Dashboard auf free.daki.cc oder im Billing Panel auf billing.daki.cc an.
- Erstelle einen neuen Server und wähle das Python-Egg.
- Gib deinem Server einen Namen (z. B.
MyPythonBot).
Die vollständige Anleitung findest du unter Deinen ersten Server erstellen.
Portal öffnen
Melde dich per SSO im Portal an oder direkt auf portal.daki.cc. Siehe Portal-Überblick.
Code deines Bots hochladen
Option A — als ZIP hochladen (am einfachsten):
- Komprimiere deinen Projektordner zu einer
.zip-Datei. - Gehe im Portal zum Tab Files und klicke auf Upload.
- Klicke mit der rechten Maustaste auf die
.zip-Datei und dann auf Extract.
Option B — per SFTP (ohne Größenlimit): Verwende deine SFTP-Zugangsdaten aus dem Tab Settings, um den Ordner direkt hochzuladen. Siehe Dateiverwaltung.
Lege eine
requirements.txtin den Projektstamm. Der Install-Befehl nutzt sie, um deine Abhängigkeiten zu installieren.- Komprimiere deinen Projektordner zu einer
Tab Startup konfigurieren
Öffne den Tab Startup und konfiguriere alle drei Felder:
1. Docker Image — Wähle die Python-Version, die dein Bot benötigt (z. B. Python 3.13). Python 3.13 ist eine sichere Standardwahl, wenn du unsicher bist; neuere Versionen funktionieren, sofern alle deine Bibliotheken sie unterstützen. Vermeide Versionen mit der Markierung EOL, denn sie erhalten keine Sicherheitsupdates mehr.
2. Install Command — Setze diesen Befehl, damit deine Abhängigkeiten automatisch installiert werden:
Shellpip install -r requirements.txt3. Startup Command — Setze hier den Befehl, der deinen Bot ausführt:
python main.py— wenn deine Einstiegsdateimain.pyheißtpython bot.py— wenn deine Einstiegsdateibot.pyheißtpython -m mypackage— wenn dein Projekt als Paket aufgebaut ist
Du kannst diese Befehle frei an die Struktur und Anforderungen deines Projekts anpassen.
Siehe Starteinstellungen für eine vollständige Erklärung.
Bot-Token über eine .env-Datei hinterlegen
Speichere deinen Discord-Bot-Token in einer
.env-Datei auf dem Server, damit er nie in deinem Quellcode auftaucht.- Klicke im Tab Files auf New File und nenne die Datei
.env. - Trage deinen Token ein:
.env
BOT_TOKEN=your_discord_bot_token_here - Klicke auf Save.
Stelle sicher, dass
python-dotenvin deinerrequirements.txtsteht, und lade die Datei dann in deinem Code:Pythonfrom dotenv import load_dotenv import os import discord load_dotenv() TOKEN = os.environ.get("BOT_TOKEN") intents = discord.Intents.default() client = discord.Client(intents=intents) @client.event async def on_ready(): print(f"Logged in as {client.user}") client.run(TOKEN)Siehe Umgebungsvariablen für mehr Details zur Verwendung von
.env-Dateien.- Klicke im Tab Files auf New File und nenne die Datei
Bot starten
Klicke im Tab Console auf Start. Ein erfolgreicher Start gibt Folgendes aus:
TextLogged in as MyBot#1234Erscheinen Fehler, sieh in der Anleitung zur Fehlerbehebung nach.
Häufige Probleme
ModuleNotFoundError: No module named 'discord'
Deine Abhängigkeiten wurden nicht installiert. Prüfe, ob discord.py oder py-cord in der requirements.txt steht und ob der Install-Befehl im Tab Startup auf pip install -r requirements.txt gesetzt ist. Starte den Server neu, um die Installation auszulösen.
ModuleNotFoundError: No module named 'dotenv'
Füge python-dotenv zu deiner requirements.txt hinzu und starte den Server neu.
discord.errors.LoginFailure: Improper token has been passed
Dein Token in der .env-Datei ist falsch oder fehlt. Öffne die .env-Datei im Tab Files und prüfe den Wert genau. Entferne überflüssige Leerzeichen oder Anführungszeichen.
Fehler PrivilegedIntentsRequired
Dein Bot fordert Intents an, die im Discord Developer Portal nicht aktiviert sind. Aktiviere die benötigten privilegierten Intents (z. B. Message Content Intent) in den Einstellungen deiner Bot-Anwendung und stelle sicher, dass dein Code dieselben Intents anfordert.
Server stürzt sofort nach dem Start ab
Lies die Ausgabe in der Console, um den Fehler zu finden. Häufige Ursachen: falscher Startbefehl (Tippfehler im Dateinamen oder falscher Pfad), fehlende requirements.txt oder ein fehlendes Paket. Siehe Fehlerbehebung.
Nächste Schritte
- Umgebungsvariablen — Vollständige Anleitung zu
.env-Dateien und zum Auslesen von Variablen im Code. - Kostenlosen Server aktiv halten — Sieh regelmäßig Werbung an, damit dein Free-Tier-Server läuft.
- Dateiverwaltung — Aktualisiere deinen Code nach Änderungen.