Zum Inhalt springen
Fortgeschritten ⏱ Gesamt 45 Min. 🔨 Claude

Dein erster Discord-Bot, der wirklich antwortet: mit Claude gebaut, in 15 Minuten

Dein Ziel nach diesem Tutorial:

Du baust heute noch deinen ersten Discord-Bot, der auf deinem Server antwortet

Kurzfazit: Für alle, die einen eigenen Bot auf ihrem Discord-Server wollen und noch nie programmiert haben: Du beschreibst den Bot, Claude schreibt den Code, und nach 15 Minuten antwortet er auf einen Slash-Befehl. Discord, Node.js und Claude Free kosten 0 Euro. Die ehrliche Grenze: Der Bot läuft nur, solange dein Rechner läuft, und in Deutschland gilt für Discord laut Hilfeseite ein Mindestalter von 16 Jahren.

Fast jede kostenlose Anleitung endet an derselben Stelle: Der Bot läuft, am nächsten Morgen ist er weg, weil der Laptop zugeklappt wurde. Hier steht vorher, wo diese Grenze liegt. Die 15 Minuten sind Stufe 1, die 45 Minuten die ganze Anleitung. Du brauchst das Terminal, aber keine Zeile eigenen Code.


Was das kostet

BausteinPreisEhrliche Grenze
Discord-Konto und ein eigener Server0 €Mindestalter laut Discord-Hilfe: Deutschland 16 Jahre, Österreich 14, Schweiz 13
Node.js 24 LTS und die Bibliothek discord.js0 €Stabil ist discord.js 14.27.0 vom 15. Juli 2026. Version 15 liegt bisher nur als Entwicklungsstand vor und verlangt Node 24.17.0
Claude Free0 USD, keine KreditkarteSitzungslimit, das sich alle fünf Stunden zurücksetzt. Eine feste Nachrichtenzahl nennt Anthropic nicht
Dein eigener Rechner als Hoster0 €Der Bot ist offline, sobald du das Terminal schließt oder den Rechner ausschaltest
Kleiner Server rund um die Uhr (optional, Stufe 3)4,00 USD pro MonatDas ist das günstigste Basic Droplet bei DigitalOcean, mit 512 MiB Arbeitsspeicher, 1 vCPU und 10 GiB SSD
Claude API für die KI-Antwort (optional, Stufe 3)Haiku 4.5: 1 USD pro Million Eingabe-Token, 5 USD pro Million Ausgabe-TokenEigener Schlüssel, eigene Abrechnung, dein Claude-Free-Konto zählt nicht mit. Neue Konten bekommen laut Anthropic ein kleines Startguthaben, ohne Zahl

Quellen: Discords Schnellstart und die Mindestalter-Liste, die Node.js-Releases, der npm-Eintrag von discord.js, claude.com/pricing, die API-Preise und der Hilfeartikel zum kostenlosen Plan, Renders Free-Plan sowie die Droplet-Preise, alle abgerufen am 17. September 2026. Entscheidend ist hier nicht der Preis, sondern Zeile vier: Bis Stufe 3 kostet dich der Bot nichts, dafür lebt er genau so lange wie dein eingeschalteter Rechner.


Stufe 1: Anfänger, dein Bot antwortet nach 15 Minuten

Was du brauchst

  • Ein Discord-Konto und einen eigenen Server, angelegt links unten über das Pluszeichen und Eigenen erstellen.
  • Node.js 24, laut Releaseübersicht der aktuelle LTS-Stand. Installer auf nodejs.org.
  • Ein kostenloses Konto auf claude.ai und einen Texteditor.

