Einen Bot erstellen
Schritt 1. Erstelle eine Anwendung (folge dem Link).
Schritt 2. Füge einen Bot hinzu (klicke auf die Schaltfläche "Bot hinzufügen").

Schritt 2.1. Wähle im Abschnitt Installation die Option Installationslink → Keiner aus.

Schritt 2.2. Deaktiviere im Abschnitt Bot die Option Öffentlicher Bot und aktiviere dann die folgenden Intents:
- Message Content Intent
- Server Members Intent
Du kannst auch Presence Intent für die zukünftige Verwendung aktivieren.


Schritt 3. Hole dir den Token (Token zurücksetzen).
Schritt 4. Füge den Bot zum Server hinzu:
- Gehe zu OAuth2 → URL-Generator.
- Wähle unter Bereiche die Option bot aus.
- Wähle unter Bot-Berechtigungen die Optionen Nachrichten senden, Nachrichtenverlauf lesen und alle anderen erforderlichen Berechtigungen aus.
Öffne dann den generierten Link, wähle den Server aus, zu dem du den Bot hinzufügen möchtest, und bestätige die Autorisierung.


Um den vollständigen Webhook von Discord zu erhalten, weise einfach einen beliebigen Wert der Variable save_webhook zu.
Wenn die Variable gesetzt ist, wird der Webhook in discord_webhook gespeichert.
Den Discord-Bot in MaviBot verbinden
Gehe nun in deinem Projekt in MaviBot zum Abschnitt „Messengers“:

Füge dann den von Discord kopierten Token ein.

