동적 변수에서 사용할 추가 함수

고급 작업에서는 MathJS 기반 함수 외에 사용자 정의 함수를 사용할 수 있습니다.

문자열 함수

indexOf(건초 더미, 바늘)

"바늘" 문자열이 "haystack" 문자열 또는 목록에서 발견되면 함수는 (0부터 시작하는) 위치를 반환하고, 그렇지 않으면 -1로 평가합니다.

 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(건초 더미, 인덱스)

"index" 번호가 "haystack" 목록보다 작으면 함수는 "index" 위치에 있는 값을 반환하고, 그렇지 않으면 오류가 발생합니다.

 getIndexValue(["a","b","c"], 0) //returns a
 getIndexValue(["a","b","c"], 1) //returns b

substr(문자열, 시작[, 길이])

이 함수는 0부터 시작하는 시작 위치에서 시작하여 원래 문자열의 하위 문자열을 반환합니다. 길이가 지정되면 그 만큼의 문자를 반환하고, 그렇지 않으면 나머지 문자열을 반환합니다.

 substr("ABCD", 1) //returns "BCD"
 substr("ABCD", 2, 1) //returns "C"
 substr("ABCD", 5) //returns ""

슬라이스(문자열, 시작[, 끝])

이 함수는 0부터 시작하는 시작 위치에서 시작하여 원래 문자열의 하위 문자열을 반환합니다. 끝 위치가 제공되면 해당 위치의 문자를 포함하지만 포함하지 않는 모든 문자를 반환합니다. 그렇지 않으면 나머지 문자열을 반환합니다.

시작 또는 끝의 음수 위치는 문자열의 오른쪽부터 계산됩니다.

 slice("ABCD", 1) //returns "BCD"
 slice("ABCD", 0, 2) //returns "AB"
 slice("ABCD", 1, -1) //returns "BC"
 slice("ABCD", 2, 1) //returns ""

상단(문자열)

이 함수는 대문자로 변환된 제공된 문자열을 반환합니다.

upper("aBcD") //returns "ABCD"

하한(문자열)

이 함수는 소문자로 변환된 제공된 문자열을 반환합니다.

lower("aBcD") //returns "abcd"

길이(문자열)

이 함수는 문자열의 길이를 반환합니다.

 length("") //returns 0
 length("ABCD") //returns 4

논리 함수

같음(값1, 값2)

이 함수는 value1과 value2가 같은 값과 유형이면 true를 반환하고 그렇지 않으면 false를 반환합니다. `value1 === value2`의 대체 구문입니다. (`value1 == value2`는 약한 비교임)

 equal(2, 1) //returns false
 equal(1, 1) //returns true
 equal(1, "1") //returns false (different types)

ifElse(조건, 값IfTrue, 값IfFalse)

이 함수는 제공된 조건을 확인합니다. 조건이 true인 경우(또는 진실한), valueIfTrue를 반환하고 그렇지 않으면 valueIfFalse를 반환합니다.

 ifElse(equal(1, 5), "equal", "not equal") //returns "not equal"
 ifElse(equal(2, 2), "equal", "not equal") //returns "equal"

정규식 함수

일치(값, 패턴[, 플래그, 그룹 인덱스])

matchAll(값, 패턴, matchIndex[, 플래그])

이러한 함수는 제공된 "값"이 제공된 정규식 "패턴"과 일치하는지 정규식 일치 및 테스트를 수행합니다. 

선택적 flags 인수는 고급 동작을 가능하게 하는 단일 문자 정규 표현식 플래그의 문자열입니다(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#advanced_searching_with_flags). 플래그 인수의 가장 일반적인 사용법은 대소문자를 구분하지 않는 일치를 위해 "i"를 전달하는 것입니다.

여기에는 두 가지 관련 기능이 있습니다.

  • The match function looks for a single match and supports an advanced usage with numeric capture groups, using the last argument to select the desired capture group (0 is the whole match, 1 is the first capture group, and so on).
  • The matchAll version supports multiple matches, using the matchIndex argument to select the desired match. (0 is the first match, 1 is the second match, and so on.)

In both cases, if there is a match the result will be the string content, or when used as the body of a dynamic Boolean variable, it will be true if there is a match or false if there was not a match.

// 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.

날짜 함수

형식날짜(날짜[, 형식문자열])

숫자 날짜를 가져와 사람이 읽을 수 있는 형식으로 변환합니다.  이것은 숫자 조작을 수행한 후 에이전트에 날짜를 표시하는 데 유용합니다.

The date  value is in milliseconds since January 1st 1970.

The formatString  accepts Unicode-standard substitutions.

참고: 결과 문자열은 에이전트의 시간대에 있으므로 형식 문자열에 시간대를 포함하는 것이 도움이 될 수 있습니다.
// 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)

형식날짜ISO(날짜)

숫자 날짜를 가져와 ISO 8601 형식의 형식이 지정된 날짜 문자열로 변환합니다. 이는 날짜 구성 요소로 작업하거나 날짜를 API 호출로 보낼 때 유용합니다. 

The date value is in milliseconds since January 1st 1970.

참고: 결과 문자열은 에이전트의 시간대에 있습니다.

예 
formatDateISO(946684800000)                    // 1999-12-31T19:00:00-05:00

dateToMilliseconds(날짜)

문자열 날짜를 가져와 밀리초 단위로 변환합니다. 1970년 1월 1일부터 숫자 조작을 위해.

제공된 날짜는 스크립트 변수에서 사용하는 기본 형식이어야 합니다.

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(5 * 1000 * 60 + 55); // "00:05:55"

durationToMilliseconds(durationString)

문자열 기간을 숫자 값으로 변환합니다.

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