Automation

Datatypes

Einleitung

Mercury bietet verschiedene Datentypen, die für die Verarbeitung und Speicherung von Daten in Chatbot-Konversationen verwendet werden. Jeder Datentyp verfügt über spezifische Funktionen und Operationen, die für die Datenmanipulation und -vergleichung zur Verfügung stehen.

Verfügbare Datentypen

DatentypStandardwertBeschreibung
String""Zeichenketten für Textverarbeitung
BooleanfalseWahrheitswerte (true/false)
Number0Numerische Werte (Integer und Float)
Datenow()Datum und Uhrzeit
Collection[]Listen und Sets von Werten
Entity[]Entitätsreferenzen mit Oberflächenform
KnowledgeSourceUUIDWissensquellen-Referenzen

Allgemeine Operationen

Alle Datentypen unterstützen folgende grundlegende Operationen:

Clear

Setzt den Wert auf den Standardwert des Datentyps zurück.

Set

Setzt den Wert auf einen neuen Wert.

String

Der String-Datentyp wird für die Verarbeitung von Text verwendet. Er unterstützt verschiedene Operationen zur Textmanipulation und -vergleichung.

Verfügbare Operationen

Add

Funktion: Verbindet zwei Texte hintereinander.

Beispiel:

'Hallo' add ' Welt'   →   'Hallo Welt'
'Rechnung ' add '2025'   →   'Rechnung 2025'

Anwendung:

  • Texte zusammenbauen (z.B. Rechnungsnummern, Begrüßungen)

Invert

Funktion: Dreht den Text um (spiegelt ihn rückwärts).

Beispiel:

'Hallo' invert   →   'ollaH'

Equals

Funktion: Vergleicht zwei Texte und prüft, ob sie gleich sind (Groß- und Kleinschreibung wird ignoriert).

Beispiel:

'Hallo' equals 'hallo'   →   wahr
'Test' equals 'TEST'     →   wahr
'Apfel' equals 'Birne'   →   falsch

Anwendung:

  • Prüfen, ob Benutzereingaben korrekt sind
  • Werte vergleichen

Contains

Funktion: Prüft, ob der erste Text den zweiten Text enthält.

Beispiel:

'Hallo Welt' contains 'Welt'         →   wahr
'Rechnung 2025' contains '2025'      →   wahr
'Banane' contains 'Apfel'            →   falsch

Anwendung:

  • Textsuche
  • Filter
  • Bedingte Regeln

Similar

Funktion: Prüft, ob zwei Texte ähnlich sind (intelligenter Vergleich mit Levenshtein-Distanz).

Beispiel:

'Hallo' similar 'Helo'       →   wahr
'Müller' similar 'Mueller'   →   wahr
'Apfel' similar 'Banane'     →   falsch

Anwendung:

  • Fehler-tolerante Vergleiche
  • Ähnlichkeitssuche

Clear

Funktion: Setzt den Text auf einen leeren Wert zurück.

Beispiel:

'Hallo' clear   →   ''

Set

Funktion: Setzt den Text auf einen neuen Wert.

Beispiel:

'Hallo' set 'Guten Tag'   →   'Guten Tag'

Anwendung:

  • Neuen Wert speichern
  • Benutzer-Eingaben übernehmen

Besonderheiten

  • Leerzeichen und unsichtbare Zeichen werden automatisch bereinigt
  • Groß- und Kleinschreibung ist bei equals und similar nicht relevant

Boolean

Der Boolean-Datentyp repräsentiert Wahrheitswerte und unterstützt logische Operationen.

Verfügbare Operationen

Equals

Funktion: Vergleicht zwei Boolean-Werte. Beispiel: true equals truewahr

Invert

Funktion: Negiert den Boolean-Wert. Beispiel: true invert → false

Add

Funktion: Logisches UND zwischen zwei Boolean-Werten. Beispiel: true add falsefalse

Subtract

Funktion: Logisches ODER zwischen zwei Boolean-Werten. Beispiel: true subtract falsetrue

Clear

Funktion: Setzt den Boolean-Wert auf false zurück. Beispiel: true clear → false

Set

Funktion: Setzt den Boolean-Wert auf einen neuen Wert. Beispiel: false set truetrue

Besonderheiten

  • Akzeptiert nur 'true' und 'false' als String-Eingaben
  • Automatische Bereinigung von Leerzeichen und unsichtbaren Zeichen

Number

Der Number-Datentyp verarbeitet numerische Werte (Integer und Float) mit mathematischen Operationen.

Verfügbare Operationen

Equals

Funktion: Vergleicht zwei Zahlen mit Toleranz für Fließkommafehler. Beispiel: 3.14 equals 3.140000wahr

Greater/GreaterOrEquals

Funktion: Vergleicht ob eine Zahl größer oder größer gleich einer anderen ist. Beispiel: 5 greater 3wahr

Less/LessOrEquals

Funktion: Vergleicht ob eine Zahl kleiner oder kleiner gleich einer anderen ist. Beispiel: 3 less 5wahr

Add

Funktion: Addiert zwei Zahlen. Beispiel: 5 add 38

Invert

Funktion: Ändert das Vorzeichen der Zahl. Beispiel: 5 invert → -5

