Funktionsverzeichnis

Funktionsverzeichnis

Funktionen sind kleine autonome Programme, die als Parameter übergebene Daten verarbeiten und den berechneten Funktionswert als Ergebnis zurückgeben. Funktionen kannst Du benutzen, um Variablenwerte zu berechnen oder Bot-Antworten zu konditionieren. Hier findest Du ein Verzeichnis von in dem Bot-Builder unterstützten Funktionen mit Anwendungsbeispielen (die meiste Beispiele zeigen die Anwendung in Bedingungen).

 

length($string$)

Gibt die Länge der Eingabezeichenkette $string$ zurück.

  • Beispiel: length ($pw$) == 8

die Bedingung prüft, ob die Länge des Passwortes  $pw$ 8 Zeichen beträgt

 

substr ($string$, $start$, $length$)

Gibt den Teil von der Eingabezeichenkette $string$ zurück, der durch die Parameter $start$ (Integer) und $length$ (Integer) definiert wurde. $string$ darf vom Datentyp „Text“, „Wort“ oder „Zahl“ sein.

  • Beispiel: substr ($profile_number$, 0, 2) == "49"

prüft, ob die Profilnummer des/der Nutzer:in mit „49“ anfängt

 

round($number$, $precision$)

Rundet den Parameter $number$ auf die mit $precision$ angegebene Anzahl von Nachkommastellen. $precision$ kann dabei auch null oder negativ sein. So wird bei einer Stellenzahl -1 auf volle Zehner gerundet.

  • Beispiel: round ($age$, 0) >= 18

prüft, ob der gerundete Alter $age$ ist gleich oder größer als 18

 

floor($number$)

Liefert die nächste ganze Zahl, die kleiner oder gleich dem Parameter $number$ ist.

  • Beispiel: $number$ – floor($number$) == 0

die zusammengesetzte Bedingung prüft, ob $number$ eine ganze Zahl ist

 

ceil($number$)

Liefert die nächste ganze Zahl, die größer oder gleich dem Parameter $number$ ist.

  • Beispiel: ceil ($number$) == 1

prüft, ob der aufgerundete Wert von $number$ gleich 1 ist

 

abs($number$)

Liefert den Betrag des Wertes $number$ ohne Vorzeichen.

  • Beispiel: abs($number$) < 10

prüft, ob Absolutwert von $number$ kleiner als 10 ist

 

in_array($string$,$array$)

Prüft ob der Wert $string$ in der Sammlung $array$ vorkommt und gibt 1 im Erfolgsfall zurück.

  • Beispiel: in_array ("red", $preferred_colors$)

prüft, ob die Farbe “red“ wurde in der Sammlung $favourite_colors$ bereits gespeichert

 

preg_match("/$pattern$/", $string$)

Führt eine Suche mit einem regulären Ausdruck $pattern$ in der Eingabezeichenkette $string$ durch. Gibt 1 zurück, falls eine Übereinstimmung zwischen $pattern$ und $string$ gefunden wurde, 0, falls nicht. Bitte, beachte, dass die Regex soll von Zeichen „/  /“ eingeschlossen werden („/$pattern$/“).

  • Beispiel: preg_match("/^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-\.]+\.[a-zA-Z]{2,5}$/", $email$) == 1

prüft, ob $email$ ein valides Format hat

 


Zeitliche Funktionen mit Anwendungsbeispielen in Bedingungen

 

now()

Gibt den aktuellen Unix-Timestamp/Zeitstempel (die Anzahl der Sekunden seit dem 01. Januar 1970 00:00:00 UTC) zurück

  • Beispiel: now() <= 1541526600

prüft, ob JETZT ist kleiner gleich (Timestamp von) 11/06/2018 5:50pm (UTC)

 

today()

Gibt Unix Zeitstempel von 0 Uhr des heutigen Datums in der aktuellen Channel-Zeitzone in Sekunden (die Zeitzone des Channels kann in Einstellungen festgelegt werden) zurück. In Bedingungen ist ein Vergleich mit dem Datum im Format TT.MM.JJJJ zugelassen.

  • Beispiel: today() == 01.01.2021