Schritt für Schritt

  1. Öffne das Discord Developer Portal, klick auf Create App und gib einen Namen ein, das wird der Name des Bots.
  2. Geh links auf die Seite Bot und klick auf Reset Token. Discord zeigt den Token genau einmal, kopiere ihn sofort.
  3. Auf der Seite Installation setzt du unter Installation Contexts den Haken bei Guild Install und wählst die Scopes applications.commands und bot. Bei den Berechtigungen empfiehlt der Discord-Schnellstart mindestens Send Messages. Setz gleich Add Reactions dazu, die brauchst du in Stufe 2.
  4. Kopiere den Einladungslink von derselben Seite, öffne ihn im Browser und wähl deinen Server. Der Bot steht jetzt in der Mitgliederliste, grau und offline.
  5. Leg einen Ordner discord-bot an, öffne darin ein Terminal und schick Claude den Starter-Prompt.
  6. Führ Claudes Befehle aus und speichere index.js und .env in den Ordner. In die .env kommt dein Token aus Schritt 2.
  7. Starte den Bot mit node --env-file=.env index.js. Das Terminal bleibt offen, solange er läuft.
  8. Geh in deinen Server, tipp /ping und schick es ab.

Dein Token ist ein Passwort, kein Codeschnipsel. Wer ihn hat, steuert deinen Bot, ohne dein Discord-Passwort zu kennen. Discord schreibt im Schnellstart: “Make sure to never share your token or check it into any kind of version control.” Deshalb liegt er in der .env statt in der index.js, deshalb postest du ihn nicht in einen Chat, einen Screenshot oder ein Repository, und deshalb schickst du ihn auch nicht an Claude. Ist er trotzdem irgendwo gelandet: Seite Bot, Reset Token, der alte ist tot.

Starter-Prompt: dein erster Discord-Bot
Ich baue meinen ersten Discord-Bot und kann nicht programmieren. Schreibe mir einen Bot mit Node.js 24 und discord.js in Version 14. Der Bot soll: - sich mit einem Token aus einer Datei .env anmelden, Variablenname DISCORD_TOKEN - die .env ohne Zusatzpaket einlesen, über die Node-Option --env-file - nur den Gateway-Intent Guilds anfordern, keine privilegierten Intents - beim Start den Slash-Befehl /ping auf jedem Server registrieren, auf dem er schon ist, also als Guild-Befehl und nicht global, damit er sofort erscheint - auf /ping mit "Pong! Ich bin wach." antworten - beim Anmelden eine Zeile in der Konsole ausgeben Gib mir in dieser Reihenfolge: 1. die Terminal-Befehle, mit denen ich im Ordner [discord-bot] das Projekt anlege und discord.js installiere 2. den vollständigen Inhalt von index.js 3. den vollständigen Inhalt von .env mit einem Platzhalter statt meines Tokens Keine Erklärungen dazwischen, nur Befehle und Dateiinhalte.
Funktioniert mit Claude

Warum der Prompt Guild-Befehle verlangt: Laut Discord-Dokumentation gilt “Guild commands update instantly”. Globale Befehle tauchen verzögert auf, und du suchst einen Fehler, den es nicht gibt.

So sieht ein gutes Ergebnis aus: Im Terminal steht eine Zeile mit dem Namen deines Bots, in Discord wechselt der graue Punkt auf grün, und /ping erscheint, sobald du den Schrägstrich tippst.

Das ist dein erstes Ergebnis: ein eigener Bot, der auf deinem Server online steht und antwortet, wenn du ihn ansprichst.


Stufe 2: Fortgeschritten, mehr Befehle und die Intents, an denen alle scheitern

Ein Befehl ist ein Beweis, kein Bot. Drei kommen dazu, und einer davon braucht die Berechtigung Add Reactions aus Stufe 1.

Erweiterungs-Prompt: drei Befehle dazu
Der Bot läuft. Erweitere meine index.js um drei weitere Slash-Befehle, ohne die bestehende Struktur zu ändern: - /wuerfel [seiten] wirft einen Würfel mit der angegebenen Seitenzahl, Standard 6, und postet das Ergebnis - /serverinfo nennt Name, Mitgliederzahl und Erstellungsdatum des Servers auf Deutsch - /umfrage [frage] postet die Frage und setzt Daumen hoch und Daumen runter als Reaktionen darunter Alle drei bleiben Guild-Befehle und kommen mit dem Intent Guilds aus. Gib mir nur die vollständige neue index.js zurück, ohne Erklärung.
Funktioniert mit Claude

