Ein Discord-Bot-Token ist ein Zugangsschlüssel. Wer ihn besitzt, kann sich als Bot anmelden. Teile ihn deshalb nie im Chat, in einem Screenshot, in einem öffentlichen Repository oder in einem Support-Ticket. Wenn das Token bekannt geworden sein könnte, setze es im Discord Developer Portal zurück und ersetze den gespeicherten Wert. Die Anwendungs-ID ist eine andere Kennung und kein Ersatz für das Token.
Anwendungs-ID und Bot-Token unterscheiden
Die Anwendungs-ID wird im Developer Portal unter „General Information“ angezeigt und heisst auch Client ID. Discord verwendet diese Kennung zum Beispiel im OAuth2-Ablauf, mit dem jemand eine App zu einem Server hinzufügt. Sie ist kein Passwort. Discord erklärt die Anwendungs-ID und den Bot-Installationsablauf. Das Bot-Token findest du auf der Bot-Seite der Anwendung. Discord übermittelt es im Gateway-IDENTIFY-Payload und nutzt es bei Bot-authentifizierten API-Aufrufen. Behandle es daher wie ein Passwort und gib es nur in die dafür vorgesehene geheime Konfiguration des laufenden Projekts ein. Discords Gateway-Dokumentation zeigt die Anmeldung; ein API-Beispiel verwendet das Token im Authorization: Bot …-Header.
Eine ID kann in einer Einladungs-URL vorkommen, ohne dass dadurch das Bot-Token offengelegt wird. Umgekehrt wird ein Token durch Umbenennen, Kodieren oder Verstecken in einer Konfigurationsdatei nicht zu einer harmlosen ID. Prüfe immer, welches Feld ein Programm verlangt.
Bei möglicher Offenlegung sofort zurücksetzen
Wenn du das Token versehentlich veröffentlicht, in ein Ticket kopiert oder in einem Log sichtbar gemacht hast, lösche zunächst keine Zeit mit dem Versuch, nur die sichtbare Kopie zu entfernen. Eine gelöschte Nachricht oder Datei macht ein bekanntes Token nicht wieder sicher. Öffne die betroffene Anwendung im Developer Portal, gehe links zu Bot und wähle unter Build-A-Bot Reset Token. Bestätige den Vorgang; Discord kann eine Zwei-Faktor-Abfrage verlangen. Discord beschreibt den Ablauf und weist darauf hin, dass danach alle Stellen mit dem alten Wert aktualisiert werden müssen. Offizielle Anleitung zum Zurücksetzen.
Speichere den neuen Wert direkt an der Stelle, aus der dein bestehender Bot ihn beim Start liest. Starte den Prozess anschliessend über den dafür dokumentierten Ablauf neu, damit er die aktuelle Konfiguration einliest. Der alte Wert darf nicht in einer zweiten Kopie weiterverwendet werden. Suche danach in Quelltext, Versionsverlauf, Build-Ausgaben und Support-Nachrichten nach verbliebenen Kopien. Wenn du Bot-Logs für eine Supportanfrage vorbereitest, helfen die Hinweise zum Auswählen und Redigieren von Logs; den konkreten Logpfad gibt dein Projekt vor. Wenn der Verdacht besteht, dass jemand den Bot bereits verwendet hat, kontrolliere seine Aktionen und Serverrollen mit den zuständigen Administratoren.
Das Token ausserhalb des Quelltexts speichern
Nutze für das bestehende Projekt eine Umgebungsvariable, deren Name dem entspricht, was die Anwendung bereits erwartet. DISCORD_BOT_TOKEN ist hier nur ein Beispiel für einen Variablennamen; ein Tokenwert gehört nicht in eine Anleitung. Wenn dein Hosting eine geschützte Umgebungs- oder Secret-Einstellung anbietet, trage ihn dort ein. Ob und wie ein konkretes AeonHost-Angebot solche Einstellungen bereitstellt, muss anhand der aktuellen Produktdokumentation geprüft werden.
Ein Programm kann Umgebungsvariablen beim Start aus seiner Laufzeitumgebung lesen; in Node.js ist dafür beispielsweise process.env vorgesehen. Eine .env-Datei ist dagegen eine normale Datei. Sie ist nicht automatisch verschlüsselt oder vor Zugriff geschützt. Falls dein bestehendes Projekt lokal eine solche Datei verwendet, nimm sie aus Versionskontrolle und Uploads heraus und beschränke den Zugriff auf die Personen, die den Bot betreiben. Gib weder den Wert noch eine vollständige Umgebungsübersicht in Logs, Screenshots oder Diagnoseausgaben aus. Node.js dokumentiert Umgebungsvariablen und process.env.
Teile das Token nur mit Personen, die den Bot tatsächlich administrieren müssen. Ein zweites Teammitglied braucht meist keinen kopierten Wert, wenn es die Anwendung über den vorgesehenen Zugriff verwalten kann. Lege bei einer Trennung oder einem Rollenwechsel fest, ob ein Reset nötig ist.
Berechtigungen und Intents klein halten
Beim Hinzufügen eines Bots legst du fest, welche Berechtigungen er auf einem Server anfordert. Wähle nur die Aktionen, die seine vorhandenen Funktionen brauchen. Administrator ist keine Abkürzung für eine fehlende Einzelberechtigung: Prüfe stattdessen die Bot-Rolle und nötigen Kanalrechte. Discord führt die Berechtigungen im Bot-Autorisierungsablauf und in der Berechtigungsdokumentation auf.
Gateway-Intents legen fest, welche Ereignisse der Bot empfangen soll. Zu den privilegierten Intents gehören unter anderem Mitglieder, Präsenz und Nachrichteninhalt. Aktiviere sie nur, wenn die bestehende Funktion sie wirklich benötigt. Vergleiche die Intents in der Anwendung mit den Schaltern auf der Bot-Seite im Developer Portal. Wenn der Code einen privilegierten Intent anfordert, der in den App-Einstellungen nicht aktiviert ist oder für den eine erforderliche Freigabe fehlt, kann Discord die Verbindung mit Fehlercode 4014 schliessen. Discord Gateway: Intents und Fehlercode 4014.
Sichere Inbetriebnahme prüfen
Kontrolliere nach einem Reset, dass die geheime Variable vorhanden ist, ohne ihren Wert auszugeben. Starte genau den vorgesehenen Botprozess und prüfe, ob die Anwendung eine erfolgreiche Gateway-Verbindung meldet und der Bot in Discord online erscheint. Teste eine bestehende, risikoarme Funktion in einem dafür vorgesehenen Kanal. Wenn der Login scheitert, prüfe zuerst den Variablennamen und ob der Prozess neu gestartet wurde. Bei 4014 vergleiche die Intents in Portal und Anwendung; bei fehlenden Aktionen prüfe Server- und Kanalberechtigungen statt das Token erneut zu veröffentlichen.
Die Anleitung zum zuverlässigen Start eines vorhandenen Discord-Bots erklärt Laufzeit, Abhängigkeiten und Logs. Weitere Themen findest du in der AeonHost-Dokumentation. Wenn du klären musst, ob ein bestimmtes Setup unterstützt wird, nutze Kontakt.