Einführung
Um einen Discord-Bot auf Square Cloud zu entwickeln und zu hosten, ist es wichtig, einer strukturierten Abfolge von Konfigurationen und Voraussetzungen zu folgen. Dieser technische Leitfaden deckt den gesamten Prozess ab, von der anfänglichen Einrichtung bis zum Produktions-Deployment.Voraussetzungen
- Square Cloud Konto: Registriere dich über die Registrierungsseite mit deiner E-Mail-Adresse.
- Aktiver Plan: Stellt dedizierte Ressourcen und optimierte Leistung für deine Anwendung sicher. Sieh dir unsere verfügbaren Pläne an und wähle den passendsten für deine Bedürfnisse.
Projekt erstellen
Um Bots zu erstellen und zu verwalten, brauchst du ein Discord-Konto. Falls du noch keins hast, erstelle es auf der offiziellen Discord-Website.Bot-Anwendung auf Discord
Anwendung erstellen
Rufe das Developer Portal auf und klicke auf “New Application”. Lege einen Namen für deinen Bot fest und klicke auf “Create”, um die Anwendung zu erstellen.

Token generieren
Navigiere nach dem Erstellen der Anwendung zum Tab “Bot” und klicke auf “Reset Token”, um den Authentifizierungs-Token zu generieren. Kopiere ihn: Du legst ihn auf Square Cloud als Umgebungsvariable fest, niemals in deinem Code.

Privileged Intents aktivieren
Der Beispiel-Bot liest den Text von Nachrichten und braucht daher den Message Content Intent. Bleibe im Tab “Bot”, scrolle nach unten zu “Privileged Gateway Intents” und aktiviere Message Content Intent. Die beiden anderen Privileged Intents (Presence und Server Members) braucht dieses Beispiel nicht.

Bot entwickeln
Schreibe den Bot mit discord.js (Node.js) oder discord.py (Python):- Discord.js (Node.js)
- Discord.py (Python)
- Stelle sicher, dass Node.js auf deinem System installiert ist. Falls nicht, lade es von der offiziellen Node.js-Website herunter.
- Initialisiere ein neues Node.js-Projekt:
Terminal
- Installiere die discord.js-Bibliothek:
Terminal
- Erstelle eine JavaScript-Datei (z. B.
index.js) und füge den folgenden Code hinzu, um einen grundlegenden Discord-Bot zu erstellen:
index.js
Events.ClientReady ("clientReady") heißt. Der alte Name "ready" ist veraltet.Square Cloud konfigurieren
Erstelle im Stammverzeichnis deines Projekts, neben deiner Hauptdatei, eine Dateisquarecloud.app. Sie teilt Square Cloud mit, wie dein Bot ausgeführt wird:
MAINist die Datei, die Square Cloud ausführt, undMEMORYist der RAM des Bots in MB. Bots brauchen mindestens 256 MB; mit 512 MB hast du Luft zum Wachsen.AUTORESTART=truestartet den Bot nach einem Absturz neu. Lies dazu, wie der automatische Neustart funktioniert.- Es gibt keine
SUBDOMAIN: Ein Bot liefert keine Webseiten aus.
Bot-Token festlegen
Dein Code liest den Token aus der UmgebungsvariableDISCORD_TOKEN, daher landet der Token nie in deinen Dateien. Lege ihn auf eine dieser Arten fest:
- Dashboard: Öffne auf der Upload-Seite Erweiterte Konfiguration und füge eine Variable namens
DISCORD_TOKENmit deinem Token als Wert hinzu. Bei einem bereits deployten Bot fügst du sie auf der Seite Umgebungsvariablen der Anwendung hinzu und startest den Bot neu. - CLI: Lege sie direkt nach dem Upload des Bots (siehe Deployen und prüfen) mit
squarecloud app env setfest und starte den Bot neu:
Was in die ZIP-Datei gehört
- Deine Hauptdatei (
index.jsodermain.py) und deine anderen Quelldateien. package.jsonoderrequirements.txt.squarecloud.app.
node_modules, .venv und __pycache__ weg: Square Cloud installiert deine Abhängigkeiten, wenn der Bot startet.
Deployen und prüfen
Erstelle die oben beschriebene ZIP-Datei und lade sie dann hoch:Über das Dashboard
1
Upload-Seite aufrufen
Rufe die Upload-Seite auf und lade die ZIP-Datei deines Projekts hoch.
2
Umgebung konfigurieren
Nachdem du deine ZIP-Datei hochgeladen hast, musst du den Namen, die Hauptdatei oder Runtime-Umgebung und weitere Einstellungen für dein Projekt konfigurieren.
Wenn du ein Web-Projekt hochlädst, achte darauf, “Web Publication” auszuwählen und deinem Projekt eine Subdomain zuzuweisen.
Wenn du ein Web-Projekt hochlädst, achte darauf, “Web Publication” auszuwählen und deinem Projekt eine Subdomain zuzuweisen.
3
Projekt bereitstellen
Klicke abschließend auf die Schaltfläche “Deploy”, um dein Projekt auf Square Cloud zu hosten.
Nach dem Deploy kannst du den Status und die Logs deines Projekts über das Dashboard überwachen.
Nach dem Deploy kannst du den Status und die Logs deines Projekts über das Dashboard überwachen.

