Benutzerdefinierte Befehle
- Wie füge ich einen Chatbefehl hinzu
- Wie kann der Bot den Namen des Zuschauers in die Antwort einfügen
- Wie mache ich, dass ein Befehl eine zufällige Antwort gibt
- Wie lasse ich nur Moderatoren einen Befehl nutzen
- Wie stoppe ich einen Befehl, ohne ihn zu löschen
- Ich möchte, dass ein Befehl auf mehrere verschiedene Wörter antwortet
- Wie mache ich, dass ein Befehl nur in einem bestimmten Spiel funktioniert
- Ich möchte, dass der Auktionsregel-Befehl nur während der Auktion antwortet
- Wie füge ich meinen Discord-Link in einen Befehl ein, ohne ihn überall neu einzutippen
Was diese Seite ist
Chatbot → Chatbefehle ist der Ort für benutzerdefinierte Textbefehle; die Seite selbst trägt die Überschrift Benutzerdefinierte Befehle, „Verwalte benutzerdefinierte Textbefehle für den Chat“. Ein Befehl ist ein Auslöser, den der Chat eingibt, und eine Antwort, die der Bot zurückschreibt, wobei Variablen darin ersetzt werden.
Einrichtung
Die Seite hat zwei Tabs, Befehle und Variablen, jeweils mit ihrer Anzahl in Klammern. Die Schaltfläche oben rechts folgt dem Tab, auf dem du dich befindest — Befehl hinzufügen oder Variable hinzufügen.
Ein Befehl
- Öffne Chatbot → Chatbefehle, bleibe auf dem Tab Befehle und drücke Befehl hinzufügen. Das Formular trägt den Titel Befehl erstellen.
- Befehlsname (für dich) — ein Titel, den du in der Liste wiedererkennst, Leerzeichen sind erlaubt: „Mein Discord-Server“. Großbuchstaben bleiben wie eingegeben. Ein einwortiger Name dient gleichzeitig als Auslöser im Chat; ein Name mit Leerzeichen kann nicht eingegeben werden, daher benötigt ein solcher Befehl mindestens einen Auslöser, und das Speichern ohne einen wird abgelehnt.
- Auslöser, die Zuschauer eingeben (kommagetrennt) — die Wörter, die den Befehl auslösen, der Platzhalter zeigt das Format:
discord, ds. Der erste ist der Hauptauslöser — er ist es, den die{commands}-Liste anzeigt — während der Befehl auf alle antwortet. Großbuchstaben bleiben auch hier erhalten, und ein Auslöser, der identisch mit dem Namen ist, wird auf der Karte nicht doppelt angezeigt. - Auslösemodus — Nachricht beginnt mit !befehl oder Wort irgendwo in der Nachricht. Der zweite wird auf der Karte mit einem Schlüsselwort-Badge markiert.
- Befehlsantwort — was der Bot schreibt, z.B. „Tritt unserem Server bei, {user}!“. Unter dem Feld steht „Klicke auf eine Variable, um sie in die Antwort einzufügen:“ und eine Reihe von Chips —
{user},{target},{args},{count},{random:1-100},{choose:a|b|c},{randuser},{time},{date},{math:},{repeat:3:}. Ein Klick fügt einen an der Cursorposition ein. Drei Tabs befinden sich über der Reihe — Integriert, Deine und Wissensbasis — sodass deine eigenen Variablen und deine Referenzlinks ebenfalls nur einen Klick entfernt sind. - Abklingzeit (Sek.) startet bei 10, Pro-Nutzer-Abklingzeit (Sek.) bei 0. Darunter befindet sich das Häkchen Moderatoren und Streamer überspringen Abklingzeit.
- Erlaubte Rollen — Jeder, Abonnent, VIP, Moderator, Broadcaster. Bei einem neuen Befehl ist Jeder angehakt, und wenn gar nichts angehakt ist, wird ebenfalls als Jeder gespeichert.
- Antworten nur wenn — eine Bedingung, standardmäßig Immer. Der Abschnitt unten erklärt sie.
- Drücke Speichern oder Abbrechen. Ohne Namen und Antwort antwortet das Formular mit „Fülle den Befehlsnamen und die Antwort aus!“ und bleibt offen.
- Eine Karte wird nur vom Befehlsnamen überschrieben, mit dem Rollen-Badge daneben und einem Bedingungs-Badge, wenn eine vorhanden ist. Die Zeile darunter enthält die Aliase, farbig und mit ihrem
!, gefolgt von der Antwort; dann kommen die Abklingzeit, die Pro-Nutzer-Abklingzeit und wie oft der Befehl ausgelöst wurde. Ein Alias, der identisch mit dem Namen ist, wird nicht doppelt angezeigt. Der Schalter schaltet den Befehl aus, ohne ihn zu löschen; daneben befinden sich Bearbeiten und Löschen, und das Löschen fragt „Diesen Befehl löschen?“.
Eine eigene Variable
- Wechsle zum Tab Variablen und drücke Variable hinzufügen — das Formular ist Variable erstellen.
- Variablenname — nur Buchstaben, Ziffern und
_; das Feld wandelt das Eingegebene in Kleinbuchstaben um und entfernt den Rest. Der Hinweis darunter zeigt das Ergebnis: „Wird in Antworten als {name} verwendet“. - Werte (einer pro Zeile) — der Platzhalter zeigt drei Zeilen, Pizza, Sushi, Burger. „Ein zufälliger Wert aus der Liste wird eingefügt, wenn der Befehl ausgelöst wird“.
- Drücke Speichern. Ein wiederholter Name wird mit „Eine Variable mit diesem Namen existiert bereits!“ abgelehnt, ein unvollständiges Formular mit „Gib einen Namen und mindestens einen Wert an!“.
- Die Karte zeigt
{name}, wie viele Werte sie enthält und die Werte selbst. Löschen warnt zuerst: „Diese Variable löschen? Befehle, die sie verwenden, werden sie nicht mehr ersetzen.“
Nur manchmal antworten
Antworten nur wenn enthält eine Bedingung, und Immer — keine Bedingung — ist das, was ein neuer Befehl erhält.
- Eines dieser Spiele wird gespielt — ein Feld Spiele (kommagetrennt) erscheint. Ein Teil eines Namens reicht aus und die Groß-/Kleinschreibung spielt keine Rolle, also passt
gtaauf „GTA V“ und „GTA Online“. Plattformen schreiben dasselbe Spiel unterschiedlich, also liste jede Schreibweise auf —GTA, Grand Theft Auto— und wenn eine davon übereinstimmt, reicht das. Die Kategorie wird von jeder Plattform gelesen, die gerade live ist. - Eine Auktion läuft — während das Auktionsmodul eine laufende, pausierte oder gesperrte Auktion hat.
- Der Stream ist live / Der Stream ist offline — der Stream-Status, wie das Stream-Status-Modul ihn meldet.
Antworten wenn die Bedingung nicht erfüllt ist ist die zweite Antwort. Sie verwendet dieselben Variablen und Referenzlinks — und ihre eigene Reihe von Chips, sodass ein Klick dort in dieses Feld und nicht in das darüber landet. „Keine Auktion im Moment — die nächste ist am Freitag!“ ist eine vollständige Antwort. Lasse es leer und der Befehl sagt gar nichts; ein stiller Befehl verbraucht seine Abklingzeit nicht, sodass der nächste Zuschauer, der im richtigen Moment fragt, immer noch eine Antwort erhält.
Das Speichern einer Spielbedingung mit einem leeren Spielefeld wird abgelehnt: Die Bedingung würde nie zutreffen und der Befehl wäre für immer stumm.
Referenzlinks und Auktionsregeln
Zwei weitere Dinge können in eine Antwort eingefügt werden und werden an einem Ort gespeichert, anstatt neu getippt zu werden.
{discord},{boosty}und jeder andere Name aus der Wissensbasis in der Seitenleiste. Ändere den Link dort und jeder Befehl folgt. Namen, die sie nicht kennt, bleiben wie sie sind,{discord}, sodass ein Tippfehler sichtbar und nicht still ist. Der Wissensbasis-Chip-Tab unter dem Antwortfeld listet sie alle auf — es gibt nichts zu merken.{auction_rules}— die Beschreibung, die in den Auktionseinstellungen geschrieben wurde, derselbe Text, den die Zuschauer sehen.
Geschweifte Klammern sind einfach, wie bei jeder anderen Variable. Doppelte Klammern {{...}} funktionieren immer noch — das war die ältere Schreibweise, und alte Texte funktionieren weiterhin. Integrierte Variablen werden zuerst gelesen, daher wird ein Link namens time die {time}-Variable nicht überschreiben; vermeide einfach, Links nach Variablen zu benennen.
Die Referenz
Variablen-Referenz oben öffnet Verfügbare Variablen — jede integrierte Variable mit ihrer Bedeutung und einem ausgearbeiteten Beispiel: {display_name}, {user.id}, {touser}, {args:0|default}, {count+10}, {channel} und der Rest, mit deinen eigenen am Ende der Liste.
Was es nicht kann
{channel}ist der Kanal, in dem die Nachricht geschrieben wurde, daher unterscheidet er sich bei einem Multi-Plattform-Stream je nach Chat: dein Twitch-Name in der Twitch-Antwort, dein Kick-Name in der Kick-Antwort. Jede Plattform schreibt es auf ihre eigene Weise — Kick hat überhaupt keinen Anzeigenamen, nur den Handle, mit dem du dich angemeldet hast — erwarte also nicht, dass die drei genau übereinstimmen.{randuser}wählt aus Zuschauern aus, die in den letzten halben Stunde in diesem Chat geschrieben haben, nicht aus allen Zuschauern: Nur Twitch bietet eine Liste der anwesenden Personen, und selbst diese ist gekürzt, während YouTube und Kick gar keine anbieten. Jede Plattform verwaltet ihre eigene Liste, daher markiert eine Antwort auf Twitch niemals einen YouTube-Zuschauer. Direkt nach dem Start der App ist die Liste leer und die Variable fällt auf die Person zurück, die den Befehl ausgeführt hat; eine Nachricht im Chat füllt sie. Die eigenen Nachrichten deines Bots sind ausgeschlossen.- Ein Befehl antwortet mit Text im Chat. Ton, Overlays und jede andere Aktion sind nicht Teil dieser Seite.
- Befehle sind nicht auf eine Plattform oder einen bestimmten Kanal ausgerichtet: Eine Liste bedient den Chat.
- Die Liste hat keine Suche, keine Sortierung und kein Ziehen zum Neuordnen — Karten bleiben in der Reihenfolge, in der sie erstellt wurden.
- Eine benutzerdefinierte Variable ist eine Liste, aus der eine Zeile zufällig ausgewählt wird. Sie speichert keinen Wert pro Zuschauer, keinen Zähler und keine Arithmetik.
- Abklingzeiten werden in Sekunden gezählt, pro Befehl und pro Zuschauer. Es gibt kein tägliches Limit, und die einzige Ausnahme nach Rolle ist das Häkchen Moderatoren und Streamer überspringen Abklingzeit.
- Ein Befehl nimmt eine Bedingung, nicht mehrere kombinierte. Es gibt keine Bedingung nach Tageszeit und keine nach Zuschauerzahl.