Clear

Funktion: Setzt die Zahl auf 0 zurück. Beispiel: 42 clear → 0

Set

Funktion: Setzt die Zahl auf einen neuen Wert. Beispiel: 10 set 2525

Besonderheiten

  • Unterstützt deutsche und englische Zahlenformate
  • Automatische Formatierung mit zwei Nachkommastellen
  • Toleranz für Fließkommafehler bei Vergleichen

Date

Der Date-Datentyp verarbeitet Datum und Uhrzeit mit verschiedenen Formaten und Zeitzonen.

Verfügbare Operationen

Equals

Funktion: Vergleicht zwei Datumswerte. Beispiel: 2025-01-15T10:30:00Z equals 2025-01-15T10:30:00Zwahr

Greater/GreaterOrEquals

Funktion: Vergleicht ob ein Datum später oder gleich einem anderen ist. Beispiel: 2025-01-15 greater 2025-01-10wahr

Less/LessOrEquals

Funktion: Vergleicht ob ein Datum früher oder gleich einem anderen ist. Beispiel: 2025-01-10 less 2025-01-15wahr

Clear

Funktion: Setzt das Datum auf das aktuelle Datum zurück. Beispiel: 2025-01-15 clear → now()

Set

Funktion: Setzt das Datum auf einen neuen Wert. Beispiel: 2025-01-15 set 2025-02-012025-02-01

Unterstützte Formate

  • ISO 8601: 2025-01-15T10:30:00Z
  • Deutsche Formate: 15.01.2025T10:30:00, 15-01-2025T10:30:00
  • Englische Formate: 2025/01/15T10:30:00, 2025.01.15T10:30:00

Besonderheiten

  • Automatische Zeitzonenkonvertierung (UTC und Europe/Berlin)
  • Lokalisierte Ausgabe (Deutsch/Englisch)
  • Standardwert ist das aktuelle Datum

Collection

Der Collection-Datentyp verwaltet Listen und Sets von Werten des gleichen Typs.

Verfügbare Operationen

Equals

Funktion: Vergleicht zwei Collections (Reihenfolge wird bei Listen berücksichtigt). Beispiel: [1,2,3] equals [1,2,3]wahr

Contains

Funktion: Prüft, ob eine Collection einen bestimmten Wert enthält. Beispiel: [1,2,3] contains 2wahr

Greater/GreaterOrEquals

Funktion: Vergleicht die Größe der Collections. Beispiel: [1,2,3,4] greater [1,2]wahr

Less/LessOrEquals

Funktion: Vergleicht die Größe der Collections. Beispiel: [1,2] less [1,2,3,4]wahr

Add

Funktion: Fügt einen Wert zur Collection hinzu. Beispiel: [1,2] add 3[1,2,3]

Subtract

Funktion: Entfernt einen Wert aus der Collection. Beispiel: [1,2,3] subtract 2[1,3]

Invert

Funktion: Kehrt die Reihenfolge der Collection um. Beispiel: [1,2,3] invert → [3,2,1]

Clear

Funktion* Leert die Collection. Beispiel: [1,2,3] clear → []

Set

Funktion: Ersetzt die Collection durch eine neue. Beispiel: [1,2] set [3,4,5][3,4,5]

Besonderheiten

  • Unterstützt Listen (mit Reihenfolge) und Sets (ohne Duplikate)
  • Automatische Validierung des Datentyps aller Elemente
  • Keine verschachtelten Collections erlaubt

Entity

Der Entity-Datentyp repräsentiert Entitätsreferenzen mit einer Oberflächenform.

Verfügbare Operationen

Equals

Funktion: Vergleicht Entitätsreferenzen. Beispiel: entity:ref1|ref2:Apfel equals entity:ref1:Apfelwahr

Similar

Funktion: Prüft Ähnlichkeit zwischen Entitätsreferenzen. Beispiel: entity:ref1:Apfel similar entity:ref1:Apfelwahr

Set

Funktion: Setzt die Entity auf einen neuen Wert. Beispiel: entity:ref1:Apfel set entity:ref2:Birneentity:ref2:Birne

Besonderheiten

  • Unterstützt disjunktive Referenzen (mit | getrennt)
  • Automatische Bereinigung von Leerzeichen
  • Vergleich basiert auf Referenzen, nicht auf Oberflächenform

KnowledgeSource

Der KnowledgeSource-Datentyp repräsentiert Referenzen auf Wissensquellen.

Verfügbare Operationen

Equals

Funktion: Vergleicht KnowledgeSource-Referenzen anhand ihrer UUID. Beispiel: uuid:label equals uuid:labelwahr

Clear

Funktion: Setzt die KnowledgeSource auf einen Standardwert zurück. Beispiel: uuid:label clear → new-uuid:default

Set

Funktion: Setzt die KnowledgeSource auf einen neuen Wert. Beispiel: uuid1:label1 set uuid2:label2uuid2:label2

Besonderheiten

  • Vergleich basiert auf UUID, nicht auf Label
  • Automatische Generierung neuer UUIDs bei Clear-Operation
  • Unterstützt optionale Labels
Previous
Bot-Messages