Klicke auf die Schaltfläche Fertig.
Rechnerfunktionen
Auf eine Nachricht antworten
discord_reply_to_message(message_id, text) - Diese Funktion wird verwendet, um auf eine Nachricht zu antworten.
| Parameter | Beschreibung |
|---|---|
| ! message_id | Die ID der Nachricht, auf die du antworten möchtest. |
| ! text | Der Text der Antwortnachricht. |
Eine Nachricht löschen
discord_delete_message(message_id) - Diese Funktion wird verwendet, um eine Nachricht zu löschen.
| Parameter | Beschreibung |
|---|---|
| ! message_id | Die ID der zu löschenden Nachricht. |
Eine Nachricht bearbeiten
discord_edit_message(message_id, text) - Diese Funktion wird verwendet, um eine Nachricht zu bearbeiten.
| Parameter | Beschreibung |
|---|---|
| ! message_id | Die ID der zu bearbeitenden Nachricht. |
| ! text | Der neue Text der Nachricht. |
Eine Nachricht anpinnen
discord_pin_message(message_id) - Diese Funktion wird verwendet, um eine Nachricht anzupinnen.
| Parameter | Beschreibung |
|---|---|
| ! message_id | Die ID der anzupinnenden Nachricht. |
Eine Nachricht lösen
discord_unpin_message(message_id) - Diese Funktion wird verwendet, um eine Nachricht zu lösen.
| Parameter | Beschreibung |
|---|---|
| ! message_id | Die ID der zu lösenden Nachricht. |
Eine Reaktion zu einer Nachricht senden
discord_send_reaction(message_id, reaction) - Diese Funktion wird verwendet, um eine Reaktion zu einer Nachricht zu senden.
| Parameter | Beschreibung |
|---|---|
| ! message_id | Die ID der Nachricht, zu der eine Reaktion gesendet werden soll. |
| ! reaction | Die zu sendende Reaktion. Du kannst ein einzelnes Emoji (z. B. ❤️) oder die ID eines benutzerdefinierten Emojis auf dem Server angeben. Informationen zum Abrufen der ID eines benutzerdefinierten Emojis findest du weiter unten. |
Eine Reaktion von einer Nachricht in einem Kanal entfernen
discord_delete_reaction(message_id, reaction, user_id) - Diese Funktion wird verwendet, um eine Reaktion von einer Nachricht in einem Kanal zu entfernen.
| Parameter | Beschreibung |
|---|---|
| ! message_id | Die ID der Nachricht, von der die Reaktion entfernt werden soll. |
| ! reaction | Die zu entfernende Reaktion. Du kannst ein einzelnes Emoji (z. B. ❤️) oder die ID eines benutzerdefinierten Emojis auf dem Server angeben. Informationen zum Abrufen der ID eines benutzerdefinierten Emojis findest du weiter unten. |
| user_id | Die ID des Benutzers, dessen Reaktion du entfernen möchtest. Dieser Parameter ist optional, wenn du die Reaktion vom aktuellen Bot entfernen möchtest. |
Discord-Funktionen
Die folgenden Funktionen ermöglichen dir die Verwaltung von Discord-Servern, Mitgliedern, Kanälen, Rollen, Nachrichten und Einladungen.
Mitgliedermoderation
Ein Mitglied bannen
discord_ban_member(user_id, delete_message_seconds) - Diese Funktion wird verwendet, um ein Mitglied vom Discord-Server zu bannen.
| Parameter | Beschreibung |
|---|---|
| ! user_id | Die Discord-Benutzer-ID des zu bannenden Mitglieds. |
| delete_message_seconds | (Optional) Löscht die vorherigen Nachrichten des Mitglieds aus der angegebenen Anzahl von Sekunden vor dem Bann. Setze 0, um alle Nachrichten zu behalten. |
Einen Bann aufheben
discord_unban_member(user_id) - Diese Funktion wird verwendet, um einen Bann von einem Mitglied aufzuheben.
| Parameter | Beschreibung |
|---|---|
| ! user_id | Die Discord-Benutzer-ID des Mitglieds, dessen Bann aufgehoben werden soll. |
Ein Mitglied kicken
discord_kick_member(user_id) - Diese Funktion wird verwendet, um ein Mitglied vom Server zu entfernen, ohne es zu bannen.
| Parameter | Beschreibung |
|---|---|
| ! user_id | Die Discord-Benutzer-ID des zu entfernenden Mitglieds. |
Ein gekicktes Mitglied kann dem Server mit einem gültigen Einladungslink wieder beitreten.
Ein Mitglied in eine Auszeit versetzen
discord_timeout_member(user_id, seconds) - Diese Funktion wird verwendet, um ein Mitglied in eine Auszeit zu versetzen (stummzuschalten).
| Parameter | Beschreibung |
|---|---|
| ! user_id | Die Discord-Benutzer-ID des Mitglieds. |
| ! seconds | Dauer der Auszeit in Sekunden. |
Auszeit entfernen
discord_remove_timeout(user_id) - Diese Funktion wird verwendet, um die Auszeit eines Mitglieds vor ihrem Ablauf zu entfernen.
| Parameter | Beschreibung |
|---|---|
| ! user_id | Die Discord-Benutzer-ID des Mitglieds. |
Nachrichten massenhaft löschen
discord_bulk_delete_messages(channel_id, message_ids) - Diese Funktion wird verwendet, um mehrere Nachrichten aus einem Kanal zu löschen.
| Parameter | Beschreibung |
|---|---|
| ! channel_id | Die Discord-Kanal-ID. |
| ! message_ids | Eine Liste der Nachrichten-IDs, die gelöscht werden sollen. |
Nachrichten
Eine Nachricht senden
discord_send_message(channel_id, text) - Diese Funktion wird verwendet, um eine Nachricht an einen Discord-Kanal zu senden.
| Parameter | Beschreibung |
|---|---|
| ! channel_id | Die Discord-Kanal-ID. |
| ! text | Der Nachrichtentext. |
Eine Nachricht abrufen
discord_get_message(channel_id, message_id) - Diese Funktion wird verwendet, um Informationen über eine Nachricht abzurufen.
| Parameter | Beschreibung |
|---|---|
| ! channel_id | Die Discord-Kanal-ID. |
| ! message_id | Die ID der Nachricht. |
Die Funktion gibt zurück:
- Nachrichteninhalt
- Autoreninformationen
- Anhänge
Eine Direktnachricht senden
discord_send_dm(user_id, text) - Diese Funktion wird verwendet, um eine Direktnachricht an ein Servermitglied zu senden.
| Parameter | Beschreibung |
|---|---|
| ! user_id | Die Discord-Benutzer-ID. |
| ! text | Der Nachrichtentext. |
Rollen
Eine Rolle hinzufügen
discord_add_role(user_id, role_id) - Diese Funktion wird verwendet, um einem Mitglied eine Rolle zuzuweisen.
| Parameter | Beschreibung |
|---|---|
| ! user_id | Die Discord-Benutzer-ID. |
| ! role_id | Die Discord-Rollen-ID. |
Eine Rolle entfernen
discord_remove_role(user_id, role_id) - Diese Funktion wird verwendet, um eine Rolle von einem Mitglied zu entfernen.
| Parameter | Beschreibung |
|---|---|
| ! user_id | Die Discord-Benutzer-ID. |
| ! role_id | Die Discord-Rollen-ID. |
Mitglieds-Spitznamen ändern
discord_set_nickname(user_id, nickname) - Diese Funktion wird verwendet, um den Spitznamen eines Mitglieds auf dem Server zu ändern.
| Parameter | Beschreibung |
|---|---|
| ! user_id | Die Discord-Benutzer-ID. |
| ! nickname | Der neue Spitzname. |
Server-Rollen abrufen
discord_get_roles() - Diese Funktion wird verwendet, um die Liste der Server-Rollen abzurufen.
Die Funktion gibt zurück:
- Rollen-ID
- Rollenname
Mitglieder
Mitgliedsinformationen abrufen
discord_get_member(user_id) - Diese Funktion wird verwendet, um Informationen über ein Servermitglied abzurufen.
| Parameter | Beschreibung |
|---|---|
| ! user_id | Die Discord-Benutzer-ID. |
Die Funktion gibt zurück:
- Mitgliedsrollen
- Server-Spitzname
- Beitrittsdatum
- Berechtigungen
Kanäle
Einen Kanal erstellen
discord_create_channel(name, type, parent_id, permission_overwrites) - Diese Funktion wird verwendet, um einen neuen Discord-Kanal zu erstellen.
| Parameter | Beschreibung |
|---|---|
| ! name | Der Kanalname. |
| ! type | Der Kanaltyp (z. B. Text oder Sprache). |
| parent_id | Die Kategorie-ID, in der der Kanal erstellt werden soll. |
| permission_overwrites | Kanaleinstellungen für Berechtigungen, die festlegen, welche Benutzer oder Rollen auf den Kanal zugreifen können. |
Einen Kanal löschen
discord_delete_channel(channel_id) - Diese Funktion wird verwendet, um einen Discord-Kanal zu löschen.
| Parameter | Beschreibung |
|---|---|
| ! channel_id | Die Discord-Kanal-ID. |
Kanalberechtigungen festlegen
discord_set_channel_permission(channel_id, target_id, allow, deny) - Diese Funktion wird verwendet, um Kanalberechtigungen für einen Benutzer oder eine Rolle zu konfigurieren.
| Parameter | Beschreibung |
|---|---|
| ! channel_id | Die Discord-Kanal-ID. |
| ! target_id | Die Benutzer-ID oder Rollen-ID, deren Berechtigungen geändert werden sollen. |
| ! allow | Zu gewährende Berechtigungen. |
| ! deny | Zu verweigernde Berechtigungen. |
Einladungen
Einladung erstellen
discord_create_invite(channel_id, max_age, max_uses) - Diese Funktion wird verwendet, um einen Einladungslink zu erstellen.
| Parameter | Beschreibung |
|---|---|
| ! channel_id | Die Discord-Kanal-ID. |
| max_age | Lebensdauer der Einladung in Sekunden. Verwenden Sie 0 für keine Ablaufzeit. |
| max_uses | Maximale Anzahl der Nutzungen. Verwenden Sie 0 für unbegrenzte Nutzungen. |
Server-Einladungen abrufen
discord_get_invites() - Diese Funktion wird verwendet, um alle Server-Einladungslinks abzurufen.
Die Funktion gibt zurück:
- Einladungs-URL
- Anzahl der Nutzungen
- Verbleibende Lebensdauer (falls zutreffend)
Webhook-Ereignisse
Die folgenden Discord-Ereignisse können an den Chat-Flow weitergeleitet werden:
- Mitglied ist dem Server beigetreten
- Mitglied hat den Server verlassen
- Mitglied wurde gekickt
- Mitglied wurde gebannt
- Mitglied wurde entbannt
- Mitgliedsrollen geändert
- Nachricht bearbeitet
- Nachricht gelöscht
- Reaktion hinzugefügt
- Reaktion entfernt
- Slash-Befehl ausgeführt
- Button geklickt
Webhook-Payload
Webhook-Daten sind verfügbar in:
discord_webhook["data"]
| Feld | Beschreibung |
|---|---|
| author_id | Discord-Benutzer-ID des Nachrichtenautors. |
| username | Discord-Benutzername. |
| nickname | Server-Spitzname. |
| channel_id | Discord-Kanal-ID. |
| guild_id | Discord-Server-ID. |
| message_id | Discord-Nachrichten-ID. |
| content | Nachrichtentext. |
| roles | Liste der Rollen-IDs des Mitglieds. |
| is_admin | Gibt an, ob das Mitglied Administratorrechte hat. |
Callbacks
Wenn ein Benutzer eine Reaktion sendet, wird ein Callback im Chat im folgenden Format empfangen:
new_like ❤️ uid413984787162726410

