Discord-Bot mit lokaler KI
Was dieser Artikel behandelt
- Wie ein Discord-Bot mit lokaler KI funktioniert.
- Welche Bibliotheken sich für Python und Node.js eignen.
- Wie Ollama in den Bot eingebunden wird.
- Worauf beim Datenschutz und bei den Discord-Berechtigungen zu achten ist.
Einleitung: Discord-Bot mit lokaler KI
Ein Discord-Server mit eigener KI zu erweitern, ist ein beliebter Einstieg in lokale Sprachmodelle. Du kannst Fragen beantworten, Befehle ausführen oder Inhalte aus Deinen Dokumenten zusammenfassen, ohne dass Nachrichten an Cloud-Dienste gehen.
Lokale KI ist dafür ideal, weil Server-Unterhaltungen und Anhänge nicht verlassen Deine Infrastruktur. Das ist besonders für Communitys, Unternehmen und private Gruppen interessant, die Wert auf Datenschutz legen.
Was brauchst Du?
Für einen Discord-Bot mit lokaler KI benötigst Du:
- Einen Discord-Account und eine eigene Discord-Anwendung.
- Einen Server, auf dem der Bot laufen kann, zum Beispiel ein Heimserver oder ein VPS.
- Eine laufende Ollama-Instanz mit mindestens einem Modell wie Llama 3.2.
- Python oder Node.js, je nachdem, welche Bibliothek Du bevorzugst.
Für Python ist discord.py die bekannteste Wahl. Für Node.js ist discord.js sehr verbreitet. Beide bieten ähnliche Möglichkeiten.
Discord-Anwendung anlegen
Im Discord Developer Portal erstellst Du eine neue Anwendung. Dort legst Du fest, welche Berechtigungen der Bot benötigt. Mindestens braucht er das Lesen von Nachrichten und das Senden von Nachrichten. Wenn er auf Nachrichten reagieren soll, braucht er zusätzlich Berechtigungen für Message Content Intents.
Kopiere den Bot-Token und hinterlege ihn in einer Umgebungsvariablen oder einer Konfigurationsdatei. Packe ihn nie direkt in den Quellcode.
Ollama einbinden
Der Bot schickt Nutzereingaben an die Ollama-API und wartet auf die Antwort. Das passiert in der Regel über HTTP:
import requests
def frage_ollama(prompt, modell='llama3.2'):
url = 'http://localhost:11434/api/generate'
daten = {
'model': modell,
'prompt': prompt,
'stream': False
}
antwort = requests.post(url, json=daten)
return antwort.json()['response']
In Discord reagiert der Bot dann auf eine Nachricht, ruft diese Funktion auf und postet die Antwort zurück in den Channel.
Kontext und Speicher
Ein Bot wirkt deutlich besser, wenn er sich an frühere Nachrichten erinnern kann. Du speicherst dafür die letzten Nachrichten eines Channels oder Threads in einer Liste und fügst sie dem Prompt hinzu. So entsteht ein einfacher Konversationsverlauf.
Für produktive Bots solltest Du die Länge des Kontexts begrenzen. Sonst steigen Token-Verbrauch und Antwortzeit schnell an. Ein Limit von fünf bis zehn Nachrichten ist ein guter Start.
Datenschutz und Moderation
Sensible Befehle oder Aktionen sollte der Bot nicht allein ausführen. Ein KI-Bot in Discord ist ein öffentliches Ziel für Prompt-Injection. Beachte folgende Punkte:
- Erlaube nur bestimmten Rollen, bestimmte Befehle zu nutzen.
- Validiere Eingaben, bevor sie an Ollama gehen.
- Lass den Bot keine Dateien löschen, E-Mails verschicken oder externe APIs aufrufen, ohne menschliche Freigabe.
- Logge Aktionen, damit Du nachvollziehen kannst, was passiert.
Zusammenfassung: Discord-Bot mit lokaler KI
Ein Discord-Bot mit lokaler KI verbindet Discord mit Ollama. Du legst im Discord Developer Portal eine Anwendung an, baust die Verbindung in Python oder Node.js und bindest die Ollama-API ein. Durch Kontextbegrenzung, Rollensteuerung und Eingabevalidierung bleibt der Betrieb sicher und datenschutzkonform.