Nach dem Speichern beendest du den Bot mit Strg und C und startest ihn neu. Neue Befehle registriert er nur beim Start.

Der Unterschied zwischen “online” und “antwortet”

Ein Bot bekommt nicht automatisch alles zu sehen, was auf deinem Server passiert. Beim Verbinden meldet er an, welche Ereignisse er hören will, das sind die Gateway-Intents. Drei davon sind laut Discord-Dokumentation privilegiert und standardmäßig aus: GUILD_PRESENCES, GUILD_MEMBERS und MESSAGE_CONTENT. Eingeschaltet werden sie im Developer Portal auf der Seite Bot unter Privileged Gateway Intents.

Bei Slash-Befehlen brauchst du keinen davon. Sobald der Bot auf normale Nachrichten oder neue Mitglieder reagieren soll, brauchst du sie, und genau hier verstummen die meisten Bots.

Willkommens-Prompt: der Bot begrüßt neue Mitglieder
Ergänze einen Willkommensgruß: Sobald jemand meinem Server beitritt, schreibt der Bot in den Kanal [allgemein] eine kurze Begrüßung mit dem Namen der Person. Sag mir zuerst in einem Satz, welchen zusätzlichen Gateway-Intent das braucht und an welcher Stelle im Discord Developer Portal ich ihn einschalte. Gib mir danach nur die geänderten Stellen meiner index.js zurück, nicht die ganze Datei.
Funktioniert mit Claude

Die drei Fehler, die dir garantiert begegnen

1. Der Bot ist grün, aber der Slash-Befehl taucht nicht auf. Symptom: Du tippst den Schrägstrich, die Liste bleibt leer. Ursache: Im Einladungslink fehlte der Scope applications.commands, oder der Befehl wurde global statt als Guild-Befehl registriert. Lösung: zurück auf Installation, beide Scopes setzen, den Bot mit dem neuen Link noch einmal auf denselben Server einladen, neu starten. Schreib Claude dazu: “Registriere die Befehle als Guild-Befehle für jeden Server, auf dem der Bot ist.”

2. Das Programm bricht direkt nach dem Start ab. Symptom: eine Fehlermeldung mit DisallowedIntents, im Log der Code 4014. Ursache: Dein Code fordert einen privilegierten Intent an, der im Portal aus ist. Discord beschreibt 4014 als “Disallowed intent(s)”, also ein Intent, “that you have not enabled or are not approved for”. Lösung: Seite Bot, Privileged Gateway Intents, Schalter umlegen, speichern, neu starten.

3. Der Bot sieht Nachrichten, aber sie sind leer. Symptom: Er reagiert auf Erwähnungen, ignoriert aber jedes Schlüsselwort in normalen Nachrichten. Ursache: Ohne MESSAGE_CONTENT liefert Discord Felder wie content leer aus. Ausnahmen nennt die Dokumentation genau vier: Nachrichten des Bots selbst, Direktnachrichten mit ihm, Nachrichten mit seiner Erwähnung und Nachrichten, auf die ein Kontextmenü-Befehl angewendet wird. Lösung: entweder MESSAGE_CONTENT einschalten oder den Bot ansprechbar machen, statt ihn mitlesen zu lassen. Slash-Befehle sind genau das.


Stufe 3: Experte, eine echte KI-Antwort und die Frage, wo der Bot wohnt

Der Bot denkt mit

Bisher antwortet dein Bot mit festen Texten. Mit der Claude API geht er auf Fragen ein. Dafür brauchst du einen Schlüssel aus der Claude Console, ein anderes Konto als dein kostenloser Claude-Zugang: Die API rechnet nach Verbrauch ab.

