Zum Hauptinhalt springen
Discord-Bot-Fehler auf Square Cloud lassen sich meist auf das Token, die Gateway-Intents oder eine Versionsinkompatibilität mit Lavalink zurückführen. Finde die genaue Meldung unten.

”LoginFailure: Improper token has been passed” / TOKEN_INVALID

Was es bedeutet: die Bibliothek lehnt das Token ab, mit dem du dich anmeldest (discord.js wirft LoginFailure/“An invalid token was provided”; andere Stacks liefern einen 401 TOKEN_INVALID). Warum es passiert:
  • Das Token wurde im Discord Developer Portal neu generiert oder widerrufen. Ein neu generiertes Token macht das alte überall dort, wo es verwendet wird, sofort ungültig.
  • Der Token-String enthält versehentlich zusätzliche Leerzeichen oder Anführungszeichen.
  • Der Code liest die falsche Umgebungsvariable.
So behebst du es:
  1. Gehe zum Developer Portal → deine Anwendung → BotReset Token.
  2. Aktualisiere das Token in den Umgebungsvariablen dieser Anwendung im Square Cloud Dashboard. Committe das Token nie in einer Datei, die in der .zip hochgeladen wird.
  3. Prüfe, dass keine überflüssigen Leerzeichen oder Anführungszeichen um den Wert stehen.
  4. Aktualisiere die Bibliothek (discord.js@latest oder pip install -U discord.py).
  5. Starte die Anwendung neu.
Hardcode dein Bot-Token niemals in Quelldateien. Lies es immer aus einer im Dashboard gesetzten Umgebungsvariable.

”Used disallowed intents” / Message Content Intent

Was es bedeutet: der Bot meldet sich an und erscheint online, ignoriert aber jede Nachricht, oder die Gateway-Verbindung wird mit “used disallowed intents” abgelehnt. Warum es passiert: seit 2022 ist Message Content ein privilegierter Intent. Ohne ihn an beiden Stellen explizit zu aktivieren, kommt der Nachrichteninhalt leer an (oder die Gateway-Verbindung wird verweigert, wenn dein Code einen Intent deklariert, der für die App nicht aktiviert ist). So behebst du es, an beiden Stellen:
  1. Discord Developer Portal → deine Anwendung → BotPrivileged Gateway Intents → aktiviere Message Content Intent.
  2. Deklariere ihn auch im Code:
  1. Starte die Anwendung neu.
Sobald ein Bot 100 Server überschreitet, erfordern privilegierte Intents (einschließlich Message Content) zusätzlich eine Genehmigung von Discord, die über dieselbe Developer-Portal-Seite beantragt wird.
Was es bedeutet: der Lavalink-Client des Bots schließt den WebSocket abnormal mit Code 1006, oft vorangegangen von “Unexpected server response: 400”. Warum es passiert: dies ist eine Versionsinkompatibilität. Lavalink v4 ist REST-basiert und inkompatibel mit einem Client-Wrapper, der für v3 gebaut wurde, sodass der Handshake fehlschlägt und der Socket mit 1006 schließt. So behebst du es:
  1. Gleiche die Version des Lavalink-Client-Wrappers deines Bots mit der Hauptversion des Lavalink-Servers ab (v3-Client mit v3-Server, v4-Client mit v4-Server).
  2. Auf Square Cloud bindet der Lavalink-Server selbst an Port 80, aber dein Bot muss sich über den Edge auf Port 443 mit secure: true verbinden.
  3. Starte sowohl die Lavalink-Anwendung als auch die Bot-Anwendung neu, nachdem du die Versionsinkompatibilität behoben hast.
Das vollständige Setup für Lavalink-Hosting (Konfigurationsdatei, Port, Deployment) findest du im Lavalink-Server-Tutorial.

Bot geht offline, nachdem er lokal funktioniert hat

Was es bedeutet: der Bot meldet sich einwandfrei an, wenn du ihn auf deinem Rechner ausführst, geht aber offline (oder startet wiederholt neu), sobald er deployt ist. Warum es meistens passiert:
  • Eine instabile Verbindung auf Gateway-Ebene ohne Reconnect-Handling.
  • Widersprüchliche oder inkompatible Abhängigkeitsversionen zwischen dem, was du lokal getestet hast, und dem, was in deiner Abhängigkeitsdatei steht.
  • Auslöser für Discord-API-Missbrauch (ein Konto erhält in diesem Fall eine Benachrichtigungs-E-Mail) durch zu aggressives Erreichen von Rate Limits.
So behebst du es:
  1. Prüfe zuerst die Logs der Anwendung im Dashboard, sie zeigen den tatsächlichen Absturzgrund.
  2. Füge Error-Handler hinzu, damit ein vorübergehender Fehler den Prozess nicht abstürzen lässt: process.on("unhandledRejection", ...) und client.on("error", ...) in discord.js, entsprechendes Handling in discord.py.
  3. Square Cloud startet eine abgestürzte App automatisch neu (AUTORESTART im Manifest), wenn die vorherige Uptime über 60 Sekunden lag, der Exit-Status 1 war und in den letzten 60 Minuten kein Auto-Restart erfolgt ist. Das hält den Bot durch vorübergehende Fehler am Leben, behebt aber nie einen zugrunde liegenden Codefehler, Syntaxfehler oder eine fehlende Abhängigkeit, diese benötigen weiterhin eine Korrektur im Code.
  4. Achte auf Discord-API-Rate-Limits (429): das globale Limit liegt bei etwa 50 Anfragen/Sekunde pro Bot-Token, mit engeren Limits pro Route (Kanal erstellen/bearbeiten erlaubt etwa 2 Änderungen pro 10 Minuten pro Kanal). Cache aggressiv, verwende eine asynchrone Queue, die die Header X-RateLimit-Remaining/X-RateLimit-Reset-After respektiert, und nutze Webhooks für Massenversand.
Das vollständige Discord-Bot-Hosting-Tutorial zeigt das Setup von Grund auf.
Wenn die Logs auf keine eindeutige Ursache hinweisen, kann dir unser Support-Team beim weiteren Nachforschen helfen.

Kontaktiere uns

Falls du weiterhin technische Schwierigkeiten hast, steht dir unser spezialisiertes Support-Team zur Verfügung. Kontaktiere uns und wir helfen dir gerne, jedes Problem zu lösen — die Qualität unseres Supports ist ein wichtiger Grund, warum Entwickler Square Cloud mit 4,9/5 bei 402 Bewertungen auf Google und Trustpilot bewerten.