4
Bestätige, dass deine App live ist
Dein erstes Deploy dauert in der Regel weniger als eine Minute. Warte im Dashboard, bis der Status deiner Anwendung als “running” angezeigt wird, und prüfe die Logs auf Startfehler.
Wenn du eine Website oder API bereitgestellt hast, öffne
Wenn du eine Website oder API bereitgestellt hast, öffne
https://<deine-subdomain>.squareweb.app in deinem Browser: du solltest sehen, dass deine Anwendung reagiert. Wenn du einen Bot bereitgestellt hast, sende ihm einen Befehl, um zu bestätigen, dass er online ist.
Über die CLI
Um diese Methode zu nutzen, braucht dein Projekt eine Konfigurationsdatei mit dem Namensquarecloud.app im Stammverzeichnis. Sie teilt Square Cloud mit, wie deine Anwendung ausgeführt wird.
Leitfaden zur Konfigurationsdatei
Erfahre, wie du die Konfigurationsdatei
squarecloud.app erstellst, die die Umgebung deiner Anwendung definiert.1
CLI installieren
Installiere die Square Cloud CLI. Falls du sie bereits hast, führe denselben Befehl aus, um sie zu aktualisieren:
2
Anmelden
Führe den folgenden Befehl aus. Er öffnet deinen Browser: Bestätige dort die Anmeldung, und die CLI ist einsatzbereit. Es gibt keinen API-Schlüssel zu kopieren. Für Skripte und CI siehe CLI-Authentifizierung.
3
Projekt hochladen
Führe in deinem Projektordner den folgenden Befehl aus. Die CLI packt den aktuellen Ordner als ZIP, lässt dabei weg, was in der Um eine selbst erstellte ZIP-Datei hochzuladen, übergib sie mit
squarecloud.ignore steht, und lädt ihn hoch:--file:4
Bestätige, dass deine App live ist
Dein erstes Deploy dauert in der Regel weniger als eine Minute. Prüfe den Status und die Logs deiner Anwendung direkt im Terminal:Wenn du eine Website oder API bereitgestellt hast, öffne
https://<deine-subdomain>.squareweb.app in deinem Browser: du solltest sehen, dass deine Anwendung reagiert. Wenn du einen Bot bereitgestellt hast, sende ihm einen Befehl, um zu bestätigen, dass er online ist.
Den Bot auf deinen Server einladen
Um dem Bot einen Befehl zu senden, füge ihn zu einem Discord-Server hinzu:- Rufe das Developer Portal auf und wähle deinen Bot aus.
- Navigiere zum Tab “OAuth2” und gehe zu “OAuth2 URL Generator”.
- Aktiviere unter “Scopes” die Option “bot”.
- Aktiviere unter “Bot Permissions” nur, was das Beispiel braucht: View Channels, Send Messages und Read Message History. Vermeide Administrator: Bots brauchen es selten, und ein geleakter Token würde dann deinen ganzen Server kontrollieren.
- Kopiere die generierte URL, öffne sie in deinem Browser und füge den Bot zu deinem Server hinzu. Die URL sieht etwa so aus:
68608 ist die Summe dieser drei Berechtigungen. Ersetze YOUR_CLIENT_ID durch die ID deiner Anwendung, die im Tab “General Information” angezeigt wird. Wenn du Befehle hinzufügst, die weitere Berechtigungen brauchen, generiere eine neue URL mit diesen Berechtigungen.
Sende dann !hello in einem Kanal, den der Bot sehen kann. Er antwortet mit Hello!.

Häufige Fehler
An invalid token was provided
Die Logs zeigenError [TokenInvalid]: An invalid token was provided. (discord.js) oder discord.errors.LoginFailure: Improper token has been passed. (discord.py). Die Variable DISCORD_TOKEN fehlt oder enthält einen alten Token. Kopiere den aktuellen Token aus dem Tab “Bot”, lege ihn erneut fest und starte den Bot neu. Bei discord.py bedeutet ein KeyError: 'DISCORD_TOKEN', dass die Variable gar nicht gesetzt ist.
Used disallowed intents
Die Logs zeigenError [DisallowedIntents]: Privileged intent provided is not enabled or whitelisted. (discord.js) oder discord.errors.PrivilegedIntentsRequired (discord.py). Der Code fordert den Message Content Intent an, aber er ist im Developer Portal deaktiviert. Aktiviere ihn im Tab “Bot”, wie unter Bot-Anwendung auf Discord beschrieben, und starte den Bot dann neu.
Der Bot ist online, antwortet aber nicht auf !hello
Prüfe, ob der Bot in diesem Kanal Nachrichten sehen und senden darf und ob der Message Content Intent aktiviert ist: Ohne ihn empfängt der Bot Nachrichten mit leerem Text.
Weitere Meldungen und Lösungen findest du unter Discord-Bot-Fehler.
Nächste Schritte
Discord-Bot-Fehler
Behebe einen ungültigen Token, fehlende Intents und andere häufige Fehler.
Umgebungsvariablen
Verwalte den Token deines Bots und andere Secrets.
Lavalink-Server
Hoste einen Lavalink-Server, um in deinem Bot Musik abzuspielen.