KI-Prompt: der Befehl /frag mit Claude Haiku
Baue in meine index.js einen Slash-Befehl /frag [frage] ein, der die Frage an die Claude API schickt und die Antwort im Kanal postet. Vorgaben: - Paket @anthropic-ai/sdk, Modell claude-haiku-4-5 - API-Schlüssel aus der .env, Variablenname ANTHROPIC_API_KEY - max_tokens auf 300 begrenzen, damit eine einzelne Antwort nie teuer wird - System-Prompt: [Du bist der Bot eines Koch-Servers. Antworte kurz, auf Deutsch, höchstens fünf Sätze.] - Die Antwort vor dem API-Aufruf aufschieben, weil Discord innerhalb von drei Sekunden eine erste Rückmeldung erwartet - Pro Person höchstens ein Aufruf alle [30] Sekunden, sonst antwortet der Bot mit einem kurzen Hinweis - Wenn die API einen Fehler liefert, postet der Bot eine verständliche Meldung, statt abzustürzen Gib mir nur die vollständige neue index.js zurück.
Funktioniert mit Claude

Modellnamen ändern sich. Kommt eine Fehlermeldung mit dem Wort model, holst du den aktuellen Namen aus Anthropics Modellübersicht und ersetzt ihn im Code.

Was eine Antwort kostet: Haiku 4.5 kostet laut Preisseite 1 USD pro Million Eingabe-Token und 5 USD pro Million Ausgabe-Token. System-Prompt und Frage liegen zusammen bei rund 500 Eingabe-Token, eine Antwort von fünf Sätzen bei rund 400 Ausgabe-Token: 0,0005 USD plus 0,002 USD, also 0,0025 USD pro Antwort und rund 2,50 USD für tausend. Genau deshalb steht max_tokens im Prompt: Ohne Deckel kostet eine ausufernde Antwort ein Vielfaches, und ein offener Server multipliziert das.

Wo der Bot wohnt, wenn dein Rechner aus ist

Dein Bot hält die Verbindung zu Discord von sich aus nach draußen offen. Niemand ruft ihn von außen auf. Das klingt nach einem Detail und entscheidet alles: Kostenlose Web-Dienste bei Render fahren laut Dokumentation herunter, wenn ein Dienst “15 minutes without receiving any inbound traffic” bleibt, und geweckt wird er durch genau diesen Verkehr. Ein Bot bekommt nie welchen. Hintergrunddienste gehören bei Render nicht zum kostenlosen Plan.

Es bleiben drei ehrliche Wege:

  • Dein Rechner. 0 €, null Einrichtung, aber der Bot ist weg, sobald du zuklappst. Für einen Freundeskreis-Server reicht das.
  • Ein Gerät, das ohnehin durchläuft. Alter Laptop oder Einplatinenrechner, gleicher Befehl, gleiche Dateien. Hosting 0 €, du zahlst Strom.
  • Ein kleiner Server im Netz. Das günstigste Basic Droplet bei DigitalOcean kostet laut Preisseite 4,00 USD pro Monat, mit 512 MiB Arbeitsspeicher, 1 vCPU und 10 GiB SSD. Oracles Always-Free-Angebot heißt dauerhaft kostenlos, Oracle behält sich laut Dokumentation aber vor, Instanzen einzuziehen, deren CPU-Auslastung über sieben Tage im 95. Perzentil unter 20 Prozent liegt. Ein wartender Bot sieht für diese Regel ungenutzt aus.

Ziehst du um, wandert die .env nicht mit: Der Token gehört in die Umgebungsvariablen des Anbieters. Und legst du das Projekt auf GitHub, gehört .env in die .gitignore, sonst steht dein Token öffentlich im Netz.


Häufige Fragen zu Discord-Bots mit Claude

Kann ich einen Discord-Bot ohne Programmieren erstellen?

Ja. Du beschreibst auf Deutsch, was der Bot tun soll, Claude schreibt den Code, du kopierst ihn in zwei Dateien und startest ihn mit einem Befehl. Nötig ist kein Programmierwissen, sondern die Bereitschaft, ein Terminal zu öffnen und Fehlermeldungen weiterzureichen.

Was kostet ein eigener Discord-Bot?

