Integrationen
Eine Liste aller Funktionen findest du auf der Funktionen-Seite.
Integrationen sind im Prinzip Customcommands 2.0 - du kannst immer noch einfach auf Message- und Slashcommands antworten, aber du hast zusätzlich die Möglichkeit, viele weitere Auslöser für Aktionen zu nutzen. Außerdem ist es möglich, erstellte Integrationen auf anderen Servern zu verwenden.
Integrationen können im Dashboard verwaltet werden.
Wenn dir das Dashboard zu kompliziert erscheint, probiere unseren einfachen Modus welcher nicht zwingend notwendige Inhalte versteckt, jedoch auch die Funktionalität begrenzt.
Mögliche Auslöser
- Nachrichten- und/oder Slashcommand
- Argument: Slashcommand-Beschreibung. Wenn leer wird kein Slashcommand von dieser Aktion registriert.
- Maximal 100 Slashcommands pro Server.
- Nachrichten-Kontextmenü
- Argument: Text für das Kontextmenü, maximal 25 Zeichen.
- Maximal fünf pro Server.
- Nutzer-Kontextmenü
- Argument: Text für das Kontextmenü, maximal 25 Zeichen.
- Maximal fünf pro Server.
- Nachrichteninhalt enthält
- Argument: Nachrichteninhalt, nach dem gesucht werden soll
- Nachrichteninhalt ist gleich
- Argument: Exakter Nachrichteninhalt mit gleicher Groß- und Kleinschreibung
- Nachrichteninhalt beginnt mit
- Argument: Nachrichteninhalt, nach dem gesucht werden soll
- Nachrichteninhalt endet mit
- Argument: Nachrichteninhalt, nach dem gesucht werden soll
- Nachrichteninhalt matcht RegEx
- Argument: RegEx, mit dem geprüft werden soll, siehe RegEx-Cheatsheet
- Nachrichtenanhang enthält
- Argument: Dateinendungen oder Gruppen dieser, getrennt mit Kommas
- Button gedrückt
- Argument: Button-Custom-ID
- Selectmenü ausgewählt
- Argument: Selectmenü-Custom-ID
- Modal abgesendet
- Argument: Modal-Custom-ID
- Discord-AutoMod ausgelöst (z. B. für eigene Bestrafungen, wenn eine bestimmte Regel ausgelöst wird)
- Argument (optional): ID einer Regel
- Slashcommand eines anderen Bots verwendet (z. B. für
/bump
-Erinnerungen)- Argument: Slashcommand-Name des anderen Bots
- Mitglied beigetreten/verlassen
- Argument:
join
,leave
oder leer, um bei beiden auszulösen
- Argument:
- Reaktion hinzugefügt/entfernt
- Argument:
add
,remove
oder leer, um bei beiden auszulösen
- Argument:
- Rolle erstellt/gelöscht
- Argument:
create
,delete
oder leer, um bei beiden auszulösen
- Argument:
- Kanal erstellt/gelöscht
- Argument:
create
,delete
oder leer, um bei beiden auszulösen
- Argument:
- Webhook erstellt/gelöscht
- Argument:
create
,delete
oder leer, um bei beiden auszulösen
- Argument:
- Thread (oder Forumpost) erstellt/gelöscht
- Argument:
create
,delete
oder leer, um bei beiden auszulösen
- Argument:
- Levelup
- Argument: Ein Level oder eine Range von Leveln, bei denen ausgelöst werden soll, z. B.
8
, um nur beim Erreichen von Level acht auszulösen, oder8..10
um bei den Leveln 8, 9 und 10 auszulösen.
- Argument: Ein Level oder eine Range von Leveln, bei denen ausgelöst werden soll, z. B.
- Nickname geändert
- Server geboosted/Boosts entfernt
- Argument:
boost
,boostend
oder leer, um bei beiden auszulösen
- Argument:
- Intervall
- Argument: Intervall-Zeit wie z. B.
45m
, mindestens fünf Minuten, maximal zwei Tage - Hinweis: Da diese Zeiten relativ zu Botstarts gemessen kann es vorkommen, dass eine Aktion öfters oder seltener als gewollt ausgeführt wird, wenn der Timer zurückgesetzt wurde. Verwende stattdessen Cronjobs, wenn dir das wichtig ist.
- Argument: Intervall-Zeit wie z. B.
- Cronjob
- Argument: Der Cronjob, z. B. von https://crontab.guru, darf nicht mehr als zwölf mal pro Stunde auslösen
- Nutzer betritt/verlässt Sprachkanal
- Argument:
join
,leave
oder leer, um bei beiden auszulösen
- Argument:
- Nutzer ge- oder enttimeouted
- Argument:
timeout
,timeoutend
oder leer, um bei beiden auszulösen
- Argument:
- Discord-Systemnachricht
- Argument: Interne Discord-System-Nachrichten-Typ-ID: https://discord.com/developers/docs/resources/channel#message-object-message-types
Synchronisations-Modi
Es gibt verschiedene Sync-Modi, die beim Importieren einer Integration auf einen anderen Server ausgewählt werden können:
Keine Synchronisation
Deaktiviert jegliche Synchronisation und entfernt den Hinweis, von welcher Integration die aktuelle ursprünglich stammt.
Manuelle Synchronisation
Änderungen können manuell mit einem Button im Dashboard synchronisiert werden. Die Inhalte können normal bearbeitet werden, werden beim Synchronisieren aber überschrieben.
Automatische Synchronisation
Synchronisiert alle Änderungen am Original automatisch, sobald dieses bearbeitet wird. Wird empfohlen, wenn du dem Besitzer bzw. Server der Integration vertraust. Inhalte können nicht bearbeitet werden.
Sichere Synchronisation
Eine Mischung zwischen manueller und automatischer Synchronisation. Die Inhalte können nicht bearbeitet werden. Bei einer Änderung muss entweder - wie bei der manuellen Synchronisation - ein Teammitglied der Servers die Änderung annehmen, oder ein TomatenKuchen-Teamler. Durch diese Kombination können Änderungen schneller zugelassen werden.
Beispiele
Diese Integrationen wurden von unserem Team erstellt oder von diesem verifiziert.
- FiveM-Server-Info anzeigen, zeigt die Verwendung von
{jsonAPI}
- Wetterinfo eines Ortes anzeigen, zeigt die Verwendung von
{jsonAPI}
und Argumenten - Vote-Reminder für TomatenKuchen
- Zufälligen Comic von xkcd.com anzeigen
- Automatische Übersetzung von Nachrichten in einem Kanal, zeigt die Verwendung verschiedener Funktionen zur Aktionseinschränkung
- Übersetzung von Nachrichten bei Reaktion
Du findest eine Liste aller öffentlichen Integrationen im Dashboard.
RegEx-Cheatsheet
Zeichen | Beschreibung | Beispiel |
---|---|---|
. | Alle Zeichen außer neue Zeilen | a.b matcht "axb" |
\d | Ziffer (0-9) | \d{2} matcht "42" |
\w | Wortzeichen (a-z, A-Z, 0-9, _) | \w+ matcht "Bot_1" |
\s | Whitespace-Zeichen | a\sb matcht "a b" oder "a\nb" |
[abc] | Irgendeines dieser Zeichen | [aeiou] matcht "i" |
[^abc] | Alle Zeichen außer diese | [^aeiou] matcht "b" |
a* | 0 oder mehr Vorkommnisse von a | a* matcht "aaa" |
a+ | 1 oder mehr Vorkommnisse von a | a+ matcht "aa" |
a? | 0 oder 1 Vorkommnisse von a | a? matcht "a" |
a{3} | Genau 3 Vorkommnisse von a | a{3} matcht "aaa" |
a{3,} | 3 oder mehr Vorkommnisse von a | a{3,} matcht "aaaa" |
a{3,5} | 3 bis 5 Vorkommnisse von a | a{3,5} matcht "aaa" |
^ | Anfang der Zeichenkette | ^abc matcht "abcxyz" |
$ | Ende der Zeichenkette | xyz$ matcht "abcxyz" |
\b | Wortbegrenzung | \bword\b matcht "word" |
` | ` | Oder |
\n | Neue Zeile | \n matcht einen Zeilenumbruch |
(...) | Match-Gruppe | (abc) matcht "abc" |
Match-Gruppen können im Aktions-Code mithilfe von {argsObj;match.<Gruppen-Nummer gezählt ab 1>}
ausgelesen werden.
{argsObj;match.0}
entspricht dem gesamten Match.
Am einfachsten ist das Erstellen von RegEx mit einem Onlineeditor, z. B. mit regexr.com.