Discord hat sich längst von einer reinen Gaming-Plattform zu einem vielseitigen Kommunikationszentrum entwickelt. Ob für Community-Aufbau, Projektmanagement oder einfach nur zum Quatschen mit Freunden – Discord bietet unzählige Möglichkeiten. Doch das volle Potenzial entfaltet die Plattform erst mit der Hilfe von Discord Bots. Sie automatisieren Aufgaben, moderieren Chats, spielen Musik ab oder bieten sogar Mini-Games. In diesem Artikel zeigen wir dir, wie du in wenigen Schritten deinen eigenen, funktionierenden Discord Bot erstellen kannst – ganz ohne tiefe Programmierkenntnisse!
Warum überhaupt einen Discord Bot erstellen?
Bevor wir ins Detail gehen, wollen wir kurz klären, warum du überhaupt einen eigenen Bot in Betracht ziehen solltest. Hier sind einige überzeugende Gründe:
- Automatisierung: Bots können repetitive Aufgaben wie Begrüßungen, Rollenvergabe oder das Löschen von Nachrichten automatisch erledigen.
- Moderation: Sie helfen dabei, deinen Server sauber zu halten, indem sie Spam erkennen, Beleidigungen filtern und Verstöße protokollieren.
- Interaktion: Bots können Umfragen starten, Quizze veranstalten, Memes generieren oder Musik abspielen – und so für mehr Unterhaltung sorgen.
- Individualisierung: Mit einem eigenen Bot kannst du Funktionen entwickeln, die genau auf die Bedürfnisse deiner Community zugeschnitten sind.
- Lernen und Spaß: Die Erstellung eines Bots ist eine tolle Möglichkeit, Programmiergrundlagen zu erlernen und gleichzeitig etwas Nützliches für deinen Server zu schaffen.
Schritt 1: Die Vorbereitung – Discord Developer Portal und Bot-Account
Bevor du mit dem Programmieren loslegen kannst, musst du einen Bot-Account im Discord Developer Portal erstellen. Keine Sorge, das ist einfacher als es klingt:
- Gehe zu https://discord.com/developers/applications und logge dich mit deinem Discord-Account ein.
- Klicke auf den Button „New Application”.
- Gib deiner Anwendung einen Namen (das wird später der Name deines Bots) und klicke auf „Create”.
- Im linken Menü wähle „Bot” aus.
- Klicke auf den Button „Add Bot”.
- Bestätige die Aktion mit „Yes, do it!”.
- Aktiviere die Option „Public Bot” (wenn du möchtest, dass andere deinen Bot auf ihren Servern einladen können) und „Presence Intent” sowie „Server Members Intent” (für erweiterte Funktionen).
- Wichtig: Klicke auf „Reset Token” und notiere dir den angezeigten Bot-Token. Dieser Token ist wie ein Passwort für deinen Bot und sollte niemals an Dritte weitergegeben werden!
Schritt 2: Den Bot auf deinen Server einladen
Jetzt, wo du einen Bot-Account hast, musst du ihn noch auf deinen Server einladen. Dafür benötigst du die Client ID deiner Anwendung:
- Gehe zurück zur „General Information” Seite deiner Anwendung (im Discord Developer Portal).
- Kopiere die „Client ID”.
- Füge diese ID in folgende URL ein:
https://discord.com/oauth2/authorize?client_id=DEINE_CLIENT_ID&permissions=8&scope=bot
. ErsetzeDEINE_CLIENT_ID
mit deiner tatsächlichen Client ID. - Öffne die generierte URL in deinem Browser.
- Wähle den Server aus, auf dem du den Bot hinzufügen möchtest, und klicke auf „Autorisieren”.
Fertig! Dein Bot ist jetzt auf deinem Server, allerdings noch offline und ohne Funktionen.
Schritt 3: Die Programmierung – Grundgerüst mit Python und Discord.py
Für die Programmierung unseres Bots verwenden wir Python und die Bibliothek discord.py. Python ist eine leicht verständliche Programmiersprache, und discord.py bietet uns alle Werkzeuge, die wir für die Interaktion mit der Discord-API benötigen.
- Python installieren: Falls du Python noch nicht installiert hast, kannst du es von https://www.python.org/ herunterladen. Achte darauf, dass du bei der Installation die Option „Add Python to PATH” aktivierst.
- discord.py installieren: Öffne die Kommandozeile (Windows) oder das Terminal (macOS/Linux) und gib folgenden Befehl ein:
pip install discord.py
. - Ein Grundgerüst erstellen: Erstelle eine neue Python-Datei (z.B. `bot.py`) und füge folgenden Code ein:
„`python
import discord
TOKEN = ‘DEIN_BOT_TOKEN’ # Ersetze dies mit deinem Bot-Token!
intents = discord.Intents.default()
intents.message_content = True # Aktiviert den Zugriff auf Nachrichteninhalte
client = discord.Client(intents=intents)
@client.event
async def on_ready():
print(f’Wir haben uns als {client.user} angemeldet’)
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith(‘$hallo’):
await message.channel.send(‘Hallo!’)
client.run(TOKEN)
„`
Erklärung des Codes:
import discord
: Importiert die discord.py Bibliothek.TOKEN = 'DEIN_BOT_TOKEN'
: Speichert deinen Bot-Token. Ersetze `’DEIN_BOT_TOKEN’` unbedingt mit deinem echten Token!intents = discord.Intents.default()
: Erstellt ein Objekt, das die Berechtigungen des Bots verwaltet.intents.message_content = True
: Aktiviert den Zugriff auf den Inhalt von Nachrichten. Wichtig ab Discord API Version 1.5.0client = discord.Client(intents=intents)
: Erstellt eine Instanz des Discord-Clients.@client.event
: Ein Dekorator, der eine Funktion als Event-Handler registriert.async def on_ready():
: Diese Funktion wird ausgeführt, sobald der Bot online ist.async def on_message(message):
: Diese Funktion wird ausgeführt, wenn eine Nachricht in einem Kanal gesendet wird, in dem der Bot Zugriff hat.if message.author == client.user: return
: Verhindert, dass der Bot auf seine eigenen Nachrichten reagiert.if message.content.startswith('$hallo'):
: Überprüft, ob die Nachricht mit dem Befehl ‘$hallo’ beginnt.await message.channel.send('Hallo!')
: Sendet die Nachricht ‘Hallo!’ in den Kanal, in dem der Befehl ausgeführt wurde.client.run(TOKEN)
: Startet den Bot mit deinem Token.
Schritt 4: Den Bot starten und testen
Speichere die `bot.py` Datei und öffne die Kommandozeile/das Terminal. Navigiere zu dem Ordner, in dem du die Datei gespeichert hast, und gib folgenden Befehl ein: python bot.py
. Wenn alles richtig eingerichtet ist, sollte in der Kommandozeile die Nachricht „Wir haben uns als [Bot-Name] angemeldet” erscheinen. Das bedeutet, dass dein Bot online ist!
Gehe nun auf deinen Discord-Server und schreibe in einen Kanal, in dem der Bot Zugriff hat, den Befehl $hallo
. Der Bot sollte mit „Hallo!” antworten.
Schritt 5: Erweiterte Funktionen – Befehle, Moderation und mehr
Das ist natürlich erst der Anfang. Du kannst deinen Bot mit unzähligen Funktionen erweitern. Hier sind einige Ideen und Code-Beispiele:
Befehle hinzufügen
Du kannst weitere Befehle hinzufügen, indem du einfach weitere if
-Bedingungen in der on_message
Funktion einfügst. Zum Beispiel:
„`python
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith(‘$hallo’):
await message.channel.send(‘Hallo!’)
if message.content.startswith(‘$würfel’):
import random
zahl = random.randint(1, 6)
await message.channel.send(f’Du hast eine {zahl} gewürfelt!’)
„`
Moderationsfunktionen
Mit discord.py
kannst du Nachrichten löschen, Benutzer kicken oder bannen. Hier ist ein Beispiel für einen Löschbefehl:
„`python
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith(‘$löschen’):
if message.author.guild_permissions.manage_messages: # Überprüft, ob der Benutzer die Berechtigung zum Verwalten von Nachrichten hat
try:
anzahl = int(message.content.split()[1]) # Liest die Anzahl der zu löschenden Nachrichten aus dem Befehl
await message.channel.purge(limit=anzahl + 1) # Löscht die angegebene Anzahl von Nachrichten (plus den Befehl selbst)
await message.channel.send(f'{anzahl} Nachrichten wurden gelöscht.’, delete_after=5) # Bestätigt die Löschung (wird nach 5 Sekunden gelöscht)
except (IndexError, ValueError):
await message.channel.send(‘Bitte gib eine gültige Anzahl an Nachrichten an.’)
else:
await message.channel.send(‘Du hast keine Berechtigung, diesen Befehl auszuführen.’)
„`
Reagieren auf neue Mitglieder
Du kannst den Bot so programmieren, dass er neue Mitglieder begrüßt oder ihnen automatisch eine Rolle zuweist:
„`python
@client.event
async def on_member_join(member):
channel = client.get_channel(DEINE_KANAL_ID) # Ersetze DEINE_KANAL_ID mit der ID des Kanals, in dem die Begrüßung erfolgen soll
await channel.send(f’Willkommen auf dem Server, {member.mention}!’)
„`
Um die Kanal-ID zu ermitteln, aktiviere im Discord unter „Einstellungen -> Erweitert” den Entwicklermodus. Anschließend kannst du mit einem Rechtsklick auf den Kanal die ID kopieren.
Fazit
Die Erstellung eines Discord Bots ist ein spannendes Projekt, das dir viele Möglichkeiten bietet, deinen Server zu individualisieren und zu automatisieren. Mit den hier gezeigten Schritten und Beispielen hast du eine solide Grundlage, um deine eigenen Ideen umzusetzen. Experimentiere mit verschiedenen Funktionen, lerne neue Programmiertechniken und entwickle einen Bot, der perfekt auf die Bedürfnisse deiner Community zugeschnitten ist. Viel Spaß beim Tüfteln!