Eigene Befehle: vom Tag bis zur Bedingung

Ein Bot-Befehl ist der Text, den der Bot in den Chat schreibt. In diesen Text kannst du Platzhalter einbauen — den Namen des Zuschauers, den Stream-Titel, eine Zufallszahl — und Blöcke: Bedingungen, Rechnungen, eine Zufallsauswahl. Unten findest du alles, was der Bot versteht, mit Beispielen.

1

Wo du Befehle anlegst

Auf der Website: Steuerpanel → „Kanalbefehle“ → „Befehl hinzufügen“. Dort stellst du auch Rechte, Cooldown, Aliasse und die automatische Wiederholung ein, und der Text wird schon beim Tippen geprüft.

Aus dem Chat — für Moderatoren des Kanals:

!создать !обнял ${user} обнял ${arg1}

Ein im Chat angelegter Befehl bekommt normale Rechte und 30 Sekunden Cooldown; ändern kannst du das nur auf der Website. !edit ändert den Text, !delete löscht den Befehl.
2

Platzhalter

Ein Platzhalter ist ${…} im Befehlstext. Der Bot ersetzt ihn durch einen Wert, und zwar in dem Moment, in dem er antwortet.

${notag} no mention The bot will not address the person who ran the command.
${user} viewer name Who the command is addressed to: the caller, or the name given after the command.
${randomchatter} random viewer A random name from chat. Twitch: the bot needs moderator rights. Kick: not supported.
${title} stream title The current stream title.
${game} category The current stream category.
${arg1} 1st word The first word after the command.
${arg2} 2nd word The second word after the command.
${arg3} 3rd word The third word after the command.
${args} everything after Everything written after the command.
${rand 1 100} random number A random number from the first to the second, both included.
${arg1:кто-нибудь} word or fallback The first word after the command, or — when there is none — whatever stands after the colon. Also works with ${arg2}, ${arg3}, ${args}, ${user}.
Bei der automatischen Wiederholung gibt es keinen Zuschauer und keine Argumente, deshalb sind ${user} und ${arg…} dort leer — samt dem „@“ davor. Soll der Befehl auch bei der automatischen Wiederholung etwas sagen, nimm einen Platzhalter mit Standardwert: ${arg1:someone}.
3

Blöcke

Ein Block ist {word …} im Befehlstext. Blöcke werden ausgewertet, bevor die Werte eingesetzt werden, und können, was ein Platzhalter nicht kann: auswählen, rechnen und vergleichen.

{if} if A different answer depending on a condition. {elif} and {else} are allowed; {end} closes it.
{math} math Add, subtract, multiply, divide, remainder. No powers.
{pick} pick One of the options listed with a vertical bar.
{countdown} time left How much time is left until a date: DD.MM or DD.MM.YYYY, optionally with a time.
{countup} time since How much time has passed since a date.
{upper} UPPERCASE The text in capital letters.
{lower} lowercase The text in small letters.
{len} length How many characters the text has.
{urlencode} for a link The text made safe to put inside a URL.

{if} muss mit {end} geschlossen werden; dazwischen dürfen beliebig viele {elif} und ein {else} stehen. Die anderen Blöcke schließen sich selbst.

4

Was in einer Bedingung stehen darf

In {if} und {math} darfst du Zahlen, Text in Anführungszeichen, Platzhalter, runde Klammern und diese Operationen verwenden:

== != gleich und ungleich; Groß- und Kleinschreibung spielt keine Rolle
< > <= >= größer, kleiner — Zahlen als Zahlen, Text alphabetisch
contains ob der linke Text den rechten enthält
starts ends beginnt mit … und endet mit …
and or not und, oder, nicht
+ - * / % addieren, subtrahieren, multiplizieren, dividieren, Rest
Text in einer Bedingung steht IN ANFÜHRUNGSZEICHEN: {if ${arg1} == "ja"}. Ein Wort ohne Anführungszeichen ist ein Fehler, kein Text: Würde der Bot es stillschweigend als Text nehmen, würde aus einem Tippfehler eine Bedingung, die nie wahr ist.
5

Fertige Beispiele

Jemanden umarmen — und nachfragen, wenn kein Name angegeben ist:

{if ${arg1} == ""}кого обнимать-то?{else}${user} обнял ${arg1}{end}

Dasselbe kürzer, mit Standardwert:

${arg1:кого-нибудь} получает пирожок

Wie lange es noch bis zu einem Datum dauert:

До Нового года {countdown 01.01}

Zwei Würfel:

выпало {math ${rand 1 6} + ${rand 1 6}}

Eine Zufallsauswahl:

${user}, сегодня ты {pick кот|пёс|бобр}

Mehrere Zweige hintereinander:

{if ${args} contains "спасибо"}и тебе!{elif ${args} == ""}чего молчишь?{else}не понял{end}

6

Wenn der Bot mit Klammern antwortet

Dann ließ sich der Text nicht auswerten — meistens fehlt ein {end}. Der Editor auf der Website prüft den Text schon beim Tippen, zeigt dir, was wo falsch ist, und lässt die kaputte Version nicht speichern, ohne dabei zu löschen, was du geschrieben hast.

Auch im Chat geht so etwas nicht durch: !create und !edit antworten, dass der Text einen Fehler hat.

Ein Befehl ohne Blöcke funktioniert genau wie bisher. Geschweifte Klammern allein sind noch kein Block: „{some-one}“ bleibt normaler Text.
← zurück zu allen Befehlen

Bei peepebot anmelden

Wähl eine Plattform.

Das Passwort gibst du direkt auf der Plattform ein: Wir sehen es nie und speichern es nie.