Wobei uid413984787162726410 die ID des Benutzers ist, der die Reaktion gesendet hat.
So erhalten Sie die ID eines benutzerdefinierten Emojis
Wenn Sie eine benutzerdefinierte Reaktion an eine Nachricht in einem Discord-Kanal senden, wird ein Callback im folgenden Format empfangen:
new_like beer:1479419477396291696 uid413984787162726410

Wobei beer:1479419477396291696 die ID der Reaktion ist. Sie können sie für die Verwendung in reaktionsbezogenen Funktionen kopieren.
So erhalten Sie die Nachrichten-ID
Sie können die Nachrichten-ID des Clients aus dem Webhook abrufen, wenn save_webhook aktiviert ist. Beispiel:
data = discord_webhook["data"]
msg_id = data["id"]
result = discord_reply_to_message(msg_id, "Dies ist eine Antwort auf eine Nachricht")
Zusätzliche Callbacks
Zusätzlich zu new_like sind die folgenden Callbacks verfügbar:
| Callback | Beschreibung |
|---|---|
new_like {emoji} uid{user_id} |
Ein Benutzer hat eine Reaktion zu einer Nachricht hinzugefügt. |
reaction_remove {emoji} uid{user_id} |
Ein Benutzer hat eine Reaktion von einer Nachricht entfernt. |
message_delete mid{message_id} |
Eine Nachricht wurde gelöscht. |
message_edit mid{message_id} |
Eine Nachricht wurde bearbeitet. Der aktualisierte Nachrichtentext ist in den Webhook-Daten verfügbar. |
member_join uid{user_id} |
Ein Mitglied ist dem Server beigetreten. |
member_leave uid{user_id} |
Ein Mitglied hat den Server verlassen. |
member_update uid{user_id} |
Die Informationen eines Mitglieds (wie Rollen oder Spitzname) wurden aktualisiert. |
member_ban uid{user_id} |
Ein Mitglied wurde vom Server gebannt. |
member_unban uid{user_id} |
Ein Mitglied wurde vom Server entbannt. |
Callback-Variablen
Aus Konsistenzgründen mit dem vorhandenen Discord-Ereignisformat verwenden Benutzer- und Nachrichtenidentifikatoren historische Präfixe:
- Benutzer-IDs werden als
uid{user_id}zurückgegeben. - Nachrichten-IDs werden als
mid{message_id}zurückgegeben.
Die folgenden Variablen verwenden ebenfalls diese präfixierten Identifikatoren:
message_frominternal_iddiscord_webhook["data"]