Bis Stufe 2 nichts: Discord, Node.js, discord.js und Claude Free kosten zusammen 0 Euro. Geld kostet erst Stufe 3. Die Claude API rechnet bei Haiku 4.5 mit 1 USD pro Million Eingabe-Token und 5 USD pro Million Ausgabe-Token ab, rund 2,50 USD für tausend kurze Antworten. Ein Server rund um die Uhr beginnt bei 4,00 USD pro Monat.

Warum antwortet mein Discord-Bot nicht, obwohl er online ist?

Meist wegen der Berechtigungen beim Verbinden. Entweder fehlt im Einladungslink der Scope applications.commands, dann erscheinen die Slash-Befehle nicht. Oder der Code fordert einen privilegierten Intent an, der unter Privileged Gateway Intents aus ist, dann bricht er mit Code 4014 ab.

Läuft mein Discord-Bot weiter, wenn ich den Rechner ausschalte?

Nein. Der Bot ist ein Programm auf deinem Rechner und endet mit dem Terminal. Für Dauerbetrieb brauchst du ein Gerät, das durchläuft, oder einen gemieteten Server ab 4,00 USD pro Monat. Der Free-Plan von Render hilft nicht: Er fährt nach 15 Minuten ohne eingehenden Verkehr herunter, und ein Bot bekommt nie welchen.

Ab welchem Alter darf ich Discord nutzen?

Laut Discord-Hilfe ab 16 Jahren in Deutschland, ab 14 in Österreich und ab 13 in der Schweiz. Maßgeblich ist das Land, in dem du wohnst.

Geht das auch mit Python statt Node.js?

Ja, mit discord.py, aktuell Version 2.7.1 und ab Python 3.8 lauffähig. Im Developer Portal ändert sich nichts, Intents und Berechtigungen bleiben dieselben, im Starter-Prompt tauschst du nur Sprache und Bibliothek.

Geht das auch mit ChatGPT oder Gemini statt Claude?

Ja, die Prompts funktionieren dort genauso. Wichtig bleibt die Vorgabe “discord.js in Version 14”: Ältere Beispiele nutzen noch Version 12 oder 13, und der Code startet dann nicht. Kontingente und Fehlerbilder hier beschreiben Claude.


Dein nächster Schritt

Das Muster ist nicht Discord-spezifisch: Du beschreibst ein Verhalten, die KI schreibt den Code, und deine Arbeit besteht darin, Fehlermeldungen genau zu lesen. Wer den Unterschied zwischen “online” und “darf mithören” verstanden hat, erkennt ihn bei jeder API wieder.

Dein erster Discord-Bot ist 15 Minuten entfernt. Öffne das Discord Developer Portal, klick auf Create App und kopier den Starter-Prompt aus Stufe 1. Danach lohnen sich drei Richtungen:

Was Claude sonst kann und was die Pläne kosten, steht in unserer Übersicht zu Claude.


Wie gut kennst du Discord-Bots mit Claude?

10 Fragen, vom Token bis zum Dauerbetrieb. Wer mindestens 8 richtig beantwortet, bekommt ein Zertifikat zum Teilen.

Discord-Bot-Quiz
1 / 10

Ab welchem Alter darfst du Discord in Deutschland laut Discord-Hilfe nutzen?

Für Unternehmen

Du willst das für dein Team?

Alleine brauchst du dafür 45 Minuten. Mit deinem Team wird daraus ein Training: dieselben Werkzeuge, aber eure Aufgaben, eure Daten, eure Fragen. Im kostenlosen Erstgespräch, 30 Minuten, sagen wir dir ehrlich, ob Beratung, ein Training oder ein Projekt der nächste sinnvolle Schritt ist. Oder ob gerade keiner nötig ist.

KI-Training anfragen

Kostenlos, jeden Freitag

KI-Wochenbriefing: jeden Freitag KI-News, Praxistipps und Tools

Kostenlos abonnieren, jederzeit abmeldbar, kein Spam.

Tutorial teilen: