Fonctions supplémentaires à utiliser dans les variables dynamiques
Dans les actions avancées, vous pouvez utiliser des fonctions personnalisées en plus des fonctions basées sur MathJS :
Fonctions de chaîne
indexOf (meule de foin, aiguille)
Si la chaîne "aiguille" est trouvée dans la chaîne ou la liste "botte de foin", la fonction renvoie sa position (basée sur zéro), sinon elle donne la valeur -1.
Exemples:
indexOf("ABCD", "A") //returns 0 indexOf("ABCD", "CD") //returns 2 indexOf("ABCD", "E") //returns -1 indexOf(["a","b","c"], "a") //returns 0 indexOf(["a","b","c"], "bc") //returns -1
getIndexValue(botte de foin, index)
Si le nombre "index" est plus petit que la liste "botte de foin", la fonction renvoie la valeur située à la position "index", sinon elle se trompe.
Exemples:
getIndexValue(["a","b","c"], 0) //returns a getIndexValue(["a","b","c"], 1) //returns b
substr (chaîne, début [, longueur])
Cette fonction renvoie une sous-chaîne de la chaîne d’origine, à partir de la position de départ basée sur zéro. Si length est spécifié, il renvoie autant de caractères et sinon, il renvoie le reste de la chaîne.
Exemples:
substr("ABCD", 1) //returns "BCD" substr("ABCD", 2, 1) //returns "C" substr("ABCD", 5) //returns ""
tranche (chaîne, début [, fin])
Cette fonction renvoie une sous-chaîne de la chaîne d’origine, à partir de la position de départ basée sur zéro. Si une position finale est fournie, tous les caractères sont renvoyés, y compris le caractère situé à cette position. Sinon, il retourne le reste de la chaîne.
Les positions négatives pour le début ou la fin sont comptées à partir du côté droit de la chaîne.
Exemples:
slice("ABCD", 1) //returns "BCD" slice("ABCD", 0, 2) //returns "AB" slice("ABCD", 1, -1) //returns "BC" slice("ABCD", 2, 1) //returns ""
supérieur (chaîne)
Cette fonction retourne la chaîne fournie, convertie en majuscule.
Exemple:
upper("aBcD") //returns "ABCD"
inférieur (chaîne)
Cette fonction renvoie la chaîne fournie, convertie en minuscule.
Exemple:
lower("aBcD") //returns "abcd"
longueur (chaîne)
Cette fonction renvoie la longueur de la chaîne.
Exemples:
length("") //returns 0 length("ABCD") //returns 4
Fonctions logiques
égal (valeur1, valeur2)
Cette fonction renvoie true si valeur1 et valeur2 ont la même valeur et le même type ou sinon, false. Syntaxe alternative pour `valeur1 === valeur2`. (`valeur1 == valeur2` est une comparaison plus faible)
Exemples:
equal(2, 1) //returns false equal(1, 1) //returns true equal(1, "1") //returns false (different types)
ifElse (condition, valueIfTrue, valueIfFalse)
Cette fonction vérifie la condition fournie. Si la condition est vraie (ou la vérité), il retourne la valeur valueIfTrue, sinon la valeur valueIfFalse.
Exemples:
ifElse(equal(1, 5), "equal", "not equal") //returns "not equal" ifElse(equal(2, 2), "equal", "not equal") //returns "equal"
Fonctions Regex
match(valeur, motif[, drapeaux, groupIndex])
matchAll(valeur, motif, matchIndex[, drapeaux])
Ces fonctions effectuent une correspondance d'expression régulière et testent si la "valeur" fournie correspond à l'expression régulière "motif" fournie.
L'argument facultatif flags est une chaîne de drapeaux d'expression régulière à une seule lettre qui permet d'activer un comportement avancé (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#advanced_searching_with_flags). L'utilisation la plus courante d'un argument drapeau est de passer "i" pour une correspondance insensible à la casse.
Il y a deux fonctions liées ici :
- Ta fonction
match
recherche une seule correspondance et prend en charge une utilisation avancée avec des groupes de capture numériques, en utilisant le dernier argument pour sélectionner le groupe de capture souhaité (0 est la correspondance entière, 1 est le premier groupe de capture, et ainsi de suite). - La version
matchAll
prend en charge plusieurs correspondances, en utilisant l'argumentmatchIndex
pour sélectionner la correspondance souhaitée. (0 est la première correspondance, 1 est la deuxième correspondance, et ainsi de suite).
Dans les deux cas, s'il y a une correspondance, le résultat sera le contenu de la chaîne ou, lorsqu'il est utilisé comme corps d'une variable booléenne dynamique, il sera true
s'il y a une correspondance ou false
s'il n'y a pas de correspondance.
Exemples:
// Basic usage match("abc", "b.") // returns "bc" (or true as a Dynamic Boolean Variable) match("abc", "c.") // returns no match (or false as a Dynamic Boolean Variable) // Advanced usage // Case-insensitive match("aBc", "b.", "i") // returns "Bc", since casing was ignored with the "i" flag // Capture Groups match("acd bce", "b(c.)", "", 1); // returns "ce" - the whole match was "bce", but the first capture group is (c.) // Multiple matches matchAll("acd bce", "c.", 1); // returns "ce" - "c." matches both "cd" and "ce", the last argument (and usage of matchAll) selected the second one.
Fonctions de la date
formatDate(date[, formatString])
Prend une date numérique, et la convertit dans un format lisible par l'homme. Cette fonction est utile pour afficher une date à un agent après lui avoir fait subir des manipulations numériques.
La valeur date
est exprimée en millisecondes depuis le 1er janvier 1970.
Le site formatString
accepte les substitutions de Unicode-standard .
Exemples:
// Default formatting formatDate(946684800000) // 01/01/2000 12:00:00 am (+00:00) // Custom formatting formatDate(946684800000, "eeee, MMMM do yyyy, h:mm:ss a (z)") // Saturday, January 1st 2000, 12:00:00 am (GMT) formatDate(946684800000, "eeee, MMMM do yyyy, h:mm:ss a (xxxxx)") // Saturday, January 1st 2000, 12:00:00 am (+00:00)
formatDateISO(date)
Prend une date numérique et la convertit en une chaîne de date formatée, au format ISO 8601. Ceci est utile lorsque vous travaillez avec des composants de date ou que vous envoyez la date à un appel API.
La valeur date
est exprimée en millisecondes depuis le 1er janvier 1970.
Remarque : La chaîne résultante sera dans le fuseau horaire de l'agent.
Exemples:
formatDateISO(946684800000) // 1999-12-31T19:00:00-05:00
dateToMilliseconds(date)
Prend une date sous forme de chaîne, et la convertit en un nombre de millisecondes depuis le 1er janvier 1970, pour une manipulation numérique.
La date fournie est censée être dans le format par défaut utilisé par les variables de script.
Exemples:
dateToMilliseconds("01/01/2000 12:00:00 am (+00:00)"); // 946684800000 formatDate(dateToMilliseconds({{Scripter.Customer Call Start Time}}) + 5 * 60 * 1000) // Five minutes (multiplied by 60 sec/minute and 1000 ms/sec to convert to ms) after the customer was connected
formatDuration(durée)
Convertit une durée numérique, en millisecondes, en un format lisible par l'homme.
Exemple:
formatDuration(5 * 1000 * 60 + 55); // "00:05:55"
durationToMilliseconds(durationString)
Convertit une durée de chaîne de caractères en une valeur numérique.
Exemple:
durationToMilliseconds({{Scripter.Customer Call Duration}}) // How long has the customer been connected formatDuration(5 * 1000 * 60 - durationToMilliseconds({{Scripter.Customer Call Duration}})) // Countdown until the customer has been on the line for five minutes