Automation

Smart Expressions

Smart Expressions sind eine leistungsstarke Methode, um Dynamik und Flexibilität in Ihre Chatbot-Konversationen zu bringen. Durch die Verwendung von Smart Expressions können Sie Echtzeitdaten in Gesprächsvariablen und Bot-Nachrichten einbeziehen, so dass Ihr Chatbot auf der Grundlage des sich entwickelnden Kontexts oder der Datenvariablen intelligent reagieren kann.

Smart Expressions folgen einem bestimmten Format: ${smart expression}

Operatoren

Smart Expressions unterstützen eine Vielzahl von Operationen, die von arithmetischen bis hin zu logischen und relationalen Operationen reichen. Hier ist ein Überblick:

  • Arithmetische Operatoren: Diese ermöglichen mathematische Operationen wie Addition (+), Subtraktion (-), Multiplikation (*), Division (/ oder div), Modulus (% oder mod) und unäre Negation (-).

  • Zeichenketten-Verknüpfungsoperator (+=): Mit diesem Operator können Sie Zeichenketten kombinieren (verketten).

  • Logische Operatoren: Mit und, &&, oder, ||, not, ! können Sie logische (boolesche) Vergleiche und Ausdrücke machen.

  • Relationale Operatoren: Diese Operatoren (==, eq, !=, ne, <, lt, >, gt, <=, ge, >=, le) werden für Vergleiche zwischen Werten verwendet.

  • Leer-Operator: Der "Leer"-Operator prüft, ob ein Wert null oder leer ist.

  • Bedingter Operator (A ? B : C): Dieser Operator wertet B oder C aus, je nach dem Ergebnis der Auswertung von A.

  • Lambda-Ausdruck (->): Ermöglicht die Erstellung anonymer Funktionen für komplexere Operationen.

  • Zuweisungsoperator (=): Weist einer Variablen einen Wert zu.

  • Semikolon-Operator (;): Wird verwendet, um mehrere Ausdrücke zu trennen.

Die Reihenfolge der Operationen (von der höchsten zur niedrigsten Priorität) ist wie folgt:

[] .
() 
- not ! empty
* / div % mod
+ - 
+=
< > <= >= lt gt le ge
== != eq ne
&& and
|| or
? :
-> 
= 
;

Erweiterte Funktionen

Datum und Uhrzeit

  • utils.date.day Gibt den Wochentag zurück, der durch das heutige Datum dargestellt wird. Der zurückgegebene Wert (0 = Sonntag, 1 = Montag, 2 = Dienstag, 3 = Mittwoch, 4 = Donnerstag, 5 = Freitag, 6 = Samstag) stellt den Wochentag dar, der den durch das heutige Datum dargestellten Zeitpunkt enthält oder mit ihm beginnt, wie er in der lokalen Zeitzone interpretiert wird.
  • utils.date.month Gibt eine Zahl zurück, die den Monat angibt, der den durch das heutige Datum dargestellten Zeitpunkt enthält oder mit diesem beginnt. Der zurückgegebene Wert liegt zwischen 0 und 11, wobei der Wert 0 für Januar steht.
  • utils.date.hours Gibt die Stunde zurück, die durch das heutige Datum dargestellt wird. Der zurückgegebene Wert ist eine Zahl (0 bis 23), die die Stunde innerhalb des Tages angibt, die den durch das heutige Datum dargestellten Zeitpunkt enthält oder mit ihm beginnt, wie in der lokalen Zeitzone interpretiert.
  • utils.date.minutes Gibt die Anzahl der Minuten nach der durch das heutige Datum dargestellten Stunde zurück, wie sie in der lokalen Zeitzone interpretiert wird. Der zurückgegebene Wert liegt zwischen 0 und 59.

Beispiele

Hier sind einige Beispiele, wie Smart Expressions verwendet werden können:

  • Arithmetik: ${1.2E4 + 1.4} ergibt 12001.4, die Summe von 1.2E4 und 1.4.
  • String-Verkettung: ${'Hallo, ' += user.name} könnte zu Hallo, John führen, indem der benutzername an die Begrüßung angehängt wird.
  • Logisch: ${user.isPremium || user.credits > 0} gibt true zurück, wenn der Benutzer Premium ist oder mehr als 0 Credits hat.
  • Bedingt: ${benutzer.istPremium ? 'Danke, dass Sie Premium-Benutzer sind' : 'Upgrade auf Premium für mehr Vorteile!'} sendet eine andere Nachricht, je nachdem, ob der Benutzer ein Premium-Benutzer ist.
  • Lambda-Ausdruck: ${(x, y) -> x * y}(3, 5) ergibt 15, das Produkt aus 3 und 5.
  • Leer: ${!empty user.name} gibt true zurück, wenn user.name nicht null oder leer ist.
  • Datum: Der Ausdruck: Es ist ${utils.date.month == 1 ? 'Februar' : utils.date.month == 11 ? 'Dezember' : 'weder Februar noch Dezember'} evaluiert im Februar zu "Es ist Februar" im Dezember zu "Es ist Dezember" und an allen anderen Monaten "Es ist weder Februar noch Dezember".

Und hier sind einige Beispiele für Ausdrücke, die mit dem Anfragekontext interagieren:

  • ${session.cart.numberOfItems}: Dies würde den Wert der Eigenschaft numberOfItems aus einem session-scoped Attribut namens cart holen.
  • ${param['productId']}: Dies würde den Wert des Anforderungsparameters namens "productId" abrufen.

Denken Sie daran: Mit Smart Expressions können Sie Ihre Chatbot-Interaktionen dynamischer und reaktionsschneller gestalten und so die Benutzerinteraktion und -zufriedenheit verbessern.

Previous
NLP Component