prüft, ob heute 01.01.2020 ist

 

now() – today ()

Gibt die aktuelle Uhrzeit in der Channel Zeitzone (in Sekunden) zurück.

  • Beispiel: now() – today() < 43200

prüft, ob es Vormittag ist (12 Uhr in Sekunden = 43200)

 

to_seconds($time$)

Wandelt die Uhrzeit $time$ in Sekunden um.

  • Beispiel: now()-today() < to_seconds("12:00")

prüft, ob jetzt früher als 12 Uhr ist

 

yesterday()

Gibt Zeitstempel von Uhr dem gestrigen Datum zurück (now() – 24*3600). In Bedingungen ist ein Vergleich mit dem Datum im Format TT.MM.JJJJ zugelassen.

  • Beispiel: yesterday() == 31.12.2020

prüft, ob gestern 31.12.2020 war

 

tomorrow()

Gibt Zeitstempel des morgigen Datums (now()+24*3600) zurück. In Bedingungen ist ein Vergleich mit dem Datum im Format TT.MM.JJJJ zugelassen.

  • Beispiel: tomorrow() == 02.01.2020

prüft, ob morgen 02.01.2020 ist

 

weekday()

Gibt den aktuellen Wochentag zurück (1-7 für Mo-So)

  • Beispiel: weekday() == 7

prüft, ob heute Sonntag ist

 

month()

Gibt den aktuellen Monat zurück

  • Beispiel: month() == 6

prüft, ob es Juni ist

 

day()

Gibt den Tag des aktuellen Monats zurück

  • Beispiel: day() == 20

prüft, ob heute der 20. ist

unix_timestamp(time)

Diese Funktion erwartet einen String mit einem Datum im Englischen Datumsformat und versucht, dieses Format in einen Unix-Timestamp (die Anzahl der Sekunden seit dem 01. Januar 1970 00:00:00 UTC) zu übersetzen.

 

time_format($format$, $timestamp$)

Gibt anhand vorzugebenden Musters formatierte Uhrzeit als String  zurück. Der erste Parameter (String $format$)  definiert das Formatierungsformat. Der zweite Parameter ($timestamp, optional) definiert den angegebenen Timestamp. Wenn kein Zeitstempel angegeben wurde, wird gegenwärtige Zeit berücksichtigt.

Im Format-Parameter werden folgende Zeichen erkannt:

Format-Zeichen Beschreibung Beispiel für Rückgabewerte
a Kleingeschrieben: Ante meridiem (Vormittag) und Post meridiem (Nachmittag) am oder pm
A Großgeschrieben: Ante meridiem (Vormittag) und Post meridiem (Nachmittag) AM oder PM
g Stunde im 12-Stunden-Format, ohne führende Nullen 1 bis 12
G Stunde im 24-Stunden-Format, ohne führende Nullen 0 bis 23
h Stunde im 12-Stunden-Format, mit führenden Nullen 01 bis 12
H Stunde im 24-Stunden-Format, mit führenden Nullen 00 bis 23
i Minuten, mit führenden Nullen 00 bis 59
s Sekunden mit führenden Nullen 00 bis 59
e Zeitzonen-Bezeichner Beispiele: UTC, GMT, Atlantic/Azores
P Zeitunterschied zur Greenwich time (GMT) in Stunden mit Doppelpunkt zwischen Stunden und Minuten Beispiel: +02:00
T Abkürzung der Zeitzone Beispiele: EST, MDT …

 

  • Beispiel: $time=(time_format("H:i"))$ 

hier wird in der Variable $time$ die aktuelle Uhrzeit in der Channel Zeitzone im Format hh:mm gespeichert.

Unsere Funktion time_format() basiert sich auf der php Funktion date() und nimmt die selbe Zeichen als Formatparameter wie date(). Die komplette Zeichenliste findest Du in der php Dokumentation.