Pular para o conteúdo principal

Referência de Expressões

abs(number)

Retorna o valor absoluto de um número.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Float: 0.5.

card MyCard do
my_var = abs(-0.5)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@abs(-0.5)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 1.

card MyCard do
my_var = abs(-1)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@abs(-1)"
end

and(argument1, argument2, argument3)

Retorna true se, e somente se, todos os seus argumentos forem avaliados como true.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false, quando usado com o seguinte contexto:

%{"contact" => %{"age" => 32, "gender" => "?"}}
card MyCard do
my_var = contact.gender = "F" and contact.age >= 18
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@and(contact.gender = \"F\", contact.age >= 18)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true, quando usado com o seguinte contexto:

%{"contact" => %{"age" => 32, "gender" => "F"}}
card MyCard do
my_var = contact.gender = "F" and contact.age >= 18
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@and(contact.gender = \"F\", contact.age >= 18)"
end

append(list, payload)

Anexa um item ou uma lista de itens a uma lista fornecida.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Lista com valores String, String, String, String:

[
"A",
"B",
"C",
"B"
]
card MyCard do
my_var = append(["A", "B"], ["C", "B"])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@append([\"A\", \"B\"], [\"C\", \"B\"])"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Lista com valores String, String, String:

[
"A",
"B",
"C"
]
card MyCard do
my_var = append(["A", "B"], "C")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@append([\"A\", \"B\"], \"C\")"
end

attachment_url(media_id, ttl)

Retorna uma URL temporária que dá acesso à mídia referenciada pelo ID fornecido.

Exemplo 1: Retorna uma URL para um anexo recebido com um TTL (tempo de vida) limitado.

O segundo parâmetro é a quantidade de minutos que a URL será válida.
Se não fornecido, o valor padrão será 15.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "https://example.org/attachment-url".

card MyCard do
my_var = attachment_url(event.message.image.id, 10)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@attachment_url(event.message.image.id, 10)"
end

attachment_url(media_id)

Gera uma URL para o ID de mídia fornecido, válida por 15 minutos.

Exemplo 1: Retorna uma URL para um anexo válida por 15 minutos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "https://example.org/attachment-url".

card MyCard do
my_var = attachment_url(event.message.image.id)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@attachment_url(event.message.image.id)"
end

base64_decode(thing)

Decodifica uma expressão em Base64.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello world".

card MyCard do
my_var = base64_decode("aGVsbG8gd29ybGQ=")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@base64_decode(\"aGVsbG8gd29ybGQ=\")"
end

base64_encode(thing)

Codifica uma expressão em Base64.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "aGVsbG8gd29ybGQ=".

card MyCard do
my_var = base64_encode("hello world")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@base64_encode(\"hello world\")"
end

char(code)

Retorna o caractere especificado por um número.

> "Tão fácil quanto @char(65), @char(66), @char(67)"
"Tão fácil quanto A, B, C"

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "A".

card MyCard do
my_var = char(65)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@char(65)"
end

chunk_every(enumerable, count)

Divide uma lista em várias listas menores.

Isso é útil em casos onde há uma lista grande, mas se deseja processá-la em pedaços menores.

Exemplo 1: Divida um grande conjunto de frases em conjuntos menores.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Lista com valores Lista com valores String, String, Lista com valores String, String, Lista com valores String:

[
[
"a primeira frase",
"a segunda frase"
],
[
"a terceira frase",
"a quarta frase"
],
[
"a quinta frase"
]
]

quando usado com o seguinte contexto:

%{"sentences" => ["a primeira frase", "a segunda frase", "a terceira frase", "a quarta frase", "a quinta frase"]}
card MyCard do
my_var = chunk_every(sentences, 2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@chunk_every(sentences, 2)"
end

clean(binary)

Remove todos os caracteres não imprimíveis de uma string de texto.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = clean(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@clean(nil)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "ABC" quando usado com o seguinte contexto:

%{"value" => <<65, 0, 66, 0, 67>>}
card MyCard do
my_var = clean(value)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@clean(value)"
end

code(code_ast)

Retorna o código numérico para o primeiro caractere em uma string de texto.

> "O código numérico de A é @CODE(\"A\")"
"O código numérico de A é 65"

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Nulo: null.

card MyCard do
my_var = code(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@code(nil)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Inteiro: 65.

card MyCard do
my_var = code("A")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@code(\"A\")"
end

concatenate(argument1, argument2, argument3)

Une strings de texto em uma única string de texto.

> "O seu nome é @CONCATENATE(contact.first_name, " ", contact.last_name)"
"O seu nome é name surname"

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "name surname" quando usado com o seguinte contexto:

%{"contact" => %{"first_name" => "name", "last_name" => "surname"}}
card MyCard do
my_var = concatenate(contact.first_name, " ", contact.last_name)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@concatenate(contact.first_name, " ", contact.last_name)"
end

count(term)

Retorna o número de entradas em uma lista, string ou mapa.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Inteiro: 0 quando usado com o seguinte contexto:

%{"nil_value" => nil}
card MyCard do
my_var = count(nil_value)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@count(nil_value)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Inteiro: 1 quando usado com o seguinte contexto:

%{"map" => %{"foo" => "bar"}}
card MyCard do
my_var = count(map)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@count(map)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Inteiro: 3.

card MyCard do
my_var = count("zoë")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@count("zoë")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Inteiro: 3.

card MyCard do
my_var = count([1, 2, 3])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@count([1, 2, 3])"
end

cull_data()

Exclui permanentemente todas as mensagens, contatos, detalhes de contato, anexos e tudo relacionado a um chat.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo Booleano complexo com valor padrão: true com os seguintes campos:

  • type do tipo String.
card MyCard do
my_var = cull_data()
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@cull_data()"
end

date(year, month, day)

Define um novo valor de data.

Exemplo 1: Construa uma data a partir de inteiros para ano, mês e dia.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Data: "2022-01-31" quando usado com o seguinte contexto:

%{"day" => 31, "month" => 1, "year" => 2022}
card MyCard do
my_var = date(year, month, day)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@date(year, month, day)"
end

datetime_add(datetime, offset, unit)

Calcula uma nova data/hora com base no deslocamento e na unidade fornecida.

A unidade pode ser qualquer um dos seguintes valores:

  • "Y" para anos
  • "M" para meses
  • "W" para semanas
  • "D" para dias
  • "h" para horas
  • "m" para minutos
  • "s" para segundos

Especificar um deslocamento negativo resulta em cálculos de data voltados para o passado.

Exemplo 1: Entradas de data inválidas

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"__type__": "expression/v1error",
"error": true,
"message": "Invalid date"
}

quando usado com o seguinte contexto:

%{}
card MyCard do
my_var = datetime_add("_..[0]._", 0, "h")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_add("_..[0]._", 0, "h")"
end

Exemplo 2: Deslocamentos negativos

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2020-02-28T00:00:00.000000Z".

card MyCard do
my_var = datetime_add(date(2020, 02, 29), -1, "D")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_add(date(2020, 02, 29), -1, "D")"
end

Exemplo 3: Tratamento de ano bissexto fora de um ano bissexto.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2021-03-01T00:00:00.000000Z".

card MyCard do
my_var = datetime_add(date(2021, 02, 28), 1, "D")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_add(date(2021, 02, 28), 1, "D")"
end

Exemplo 4: Tratamento de ano bissexto em um ano bissexto.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2020-02-29T00:00:00.000000Z".

card MyCard do
my_var = datetime_add(date(2020, 02, 28), 1, "D")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_add(date(2020, 02, 28), 1, "D")"
end

Exemplo 5: Calcula uma nova data/hora com base no deslocamento e na unidade fornecida.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2022-08-31T00:00:00Z" quando usado com o seguinte contexto:

%{"datetime" => ~U[2022-07-31 00:00:00Z], "offset" => "1", "unit" => "M"}
card MyCard do
my_var = datetime_add(datetime, offset, unit)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_add(datetime, offset, unit)"
end

datetime_from_unix(unix, unit)

Analisa um horário UNIX e retorna um DateTime

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2023-12-06T23:00:00Z" quando usado com o seguinte contexto:

%{}
card MyCard do
my_var = datetime_from_unix("1701903600", "second")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_from_unix("1701903600", "second")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2023-12-06T23:00:00.000Z" quando usado com o seguinte contexto:

%{}
card MyCard do
my_var = datetime_from_unix(1701903600000, "millisecond")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_from_unix(1701903600000, "millisecond")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2023-12-06T23:00:00.000Z" quando usado com o seguinte contexto:

%{}
card MyCard do
my_var = datetime_from_unix("1701903600000", "millisecond")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_from_unix("1701903600000", "millisecond")"
end

datetime_next(desired_day, time, base_date)

Calcula uma nova data/hora com base em uma data base, um dia desejado e um horário desejado.

Exemplo 1: Se o dia da semana for o mesmo que a data base, a próxima ocorrência será 7 dias depois.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2023-02-09T10:30:00-03:00" quando usado com o seguinte contexto:

%{"base_date" => ~U[2023-02-02 20:18:03Z], "contact" => %{"whatsapp_id" => "552197295926"}}
card MyCard do
my_var = datetime_next("thursday", "10:30", base_date)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@datetime_next("thursday", "10:30", base_date)"
end

Exemplo 2: Desloca uma data/hora para a próxima ocorrência de um determinado dia da semana e um horário definido.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2023-02-06T10:00:00-03:00" quando usado com o seguinte contexto:

%{"base_date" => ~U[2023-02-03 20:18:03Z], "contact" => %{"whatsapp_id" => "552197295926"}}
card MyCard do
my_var = datetime_next("monday", "10:00", base_date)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@datetime_next("monday", "10:00", base_date)"
end

datetime_next(desired_day, time)

Calcula uma nova data/hora com base na data e hora de hoje, um dia desejado e um horário desejado.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2024-10-12T13:45:00-03:00" quando usado com o seguinte contexto:

%{"contact" => %{"whatsapp_id" => "552197295926"}}
card MyCard do
my_var = datetime_next("saturday", "13:45")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@datetime_next("saturday", "13:45")"
end

datevalue(date, format)

Converte uma data armazenada em texto em um objeto de data real e a formata usando a formatação de strftime.

Usará "%Y-%m-%d %H:%M:%S" se nenhum formato for fornecido.

Exemplo 1: Converter um valor de data e ler o campo de data

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Date: "2022-01-01".

card MyCard do
my_var = datevalue(date(2022, 1, 1)).date
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@datevalue(date(2022, 1, 1)).date"
end

Exemplo 2: Converter uma data de um trecho de texto e ler o campo de data

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Date: "2022-01-01".

card MyCard do
my_var = datevalue("2022-01-01").date
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@datevalue("2022-01-01").date"
end

Exemplo 3: Converter uma data de um trecho de texto para uma string de data formatada

Quando usado como uma expressão em uma Jornada, retorna um tipo String complexo de valor padrão: "2022-01-01 00:00:00" com os seguintes campos:

  • date do tipo Date
  • datetime do tipo DateTime.
card MyCard do
my_var = datevalue("2022-01-01")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@datevalue("2022-01-01")"
end

datevalue(date)

day(date)

Retorna apenas o dia do mês de uma data (1 a 31).

Exemplo 1: Obter o dia do mês de hoje

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 8.

card MyCard do
my_var = day(now())
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@day(now())"
end

Exemplo 2: Obter o dia do mês de hoje

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 10.

card MyCard do
my_var = day(date(2022, 9, 10))
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@day(date(2022, 9, 10))"
end

delete(map, key)

Exclui um elemento de um mapa pela chave fornecida.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"age": 32
}

quando usado com o seguinte contexto:

%{"patient" => %{"age" => 32, "gender" => "?"}}
card MyCard do
my_var = delete(patient, "gender")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@delete(patient, "gender")"
end

edate(date, months)

Desloca uma data pelo número de meses fornecido.

Exemplo 1: Deslocar a data armazenada em um trecho de texto em 1 mês

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Date: "2022-11-10".

card MyCard do
my_var = edate("2022-10-10", 1)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@edate("2022-10-10", 1)"
end

Exemplo 2: Deslocar a data em um objeto de data em 1 mês

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2022-02-01T00:00:00Z" quando usado com o seguinte contexto:

%{right_now: ~U[2022-01-01 00:00:00Z]}
card MyCard do
my_var = edate(right_now, 1)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@edate(right_now, 1)"
end

filter(enumerable, filter_fun)

Filtra uma lista retornando uma nova lista que contém apenas os elementos para os quais filter_fun é verdadeiro.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Lista com valores String, String:

[
"B",
"B"
]
card MyCard do
my_var = filter(["A", "B", "C", "B"], & &1 == "B")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@filter(["A", "B", "C", "B"], & &1 == "B")"
end

find(enumerable, find_fun)

Encontra o primeiro elemento na lista para o qual filter_fun é verdadeiro.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Lista com valores String, String:

[
"Hi",
"World"
]
card MyCard do
my_var = find([["Hello", "World"], ["Hi", "World"]], & &1[0] == "Hi")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@find([["Hello", "World"], ["Hi", "World"]], & &1[0] == "Hi")"
end

find_exact_match(input, keyword_set)

Verifica se existe uma correspondência exata em um conjunto de palavras-chave. As palavras-chave podem ser números.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "apple".

card MyCard do
my_var = find_exact_match("apple", ["apple", "orange", "beets"])
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@find_exact_match("apple", ["apple", "orange", "beets"])"
end

find_fuzzy_matches(input, keyword_threshold_set)

Encontra correspondências aproximadas para o conjunto keyword_threshold. Cada palavra-chave possui seu próprio limite (threshold).

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo String complexo de valor padrão: "apple" com os seguintes campos:

  • match do tipo String
  • others do tipo List with values Map
  • threshold do tipo Integer.
card MyCard do
my_var = find_fuzzy_matches("appls", [["apple", 1], ["app", 2]])
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@find_fuzzy_matches("appls", [["apple", 1], ["app", 2]])"
end

find_fuzzy_matches(input, keyword_set, threshold)

Encontra correspondências aproximadas para as palavras-chave usando o mesmo limite (threshold) para todas.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo String complexo de valor padrão: "pear" com os seguintes campos:

  • match do tipo String
  • others do tipo **List with values **
  • threshold do tipo Integer.
card MyCard do
my_var = find_fuzzy_matches("pork", ["apple", "orange", "pear"], 3)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@find_fuzzy_matches("pork", ["apple", "orange", "pear"], 3)"
end

first_word(binary)

Retorna a primeira palavra do texto fornecido - equivalente a WORD(text, 1).

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = first_word(nil)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@first_word(nil)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foo".

card MyCard do
my_var = first_word("foo bar baz")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@first_word("foo bar baz")"
end

fixed(number, precision)

Formata o número fornecido em formato decimal usando ponto e vírgulas.

> "Você tem @fixed(contact.balance, 2) em sua conta"
"Você tem 4.21 em sua conta"

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "0.09".

card MyCard do
my_var = fixed(0.0909, 2)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@fixed(0.0909, 2)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "3.80".

card MyCard do
my_var = fixed(3.7979, 2)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@fixed(3.7979, 2)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "3.80".

card MyCard do
my_var = fixed(3.7979, 2, false)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@fixed(3.7979, 2, false)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "4000.4242".

card MyCard do
my_var = fixed(4000.424242, 4, true)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@fixed(4000.424242, 4, true)"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "4.21".

card MyCard do
my_var = fixed(4.209922, 2, false)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@fixed(4.209922, 2, false)"
end

fixed(number, precision, no_commas)

get_brief(phrase)

Extrai os primeiros caracteres da frase, por padrão 20 caracteres.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "this is a very lo...".

card MyCard do
my_var = get_brief("this is a very long sentence")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@get_brief("this is a very long sentence")"
end

get_brief(phrase, num_chars)

Extrai os primeiros caracteres da frase até o limite especificado.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "this is...".

card MyCard do
my_var = get_brief("this is a very long sentence", 10)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@get_brief("this is a very long sentence", 10)"
end

get_collected_data()

Recupera os dados relacionados à sessão atual, como mensagens processadas, detalhes do contato e informações do número.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "{"contacts":[{"profile":{"name":"John Doe"},"wa_id":"1234567890"}],"messages":[{"text":{"body":"hi"}},{"image":{"caption":"What is your name?"},"type":"image"},{"text":{"body":"user message"}}],"thread":{"contact":{"name":"John Doe"}}}".

card MyCard do
my_var = get_collected_data()
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@get_collected_data()"
end

get_write_results_data()

Obtém os resultados do fluxo capturados para o contato atual na pilha atual.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "{"chat":"current chat...","contact":"current contact...","number":"current number...","results":[{"question":"the question reference...","question_id":"question unique-id...","response":"the response...","response_metadata":"the response metadata..."}],"session":"current session object...","stack":"current stack..."}".

card MyCard do
my_var = get_write_results_data()
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@get_write_results_data()"
end

google_connect(service_account)

Conecta-se às APIs do Google usando a service account fornecida.

Exemplo 1: O primeiro argumento é a service account para o Google como uma String. Consulte a documentação do Google sobre como criar uma service account.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "an-api-access-token".

card MyCard do
my_var = google_connect("service-account-details")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@google_connect("service-account-details")"
end

google_read_sheet(token, spreadsheet_id, sheet_name, cache_ttl)

Lê uma única planilha de uma planilha hospedada no Google Docs.

Exemplo 1: O primeiro argumento é um token para autenticação com o Google. Este é o token retornado pela função google_connect().

O último argumento é por quanto tempo armazenar em cache os resultados, expresso em milissegundos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"error": null,
"properties": {
"title": "the sheet name"
},
"status": 200,
"values": [
[
"row-1 column-1 value",
"row-1 column-2 value"
],
[
"row-2 column-1 value",
"row-2 column-2 value"
]
]
}
card MyCard do
my_var = google_read_sheet("the-token", "the google sheet-id", "the sheet name", 10000)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@google_read_sheet("the-token", "the google sheet-id", "the sheet name", 10000)"
end

Exemplo 2: Quando uma conexão falha, pode-se inspecionar o status HTTP e o erro para ajudar a decidir como proceder.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"error": "connection timeout",
"status": null
}
card MyCard do
my_var = google_read_sheet("the-token", "the google sheet-id", "the sheet name", 10000)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@google_read_sheet("the-token", "the google sheet-id", "the sheet name", 10000)"
end

has_all_members(list, items)

Retorna verdadeiro se uma lista contiver todos os itens fornecidos.

Exemplo 1: Verifica se a lista fornecida contém todos os itens fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_all_members(["A", "B", "C"], ["C", "B"])
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_all_members(["A", "B", "C"], ["C", "B"])"
end

has_all_words(haystack, words)

Testa se todas as palavras estão contidas no texto.

As palavras podem estar em qualquer ordem e podem aparecer mais de uma vez.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_all_words(nil, "red fox")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_all_words(nil, "red fox")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_all_words("the quick brown FOX", "red fox")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_all_words("the quick brown FOX", "red fox")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_all_words("the quick brown FOX", "the fox")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_all_words("the quick brown FOX", "the fox")"
end

has_any_beginning(text, prefixes)

Verifica se o texto fornecido começa com algum dos prefixos fornecidos. A função executa uma comparação sem distinção de maiúsculas e minúsculas.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_beginning("كيف حالك؟", ["كيف حالك", "hey how are you"])
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_any_beginning("كيف حالك؟", ["كيف حالك", "hey how are you"])"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_beginning("HEY HOW ARE YOU?", ["hello", "hey how are you"])
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_any_beginning("HEY HOW ARE YOU?", ["hello", "hey how are you"])"
end

has_any_end(text, end_texts)

Exemplo 1: Verifica se o texto fornecido termina com alguma das strings fornecidas. A função executa uma comparação sem distinção de maiúsculas e minúsculas.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_end("I would like to book a vaccine", ["appointment", "visit", "vaccine"])
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_any_end("I would like to book a vaccine", ["appointment", "visit", "vaccine"])"
end

has_any_exact_phrase(text, phrases)

Verifica se o texto fornecido corresponde exatamente a alguma das frases fornecidas. A função executa uma correspondência exata sem distinção de maiúsculas e minúsculas.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_any_exact_phrase("كيف حالك؟", ["كيف حالك", "hey how are you"])
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_any_exact_phrase("كيف حالك؟", ["كيف حالك", "hey how are you"])"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_exact_phrase("HEY HOW ARE YOU?", ["hello", "hey how are you?"])
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_any_exact_phrase("HEY HOW ARE YOU?", ["hello", "hey how are you?"])"
end

has_any_member(list, items)

Retorna verdadeiro se a lista contiver algum dos itens fornecidos.

Exemplo 1: Verifica se a lista fornecida contém algum dos itens fornecidos

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_member(["A", "B", "C"], ["Z", "C"])
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_any_member([A, B, C], [Z, C])"
end

has_any_phrase(text, phrases)

Verifica se o texto fornecido contém alguma das strings fornecidas. A função executa uma correspondência exata sem distinção de maiúsculas e minúsculas. O segundo argumento espera ou uma lista de strings ou uma única string com frases separadas por vírgula.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_phrase("hey how are you?", "hello, bye bye, how are you")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_any_phrase("hey how are you?", "hello, bye bye, how are you")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_phrase("مرحباً كيف حالك؟", ["كيف حالك", "how are you"])
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_any_phrase("مرحباً كيف حالك؟", [كيف حالك, how are you])"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_phrase("hey how are you?", ["hello", "bye bye", "how are you"])
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_any_phrase("hey how are you?", [hello, bye bye, how are you])"
end

has_any_word(haystack, words)

Testa se alguma das palavras está contida no texto

Apenas uma das palavras precisa corresponder e ela pode aparecer mais de uma vez.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: false com os seguintes campos:

  • match do tipo Null.
card MyCard do
my_var = has_any_word("The Quick Brown Fox", "yellow")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_any_word("The Quick Brown Fox", "yellow")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • match do tipo String.
card MyCard do
my_var = has_any_word("The Quick Brown Fox", "fox quick")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_any_word("The Quick Brown Fox", "fox quick")"
end

has_beginning(text, beginning)

Testa se o texto começa com beginning

Ambos os valores de texto são removidos de espaços em branco ao redor, mas a correspondência é estrita, sem qualquer tokenização.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_beginning("The Quick Brown", "quick brown")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_beginning("The Quick Brown", "quick brown")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_beginning("The Quick Brown", "the quick")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_beginning("The Quick Brown", "the quick")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_beginning("The Quick Brown", "the quick")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_beginning("The Quick Brown", "the quick")"
end

has_date(expression)

Testa se expression contém uma data formatada de acordo com nosso ambiente

Isso é implementado de forma bastante simples com uma expressão regular.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: false com os seguintes campos:

  • date do tipo Null
  • datetime do tipo Null
  • match do tipo Null quando usado com o seguinte contexto:
%{"var" => 1}
card MyCard do
my_var = has_date(var)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_date(var)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: false com os seguintes campos:

  • date do tipo Null
  • datetime do tipo Null
  • match do tipo Null.
card MyCard do
my_var = has_date(1)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_date(1)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: false com os seguintes campos:

  • date do tipo Null
  • datetime do tipo Null
  • match do tipo Null.
card MyCard do
my_var = has_date("there is no date here, just a year 2017")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_date("there is no date here, just a year 2017")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2017-01-15T05:50:00Z".

card MyCard do
my_var = has_date("the date is 15/01/2017 05:50").datetime
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_date("the date is 15/01/2017 05:50").datetime"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Date: "2017-01-15".

card MyCard do
my_var = has_date("the date is 15/01/2017").date
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_date("the date is 15/01/2017").date"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • date do tipo Date
  • datetime do tipo DateTime
  • match do tipo DateTime.
card MyCard do
my_var = has_date("the date is 15/01/2017 05:50")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_date("the date is 15/01/2017 05:50")"
end

has_date_eq(expression, date_string)

Testa se expression é uma data igual a date_string

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: false com os seguintes campos:

  • error do tipo Map
  • match do tipo Null
  • test do tipo Date.
card MyCard do
my_var = has_date_eq("there is no date here, just a year 2017", "2017-01-15")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_date_eq("there is no date here, just a year 2017", "2017-01-15")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • match do tipo Date
  • test do tipo Date.
card MyCard do
my_var = has_date_eq("the date is 15/01/2017", "2017-01-15")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_date_eq("the date is 15/01/2017", "2017-01-15")"
end

has_date_gt(expression, date_string)

Testa se expression é uma data posterior à data date_string

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: false com os seguintes campos:

  • match do tipo Date
  • test do tipo Date.
card MyCard do
my_var = has_date_gt("the date is 15/01/2017", "2017-03-15")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_date_gt("the date is 15/01/2017", "2017-03-15")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • match do tipo Date
  • test do tipo Date.
card MyCard do
my_var = has_date_gt("the date is 15/01/2017", "2017-01-01")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_date_gt("the date is 15/01/2017", "2017-01-01")"
end

has_date_lt(expression, date_string)

Testa se expression contém uma data anterior à data date_string

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: false com os seguintes campos:

  • match do tipo Date
  • test do tipo Date.
card MyCard do
my_var = has_date_lt("the date is 15/01/2021", "2017-03-15")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_date_lt("the date is 15/01/2021", "2017-03-15")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • match do tipo Date
  • test do tipo Date.
card MyCard do
my_var = has_date_lt("the date is 15/01/2017", "2017-06-01")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_date_lt("the date is 15/01/2017", "2017-06-01")"
end

has_email(expression)

Testa se existe um email contido no texto

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: false com os seguintes campos:

  • email do tipo Null.
card MyCard do
my_var = has_email(nil)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_email(nil)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: false com os seguintes campos:

  • email do tipo Null.
card MyCard do
my_var = has_email("i'm not sharing my email")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_email("i'm not sharing my email")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • email do tipo String.
card MyCard do
my_var = has_email("my email is foo1@bar.com, please respond")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_email("my email is foo1@bar.com, please respond")"
end

has_end(text, end_text)

Exemplo 1: Verifica se o texto fornecido termina com a string fornecida. A função executa uma comparação sem distinção de maiúsculas e minúsculas.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_end("I would like to book a vaccine", "vaccine")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_end("I would like to book a vaccine", "vaccine")"
end

has_group(groups, uuid)

Retorna se o contato faz parte do grupo com o UUID fornecido

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false quando usado com o seguinte contexto:

%{"contact" => %{"groups" => [%{"uuid" => "b7cf0d83-f1c9-411c-96fd-c511a4cfa86d"}]}}
card MyCard do
my_var = has_group(contact.groups, "00000000-0000-0000-0000-000000000000")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_group(contact.groups, "00000000-0000-0000-0000-000000000000")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"contact" => %{"groups" => [%{"uuid" => "b7cf0d83-f1c9-411c-96fd-c511a4cfa86d"}]}}
card MyCard do
my_var = has_group(contact.groups, "b7cf0d83-f1c9-411c-96fd-c511a4cfa86d")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_group(contact.groups, "b7cf0d83-f1c9-411c-96fd-c511a4cfa86d")"
end

has_member(list, item)

Retorna verdadeiro se a lista contiver o item fornecido

Exemplo 1: Verifica se a lista fornecida possui o item como membro

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_member(["A", "B", "C"], "C")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_member(["A", "B", "C"], "C")"
end

has_number(expression)

Testa se expression contém um número

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • number do tipo Float.
card MyCard do
my_var = has_number("0.6")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number("0.6")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • number do tipo Float.
card MyCard do
my_var = has_number("٠.٥")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number("٠.٥")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • number do tipo Float.
card MyCard do
my_var = has_number("العدد ٤٢")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number("العدد ٤٢")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • number do tipo Float.
card MyCard do
my_var = has_number("the number is 42 and 5")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number("the number is 42 and 5")"
end

has_number_eq(expression, float)

Testa se expression contém um número igual ao valor

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_eq("four hundred", "foo")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_eq("four hundred", "foo")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_eq("the number is 40", "foo")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_eq("the number is 40", "foo")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_eq("the number is 40", "42")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_eq("the number is 40", "42")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_eq("the number is 42.0", "42")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_eq("the number is 42.0", "42")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_eq("the number is 0.5", "0.5")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_eq("the number is 0.5", "0.5")"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_eq("the number is 42", "42")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_eq("the number is 42", "42")"
end

Exemplo 7:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_eq("the number is 42", 42.0)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_eq("the number is 42", 42.0)"
end

Exemplo 8:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_eq("the number is 42", 42)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_eq("the number is 42", 42)"
end

has_number_gt(expression, float)

Testa se expression contém um número maior que min

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_gt("four hundred", "foo")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gt("four hundred", "foo")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_gt("the number is 40", "foo")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gt("the number is 40", "foo")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_gt("the number is 40", "40")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gt("the number is 40", "40")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gt("the number is 42.0", "40")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gt("the number is 42.0", "40")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gt("the number is 0.6", "0.5")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gt("the number is 0.6", "0.5")"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gt("the number is 42", "40")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gt("the number is 42", "40")"
end

Exemplo 7:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gt("the number is 42", 40.0)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gt("the number is 42", 40.0)"
end

Exemplo 8:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gt("the number is 42", 40)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gt("the number is 42", 40)"
end

has_number_gte(expression, float)

Testa se expression contém um número maior ou igual a min

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_gte("four hundred", "foo")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gte(\"four hundred\", \"foo\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_gte("the number is 40", "foo")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gte(\"the number is 40\", \"foo\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_gte("the number is 40", "45")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gte(\"the number is 40\", \"45\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_gte("the number is 42.0", "45")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gte(\"the number is 42.0\", \"45\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gte("the number is 0.5", "0.5")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gte(\"the number is 0.5\", \"0.5\")"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gte("the number is 42", "42")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gte(\"the number is 42\", \"42\")"
end

Exemplo 7:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gte("the number is 42", 42.0)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gte(\"the number is 42\", 42.0)"
end

Exemplo 8:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gte("the number is 42", 42)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_gte(\"the number is 42\", 42)"
end

has_number_lt(expression, float)

Testa se expression contém um número menor que max

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lt("four hundred", "foo")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lt(\"four hundred\", \"foo\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lt("the number is 40", "foo")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lt(\"the number is 40\", \"foo\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lt("the number is 40", "40")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lt(\"the number is 40\", \"40\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lt("the number is 42.0", "40")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lt(\"the number is 42.0\", \"40\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lt("the number is 0.6", "0.5")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lt(\"the number is 0.6\", \"0.5\")"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lt("the number is 42", "40")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lt(\"the number is 42\", \"40\")"
end

Exemplo 7:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_lt("the number is 42", 44.0)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lt(\"the number is 42\", 44.0)"
end

Exemplo 8:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_lt("the number is 42", 44)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lt(\"the number is 42\", 44)"
end

has_number_lte(expression, float)

Testa se expression contém um número menor ou igual a max

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"response" => 3}
card MyCard do
my_var = has_number_lte("@response", 5)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lte(\"@response\", 5)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lte("four hundred", "foo")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lte(\"four hundred\", \"foo\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lte("the number is 40", "foo")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lte(\"the number is 40\", \"foo\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lte("the number is 42.0", "40")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lte(\"the number is 42.0\", \"40\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_lte("the number is 0.5", "0.5")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lte(\"the number is 0.5\", \"0.5\")"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_lte("the number is 42", "42")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lte(\"the number is 42\", \"42\")"
end

Exemplo 7:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_lte("the number is 42", 42.0)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lte(\"the number is 42\", 42.0)"
end

Exemplo 8:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_lte("the number is 42", 42)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_number_lte(\"the number is 42\", 42)"
end

has_only_phrase(expression, phrase)

Testa se o texto contém apenas a frase informada

A frase deve ser o único texto dentro do trecho para corresponder

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_only_phrase("The Quick Brown Fox", "quick brown")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_only_phrase(\"The Quick Brown Fox\", \"quick brown\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_only_phrase("", "")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_only_phrase(\"\", \"\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_only_phrase("Quick Brown", "quick brown")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_only_phrase(\"Quick Brown\", \"quick brown\")"
end

has_only_text(expression_one, expression_two)

Retorna se dois valores de texto são iguais (sensível a maiúsculas e minúsculas). Caso sejam, retornará o texto como correspondência.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_only_text("foo", "FOO")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_only_text(\"foo\", \"FOO\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_only_text("", "")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_only_text(\"\", \"\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_only_text("foo", "foo")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_only_text(\"foo\", \"foo\")"
end

has_pattern(expression, pattern)

Testa se expression corresponde ao padrão regex

Ambos os valores de texto são removidos de espaços em branco ao redor e a correspondência é sem distinção de maiúsculas e minúsculas.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_pattern(nil, "buy (\w+)")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_pattern(nil, \"buy (\w+)\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_pattern("Sell cheese please", "buy (\w+)")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_pattern(\"Sell cheese please\", \"buy (\w+)\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_pattern("Buy cheese please", "buy (\w+)")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_pattern(\"Buy cheese please\", \"buy (\w+)\")"
end

has_phone(expression)

Testa se expression contém um número de telefone.
O argumento opcional country_code especifica o país a ser usado na análise.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: false com os seguintes campos:

  • phonenumber do tipo Null.
card MyCard do
my_var = has_phone(nil, "US")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_phone(nil, \"US\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: false com os seguintes campos:

  • phonenumber do tipo Null.
card MyCard do
my_var = has_phone("my number is none of your business", "US")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_phone(\"my number is none of your business\", \"US\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • phonenumber do tipo String.
card MyCard do
my_var = has_phone("my number is 206 779 9294 thanks", "US")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_phone(\"my number is 206 779 9294 thanks\", \"US\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • phonenumber do tipo String.
card MyCard do
my_var = has_phone("my number is 2067799294 thanks", "US")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_phone(\"my number is 2067799294 thanks\", \"US\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • phonenumber do tipo String.
card MyCard do
my_var = has_phone("my number is +12067799294 thanks")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_phone(\"my number is +12067799294 thanks\")"
end

has_phone(expression, country_code)

has_phrase(expression, phrase)

Testa se a frase está contida em expression

As palavras na frase de teste devem aparecer na mesma ordem, sem outras palavras intermediárias.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_phrase("the quick brown fox", "")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_phrase(\"the quick brown fox\", \"\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_phrase("the quick brown fox", "quick fox")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_phrase(\"the quick brown fox\", \"quick fox\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_phrase("the quick brown fox", "brown fox")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_phrase(\"the quick brown fox\", \"brown fox\")"
end

has_text(expression)

Testa se expression possui algum caractere

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_text(nil)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_text(nil)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_text(123)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_text(123)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_text("
")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_text(\"
\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_text("")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_text(\"\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_text("quick brown")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_text(\"quick brown\")"
end

has_time(expression)

Testa se expression contém uma hora.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_time("there is no time here, just the number 25")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_time(\"there is no time here, just the number 25\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • match do tipo Time.
card MyCard do
my_var = has_time("the time is 10:30:45")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_time(\"the time is 10:30:45\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • match do tipo Time.
card MyCard do
my_var = has_time("the time is 10:00 pm")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_time(\"the time is 10:00 pm\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • match do tipo Time.
card MyCard do
my_var = has_time("the time is 10:30")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@has_time(\"the time is 10:30\")"
end

hf_connect(model_resource, token)

Conecta um modelo do Huggingface. A variável retornada representa a conexão com o modelo do Huggingface e deve ser usada como o argumento de conexão para a função hf_infer.

Exemplo 1: Conectar a um modelo disponível em um domínio custom do Huggingface

Quando usado como uma expressão em uma Jornada, retorna um tipo String complexo de valor padrão: "huggingface.co connection for "/myhuggingface/model"" com os seguintes campos:

  • type do tipo String
  • token do tipo String
  • url do tipo String.
card MyCard do
my_var = hf_connect("https://my-custom-domain.com/myhuggingface/model", "my-token")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@hf_connect(\"https://my-custom-domain.com/myhuggingface/model\", \"my-token\")"
end

Exemplo 2: Conectar a um modelo disponível no Huggingface.

Observe que o primeiro argumento não é uma URL, mas uma referência a um modelo do Huggingface no formato "nome-da-organizacao/nome-do-modelo", semelhante a como se referiria a um repositório do Github.

Quando usado como uma expressão em uma Jornada, retorna um tipo String complexo de valor padrão: "huggingface.co connection for "/models/myhuggingface/model"" com os seguintes campos:

  • type do tipo String
  • token do tipo String
  • url do tipo String.
card MyCard do
my_var = hf_connect("myhuggingface/model", "my-token")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@hf_connect(\"myhuggingface/model\", \"my-token\")"
end

hf_infer(hf_connect, query)

Chama a API de inferência do Huggingface para a conexão armazenada na variável hf_connect.

Exemplo 1: Use a API de inferência do Huggingface para enviar uma consulta de entrada a um modelo especificado na variável de conexão. O valor retornado é o payload JSON decodificado retornado pelo modelo hospedado no Huggingface.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "nil is not a valid Huggingface connection.".

card MyCard do
my_var = hf_infer(conn, "I am so happy today")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@hf_infer(conn, \"I am so happy today\")"
end

hour(date)

Retorna apenas a hora de um datetime (0 a 23)

Exemplo 1: Obter a hora atual

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 15.

card MyCard do
my_var = hour(now())
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@hour(now())"
end

html_to_markdown(html)

Faz o melhor esforço para converter um fragmento HTML em Markdown adequado para uso em uma conversa no WhatsApp

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hi" quando usado com o seguinte contexto:

%{"html" => "<b>hi</b>"}
card MyCard do
my_var = html_to_markdown(html)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@html_to_markdown(html)"
end

if(condition, yes, no)

Retorna um valor se a condição for avaliada como true e outro valor se for avaliada como false

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "No".

card MyCard do
my_var = # Shorthand
if(false, do: "Yes", else: "No")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@if(false, \"Yes\", \"No\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "Yes".

card MyCard do
my_var = if true do
"Yes"
else
"No"
end

Quando usado em um trecho de texto, prefixe com um @

my_var = "@if(true, "Yes", "No")" end


### is_error(value)

Verifica se `value` é um erro

**Exemplo 1**:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo **Boolean**: `false` quando usado com o seguinte contexto:

%{}

```elixir
card MyCard do
my_var = is_error("not an error")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@is_error(\"not an error\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"error" => %{"__type__" => "expression/v1error", "error" => true, "message" => "the error"}}
card MyCard do
my_var = is_error(error)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@is_error(error)"
end

is_nil_or_empty(arg)

Retorna verdadeiro se o argumento for nil ou uma string vazia

Exemplo 1: Verifica se o argumento fornecido é nil ou uma string vazia

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = is_nil_or_empty(nil)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@is_nil_or_empty(nil)"
end

isbool(var)

Retorna true se o argumento for um booleano.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = isbool("false")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@isbool(\"false\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = isbool("true")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@isbool(\"true\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = isbool(0)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@isbool(0)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = isbool(1)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@isbool(1)"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = isbool(false)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@isbool(false)"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = isbool(true)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@isbool(true)"
end

isnumber(var)

Retorna true se o argumento for um número.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = isnumber("a")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@isnumber(\"a\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = isnumber("1.0")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@isnumber(\"1.0\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = isnumber(1.0)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@isnumber(1.0)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = isnumber(1)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@isnumber(1)"
end

isstring(binary)

Retorna true se o argumento for uma string.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = isstring(1)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@isstring(1)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = isstring(false)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@isstring(false)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = isstring("hello")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@isstring(\"hello\")"
end

json(data)

Converte uma estrutura de dados em JSON

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "{\"foo\":\"bar\"}" quando usado com o seguinte contexto:

%{"data" => %{"foo" => "bar"}}
card MyCard do
my_var = json(data)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@json(data)"
end

left(binary, size)

Retorna os primeiros caracteres em uma string de texto. Isso é seguro para Unicode.

Retornará nil se a string fornecida for nil.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Nulo: null.

card MyCard do
my_var = left(nil, 4)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@left(nil, 4)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "Умерла Мадлен Олбрай".

card MyCard do
my_var = left("Умерла Мадлен Олбрайт - первая женщина на посту главы Госдепа США", 20)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@left(\"Умерла Мадлен Олбрайт - первая женщина на посту главы Госдепа США\", 20)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foob".

card MyCard do
my_var = left("foobar", 4)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@left(\"foobar\", 4)"
end

len(binary)

Retorna o número de caracteres em uma string de texto, retorna 0 se a string for nula ou vazia.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 0.

card MyCard do
my_var = len(nil)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@len(nil)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3.

card MyCard do
my_var = len("zoë")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@len(\"zoë\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3.

card MyCard do
my_var = len("foo")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@len(\"foo\")"
end

levenshtein_distance(first_phrase, second_phrase)

Calcula a distância de edição de Levenshtein.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3.

card MyCard do
my_var = levenshtein_distance("shalom", "salaam")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@levenshtein_distance(\"shalom\", \"salaam\")"
end

lower(binary)

Converte uma string de texto para minúsculas.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Nulo: null.

card MyCard do
my_var = lower(nil)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@lower(nil)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foo bar".

card MyCard do
my_var = lower("Foo Bar")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@lower(\"Foo Bar\")"
end

map(enumerable, mapper)

Mapeia uma lista de itens e aplica a função mapper a cada item, retornando o resultado.

Exemplo 1: Mapeia o intervalo de números, multiplica cada um por si mesmo e retorna o resultado

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List com valores Integer, Integer, Integer:

[ 1, 4, 9 ]

card MyCard do
my_var = map(1..3, &(&1 * &1))
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@map(1..3, &(&1 * &1))"
end

Exemplo 2: Mapeia o intervalo de números, criando uma data em janeiro para cada número

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List com valores Date, Date, Date:

[ "2022-01-01", "2022-01-02", "2022-01-03" ]

card MyCard do
my_var = map(1..3, &date(2022, 1, &1))
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@map(1..3, &date(2022, 1, &1))"
end

max(argument1, argument2, argument3)

Retorna o valor máximo de todos os argumentos.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3.

card MyCard do
my_var = max(1, 2, 3)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@max(1, 2, 3)"
end

mid(text, start_num, num_chars)

MID extrai parte de uma string, começando em uma posição especificada e por um comprimento especificado.

Ele lida corretamente com caracteres Unicode. Por exemplo, pegar os três primeiros caracteres de "héllo" retorna "hél".

Se a posição de início estiver além do comprimento da string, retornará uma string vazia.

Implementação baseada em https://support.microsoft.com/en-us/office/mid-function-2eba57be-0c05-4bdc-bf81-5ecf4421eb8a

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = MID("Fluid Flow", 20, 5)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@MID(\"Fluid Flow\", 20, 5)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "Flow".

card MyCard do
my_var = MID("Fluid Flow", 7, 20)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@MID(\"Fluid Flow\", 7, 20)"
end

Exemplo 3: MID retorna um número específico de caracteres de uma string de texto, começando na posição que você especificar, com base no número de caracteres que você especificar.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "Fluid".

card MyCard do
my_var = MID("Fluid", 1, 5)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@MID(\"Fluid\", 1, 5)"
end

min(argument1, argument2, argument3)

Retorna o valor mínimo de todos os argumentos.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 1.

card MyCard do
my_var = min(1, 2, 3)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@min(1, 2, 3)"
end

minute(date)

Retorna apenas o minuto de um datetime (0 a 59).

Exemplo 1: Obter o minuto atual

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 0.

card MyCard do
my_var = minute(now())
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@minute(now())"
end

month(date)

Retorna apenas o mês de uma data (1 a 12).

Exemplo 1: Obter o mês atual

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 10.

card MyCard do
my_var = month(now())
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@month(now())"
end

normalise_text(phrase)

Normaliza o texto usando Unicode NFKC (Normalisation Form Compatibility Composition).

Aceita caracteres multibyte unicode e tenta normalizá-los.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "abcABC" quando usado com o seguinte contexto:

%{"phrase" => "abcABC"}
card MyCard do
my_var = normalise_text(phrase)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@normalise_text(phrase)"
end

normalise_whitespace(phrase)

Normaliza espaços em branco substituindo sequências de espaços por um único espaço.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello world".

card MyCard do
my_var = normalise_whitespace("hello world")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@normalise_whitespace(\"hello world\")"
end

not(argument)

Retorna false se o argumento fornecido for avaliado como verdadeiro.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = not(false)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@not(false)"
end

now()

Retorna a data e hora atuais como UTC.

It is currently @NOW()

Exemplo 1: retorna a data/hora atual e a formata usando datevalue

Quando usado como uma expressão em uma Jornada, retorna um tipo String complexo de valor padrão: "2024-10-08" com os seguintes campos:

  • date do tipo Date
  • datetime do tipo DateTime.
card MyCard do
my_var = datevalue(now(), "%Y-%m-%d")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@datevalue(now(), \"%Y-%m-%d\")"
end

Exemplo 2: retorna o timestamp atual como um valor DateTime

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2024-10-08T15:00:17.206684Z".

card MyCard do
my_var = now()
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@now()"
end

openai_add_function(connection, name, description, parameters)

Adiciona uma definição de função ao contexto do OpenAI para a função informada.

Exemplo 1: Adiciona uma função chamada make_booking ao contexto do OpenAI

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"__type__": "openai/v1",
"functions": [
{
"function": {
"description": "Make an appointment booking",
"name": "make_booking",
"parameters": {
"properties": {},
"type": "object"
}
},
"type": "function"
}
]
}

quando usado com o seguinte contexto:

%{"ai" => %{"__type__" => "openai/v1", "functions" => []}}
card MyCard do
my_var = openai_add_function(ai, "make_booking", "Make an appointment booking", parse_json('{
"type": "object",
"properties": {}
}'))

# Quando usado em um trecho de texto, prefixe com um @
my_var = "@openai_add_function(ai, \"make_booking\", \"Make an appointment booking\", parse_json('{
\"type\": \"object\",
\"properties\": {}
}'))
"
end

openai_add_image(connection, role, prompt, image_url)

Adiciona uma imagem ao contexto do OpenAI para o papel (role) fornecido, exigindo configurar uma conexão com um modelo compatível com visão.

Por padrão, isso define um máximo de 300 tokens.

Exemplo 1: Adiciona uma imagem ao contexto do OpenAI para uso com a API de Visão.

ai = openai_add_image(ai, "user", question, image_url) completion = openai_chat_completion(ai) text("@completion.response")

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"__type__": "openai/v1",
"max_tokens": 300,
"messages": [
{
"content": [
{
"text": "Describe this image",
"type": "text"
},
{
"image_url": {
"url": {
"__value__": null,
"error": true,
"message": "Unable to generate URL for given ID"
}
},
"type": "image_url"
}
],
"role": "user"
}
]
}

quando usado com o seguinte contexto:

%{"ai" => %{"__type__" => "openai/v1", "messages" => []}}
card MyCard do
my_var = openai_add_image(ai, "user", "Describe this image", attachment_url(event.message.image.id))

# Quando usado em um trecho de texto, prefixe com um @
my_var = "@openai_add_image(ai, \"user\", \"Describe this image\", attachment_url(event.message.image.id))
"
end

openai_add_image(connection, role, prompt, image_url, max_tokens)

Adiciona uma imagem ao contexto do OpenAI para o papel (role) fornecido, exigindo configurar uma conexão com um modelo compatível com visão.

Permite especificar um número personalizado de tokens.

Exemplo 1: Adiciona uma imagem ao contexto do OpenAI para uso com a API de Visão.

ai = openai_add_image(ai, "user", question, image_url, 150) completion = openai_chat_completion(ai) text("@completion.response")

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"__type__": "openai/v1",
"max_tokens": 150,
"messages": [
{
"content": [
{
"text": "Describe this image",
"type": "text"
},
{
"image_url": {
"url": {
"__value__": null,
"error": true,
"message": "Unable to generate URL for given ID"
}
},
"type": "image_url"
}
],
"role": "user"
}
]
}

quando usado com o seguinte contexto:

%{"ai" => %{"__type__" => "openai/v1", "max_tokens" => nil, "messages" => []}}
card MyCard do
my_var = openai_add_image(ai, "user", "Describe this image", attachment_url(event.message.image.id), 150)

# Quando usado em um trecho de texto, prefixe com um @
my_var = "@openai_add_image(ai, \"user\", \"Describe this image\", attachment_url(event.message.image.id), 150)
"
end

openai_add_message(connection, role, content)

Adiciona uma única mensagem ao contexto do OpenAI para o papel (role) fornecido.

Exemplo 1: Adiciona um único prompt de sistema ao contexto

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"__type__": "openai/v1",
"messages": [
{
"content": "you are a friend
```ly AI",
"role": "system"
}
]
}

quando usado com o seguinte contexto:

%{"ai" => %{"__type__" => "openai/v1", "messages" => []}}
card MyCard do
my_var = openai_add_message(ai, "system", "you are a friend
```ly AI")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@openai_add_message(ai, \"system\", \"you are a friend
```ly AI\")"
end

openai_add_messages(connection, role, messages)

Adiciona um conjunto de mensagens ao contexto do OpenAI para o papel (role) fornecido.

Exemplo 1: Adiciona uma série de prompts de sistema ao contexto

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"__type__": "openai/v1",
"messages": [
{
"content": "you are a friend
```ly AI",
"role": "system"
},
{
"content": "Answer questions as succinctly as possible",
"role": "system"
}
]
}

quando usado com o seguinte contexto:

%{"ai" => %{"__type__" => "openai/v1", "messages" => []}}
card MyCard do
my_var = openai_add_messages(ai, "system", ["you are a friend
```ly AI", "Answer questions as succinctly as possible"])
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@openai_add_messages(ai, \"system\", [\"you are a friend
```ly AI\", \"Answer questions as succinctly as possible\"])"
end

openai_chat_completion(connection)

Exemplo 1: Faz uma chamada HTTP para a API Chat Completion do OpenAI e retorna as respostas geradas.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"error": false,
"response": {
"__value__": "the sentences that were generated.\nby OpenAIs model.",
"combined": [
{
"sentence": "the sentences that were generated.",
"type": "sentence"
},
{
"function": {
"arguments": {
"the function": "arguments"
},
"name": "the-function"
},
"type": "function"
},
{
"sentence": "by OpenAIs model.",
"type": "sentence"
}
],
"functions": [
{
"arguments": {
"the function": "arguments"
},
"name": "the-function"
}
],
"sentences": [
"the sentences that were generated.",
"by OpenAIs model."
]
},
"status": 200
}
card MyCard do
my_var = openai_chat_completion(connection)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@openai_chat_completion(connection)"
end

openai_connect(token, model)

Configura uma conexão com as APIs do OpenAI usando o token fornecido e o modelo. O valor retornado deve ser usado como a conexão para todas as outras funções openai_*.

Exemplo 1: Conectar ao GPT4 com um token de API.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"__type__": "openai/v1",
"functions": [],
"max_tokens": null,
"messages": [],
"model": "gpt-4",
"token": "sk-XXXXX"
}
card MyCard do
my_var = openai_connect("sk-XXXXX", "gpt-4")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@openai_connect(\"sk-XXXXX\", \"gpt-4\")"
end

or(argument1, argument2, argument3)

Retorna true se qualquer argumento for true. Retorna o primeiro valor verdadeiro encontrado ou, caso contrário, false.

Aceita qualquer quantidade de argumentos para testar veracidade.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false quando usado com o seguinte contexto:

%{}
card MyCard do
my_var = b or b
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@or(b, b)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "a" quando usado com o seguinte contexto:

%{"a" => "a", "b" => false}
card MyCard do
my_var = a or b
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@or(a, b)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "bee" quando usado com o seguinte contexto:

%{"a" => false, "b" => "bee"}
card MyCard do
my_var = a or b
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@or(a, b)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = false or false
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@or(false, false)"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = true or true
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@or(true, true)"
end

Exemplo 6: Retorna o primeiro valor que for verdadeiro

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foo".

card MyCard do
my_var = false or "foo"
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@or(false, \"foo\")"
end

Exemplo 7: Retorna true se algum dos valores for true

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = true or false
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@or(true, false)"
end

parse_datevalue(datetime, format)

Analisa datas e horários aleatórios com padrões strftime e retorna um valor DateTime quando corresponder.

Exemplo 1: Tenta analisar um valor de data e retorna nil ao falhar

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Nulo: null.

card MyCard do
my_var = parse_datevalue("👻👻👻👻", "%FT%T%:z")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@parse_datevalue(\"👻👻👻👻\", \"%FT%T%:z\")"
end

Exemplo 2: Analisa um valor de data usando formatação strftime e retorna um DateTime

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2016-02-29T22:25:00Z".

card MyCard do
my_var = parse_datevalue("2016-02-29T22:25:00-00:00", "%FT%T%:z")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@parse_datevalue(\"2016-02-29T22:25:00-00:00\", \"%FT%T%:z\")"
end

parse_float(number)

parse_float(binary)

parse_json(data)

Analisa uma string como JSON

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List com valores Integer, Integer, Integer:

[
1,
2,
3
]
card MyCard do
my_var = parse_json('[1,2,3]')
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@parse_json('[1,2,3]')"
end

percent(float)

Formata um número como uma porcentagem.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "20%" quando usado com o seguinte contexto:

%{"d" => "0.2"}
card MyCard do
my_var = percent(d)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@percent(d)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "20%".

card MyCard do
my_var = percent(0.2)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@percent(0.2)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "20%".

card MyCard do
my_var = percent(2/10)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@percent(2/10)"
end

power(a, b)

Retorna o resultado de um número elevado a uma potência — equivalente ao operador ^.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Float: 8.0.

card MyCard do
my_var = power(2, 3)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@power(2, 3)"
end

proper(binary)

Capitaliza a primeira letra de cada palavra em uma string de texto.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Nulo: null.

card MyCard do
my_var = proper(nil)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@proper(nil)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "Foo Bar".

card MyCard do
my_var = proper("foo bar")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@proper(\"foo bar\")"
end

rand_between(min, max)

Gera um número aleatório entre min e max.

Exemplo 1: Gera um número entre 1 e 10

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3.

card MyCard do
my_var = rand_between(1, 10)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@rand_between(1, 10)"
end

read_digits(binary)

Formata dígitos em texto para leitura em TTS

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = read_digits(nil)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@read_digits(nil)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "plus two seven one".

card MyCard do
my_var = read_digits("+271")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@read_digits(\"+271\")"
end

reduce(enumerable, accumulator, reducer)

Reduz elementos de uma lista aplicando uma função e coletando os resultados em um acumulador.

O primeiro argumento da função lambda é o item da lista, o segundo argumento é o acumulador.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 6.

card MyCard do
my_var = reduce(1..3, 0, & &1 + &2)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@reduce(1..3, 0, & &1 + &2)"
end

regex_capture(binary, pattern)

Captura valores de uma string usando um regex.
Retorna a lista de capturas em uma lista.
Retorna nil se não houver nada para corresponder.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Null: null.

card MyCard do
my_var = regex_capture("testing", "foo(.+)")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@regex_capture(\"testing\", \"foo(.+)\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List com valores String:

[
"ing"
]
card MyCard do
my_var = regex_capture("testing", "test(.+)")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@regex_capture(\"testing\", \"test(.+)\")"
end

regex_named_capture(binary, pattern)

Captura valores nomeados de uma string usando um regex. Diferentemente de regex_capture(), retorna um mapa onde as chaves são os nomes das capturas e os valores são os valores capturados.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map: {}.

card MyCard do
my_var = regex_named_capture("testing", "foo(?P<match>.+)")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@regex_named_capture(\"testing\", \"foo(?P<match>.+)\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"match": "ing"
}
card MyCard do
my_var = regex_named_capture("testing", "test(?P<match>.+)")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@regex_named_capture(\"testing\", \"test(?P<match>.+)\")"
end

reject(enumerable, reject_fun)

Rejeita elementos de uma lista retornando uma nova lista que contém apenas os elementos para os quais reject_fun é verdadeiro.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List com valores String, String:

[
"A",
"C"
]
card MyCard do
my_var = reject(["A", "B", "C", "B"], & &1 == "B")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@reject([\"A\", \"B\", \"C\", \"B\"], & &1 == \"B\")"
end

rem(integer1, integer2)

Retorna o resto da divisão de dois inteiros.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 1.

card MyCard do
my_var = rem(85, 3)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@rem(85, 3)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 0.

card MyCard do
my_var = rem(4, 2)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@rem(4, 2)"
end

remove_emojis(phrase)

Remove emojis de uma string. Substitui por um símbolo em vez de remover completamente para os seguintes emojis: 0️⃣ 1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣ 8️⃣ 9️⃣ #️⃣ *️⃣ ©️ ®️

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "1 2 3 Turn loves you ".

card MyCard do
my_var = remove_emojis("1️⃣ 2️⃣ 3️⃣ Turn loves you ❤️")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@remove_emojis(\"1️⃣ 2️⃣ 3️⃣ Turn loves you ❤️\")"
end

remove_first_word(binary)

Remove a primeira palavra do texto fornecido. O texto restante ficará inalterado.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = remove_first_word(nil, "-")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@remove_first_word(nil, \"-\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = remove_first_word(nil)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@remove_first_word(nil)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "bar".

card MyCard do
my_var = remove_first_word("foo-bar", "-")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@remove_first_word(\"foo-bar\", \"-\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "bar".

card MyCard do
my_var = remove_first_word("foo bar")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@remove_first_word(\"foo bar\")"
end

remove_first_word(binary, separator)

remove_last_word(binary)

Exemplo 1: Remove a última palavra de uma lista de palavras, usando espaços como separador entre as palavras

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foo".

card MyCard do
my_var = remove_last_word("foo bar")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@remove_last_word(\"foo bar\")"
end

Exemplo 2: Remove a última palavra de uma lista de palavras, usando o separador especificado

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foo".

card MyCard do
my_var = remove_last_word("foo-bar", "-")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@remove_last_word(\"foo-bar\", \"-\")"
end

remove_last_word(binary, separator)

remove_numbers(phrase)

Remove números

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "counting down ".

card MyCard do
my_var = remove_numbers("counting down 3 2 1")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@remove_numbers(\"counting down 3 2 1\")"
end

remove_punc(phrase)

Remove pontuação sem substituição

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello world".

card MyCard do
my_var = remove_punc("hello? world!")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@remove_punc(\"hello? world!\")"
end

replace_punc(phrase)

Substitui sinais de pontuação por espaços

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello world ".

card MyCard do
my_var = replace_punc("hello? world!")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@replace_punc(\"hello? world!\")"
end

rept(value, amount)

Repete o texto um determinado número de vezes

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Nulo: null.

card MyCard do
my_var = rept(nil, 10)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@rept(nil, 10)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "**********".

card MyCard do
my_var = rept("*", 10)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@rept(\"*\", 10)"
end

right(binary, size)

Retorna os últimos caracteres em uma string de texto. Isso é seguro para Unicode.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Nulo: null.

card MyCard do
my_var = right(nil, 3)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@right(nil, 3)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "ту главы Госдепа США".

card MyCard do
my_var = right("Умерла Мадлен Олбрайт - первая женщина на посту главы Госдепа США", 20)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@right(\"Умерла Мадлен Олбрайт - первая женщина na посту главы Госдепа США\", 20)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "ing".

card MyCard do
my_var = right("testing", 3)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@right(\"testing\", 3)"
end

round(value)

Exemplo 1: A função ROUND arredonda um número para um número específico de dígitos. Por exemplo, se a célula A1 contiver 23.7825 e você quiser arredondar esse valor para zero casas decimais, pode usar ROUND(23.7825)

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "24".

card MyCard do
my_var = ROUND(23.7825)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@ROUND(23.7825)"
end

Exemplo 2: A função ROUND arredonda um número para um número específico de dígitos. Por exemplo, se a célula A1 contiver 23.7825 e você quiser arredondar esse valor para duas casas decimais, pode usar ROUND(23.7825, 2)

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "23.78".

card MyCard do
my_var = ROUND(23.7825, 2)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@ROUND(23.7825, 2)"
end

round(value, places)

scrub_message_by_id(id)

Apaga permanentemente uma mensagem pelo ID fornecido.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • type do tipo String.
card MyCard do
my_var = scrub_message_by_id(event.message.id)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@scrub_message_by_id(event.message.id)"
end

scrub_session_messages()

Apaga permanentemente todas as mensagens processadas durante a sessão atual.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão: true com os seguintes campos:

  • type do tipo String.
card MyCard do
my_var = scrub_session_messages()
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@scrub_session_messages()"
end

second(date)

Retorna apenas o segundo de um datetime (0 a 59)

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 59 quando usado com o seguinte contexto:

%{"now" => ~U[2024-09-26 12:17:59.945601Z]}
card MyCard do
my_var = second(now)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@second(now)"
end

sort_by(enumerable, sorter_fun)

Ordena uma lista de valores usando o resultado da função sorter

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List com valores String, String, String:

[
"b",
"a",
"c"
]
card MyCard do
my_var = sort_by(["a", "b", "c"], &rand_between(1, 5))
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@sort_by([\"a\", \"b\", \"c\"], &rand_between(1, 5))"
end

split(binary)

Divide uma string em um array usando o padrão como separador. Por padrão, divide a string usando um espaço.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List com valores String, String, String:

[
"t",
"sting som",
"thing"
]
card MyCard do
my_var = split("testing something", "e")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@split(\"testing something\", \"e\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List com valores String, String:

[
"testing",
"something"
]
card MyCard do
my_var = split("testing something")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@split(\"testing something\")"
end

split(binary, pattern)

substitute(subject, pattern, replacement)

Substitui new_text por old_text em uma string de texto. Se instance_num for fornecido, somente essa instância será substituída.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Nulo: null.

card MyCard do
my_var = substitute(nil, "can't", "can do")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@substitute(nil, \"can't\", \"can do\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "I can do".

card MyCard do
my_var = substitute("I can't", "can't", "can do")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@substitute(\"I can't\", \"can't\", \"can do\")"
end

sum(argument1, argument2, argument3)

Retorna a soma de todos os argumentos, equivalente ao operador +.

You have @SUM(contact.reports, contact.forms) reports and forms

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 6.

card MyCard do
my_var = sum(1, 2, 3)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@sum(1, 2, 3)"
end

switch(argument1, argument2, argument3)

Exemplo 1: A função SWITCH avalia um valor (chamado de expressão) em relação a uma lista de valores e retorna o resultado correspondente ao primeiro valor correspondente. Se não houver correspondência, um valor padrão opcional (o último na lista, se a lista for ímpar) poderá ser retornado.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "No match".

card MyCard do
my_var = SWITCH(5, 1, "Sunday", 2, "Monday", 3, "Tuesday", "No match")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@SWITCH(5, 1, \"Sunday\", 2, \"Monday\", 3, \"Tuesday\", \"No match\")"
end

Exemplo 2: A função SWITCH avalia um valor (chamado de expressão) em relação a uma lista de valores e retorna o resultado correspondente ao primeiro valor correspondente. Se não houver correspondência, um valor padrão opcional (o último na lista, se a lista for ímpar) poderá ser retornado.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "Sunday".

card MyCard do
my_var = SWITCH(1, 1, "Sunday", 2, "Monday", 3, "Tuesday", "No match")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@SWITCH(1, 1, \"Sunday\", 2, \"Monday\", 3, \"Tuesday\", \"No match\")"
end

time(hours, minutes, seconds)

Define um valor de hora que pode ser usado em cálculos de tempo

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Time: "12:13:14".

card MyCard do
my_var = time(12, 13, 14)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@time(12, 13, 14)"
end

timevalue(expression)

Converte uma hora armazenada em texto em uma hora real

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Time: "02:30:55".

card MyCard do
my_var = timevalue("2:30:55")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@timevalue(\"2:30:55\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Time: "02:30:00".

card MyCard do
my_var = timevalue("2:30")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@timevalue(\"2:30\")"
end

today()

Retorna a data atual

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Date: "2024-10-08".

card MyCard do
my_var = today()
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@today()"
end

unichar(code)

Retorna o caractere unicode especificado por um número

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "é".

card MyCard do
my_var = unichar(233)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@unichar(233)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "A".

card MyCard do
my_var = unichar(65)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@unichar(65)"
end

unicode(letter)

Retorna um código numérico para o primeiro caractere em uma string de texto

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 233.

card MyCard do
my_var = unicode("é")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@unicode(\"é\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 65.

card MyCard do
my_var = unicode("A")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@unicode(\"A\")"
end

uniq(enumerable)

Remove valores duplicados de uma lista.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List com valores String, String, String:

[ "A", "B", "C" ]

card MyCard do
my_var = uniq(["A", "B", "C", "B"])
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@uniq([\"A\", \"B\", \"C\", \"B\"])"
end

upper(binary)

Converte uma string de texto em maiúsculas.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Nulo: null.

card MyCard do
my_var = upper(nil)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@upper(nil)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "FOO".

card MyCard do
my_var = upper("foo")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@upper(\"foo\")"
end

url_decode(thing)

Faz a decodificação de uma expressão em URL.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello world".

card MyCard do
my_var = url_decode("hello%20world")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@url_decode(\"hello%20world\")"
end

url_encode(thing)

Faz a codificação de uma expressão em URL.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello%20world".

card MyCard do
my_var = url_encode("hello world")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@url_encode(\"hello world\")"
end

weekday(date)

Retorna o dia da semana de uma data (1 para domingo até 7 para sábado).

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3 quando usado com o seguinte contexto:

%{"today" => ~D[2022-11-01]}
card MyCard do
my_var = weekday(today)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@weekday(today)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 1 quando usado com o seguinte contexto:

%{"today" => ~D[2022-11-06]}
card MyCard do
my_var = weekday(today)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@weekday(today)"
end

with_index(enumerable)

Envolve cada item da lista em uma nova lista com o item em si e seu índice na lista original.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List com valores List com valores String, Integer, List com valores String, Integer, List com valores String, Integer:

[
[
"A",
0
],
[
"B",
1
],
[
"C",
2
]
]
card MyCard do
my_var = with_index(["A", "B", "C"])
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@with_index([\"A\", \"B\", \"C\"])"
end

word(binary, n)

Extrai a n-ésima palavra da string de texto fornecida. Se stop for um número negativo, ele é interpretado como contando de trás para frente a partir do final do texto. Se by_spaces for especificado e for true, então a função divide o texto em palavras apenas por espaços. Caso contrário, o texto é dividido também por caracteres de pontuação.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = word(nil, 1)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@word(nil, 1)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "boy".

card MyCard do
my_var = word("hello cow-boy", -1)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@word(\"hello cow-boy\", -1)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "cow-boy".

card MyCard do
my_var = word("hello cow-boy", 2, true)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@word(\"hello cow-boy\", 2, true)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "cow".

card MyCard do
my_var = word("hello cow-boy", 2)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@word(\"hello cow-boy\", 2)"
end

word(binary, n, by_spaces)

word_count(binary)

Retorna o número de palavras na string de texto fornecida. Se by_spaces for especificado e for true, então a função divide o texto em palavras apenas por espaços. Caso contrário, o texto também é dividido por caracteres de pontuação.

You entered @word_count("one two three") words You entered 3 words

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 0.

card MyCard do
my_var = word_count(nil)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@word_count(nil)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 2.

card MyCard do
my_var = word_count("hello cow-boy", true)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@word_count(\"hello cow-boy\", true)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3.

card MyCard do
my_var = word_count("hello cow-boy")
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@word_count(\"hello cow-boy\")"
end

word_count(binary, by_spaces)

word_slice(binary, start)

Extrai um substring das palavras começando em start, até (mas não incluindo) stop. Se stop não for fornecido, então o substring conterá todas as palavras de start até o final do texto. Se stop for um número negativo, então ele é interpretado como contando de trás para frente a partir do final do texto. Se by_spaces for especificado e for true, então a função divide o texto em palavras apenas por espaços. Caso contrário, o texto também é dividido por caracteres de pontuação.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = word_slice(nil, -1)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@word_slice(nil, -1)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "fun".

card MyCard do
my_var = word_slice("FLOIP expressions are fun", -1)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@word_slice(\"FLOIP expressions are fun\", -1)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "FLOIP expressions".

card MyCard do
my_var = word_slice("FLOIP expressions are fun", 1, -2)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@word_slice(\"FLOIP expressions are fun\", 1, -2)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "expressions are fun".

card MyCard do
my_var = word_slice("FLOIP expressions are fun", 2)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@word_slice(\"FLOIP expressions are fun\", 2)"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "expressions are".

card MyCard do
my_var = word_slice("FLOIP expressions are fun", 2, 4)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@word_slice(\"FLOIP expressions are fun\", 2, 4)"
end

word_slice(binary, start, stop)

word_slice(binary, start, stop, by_spaces)

year(date)

Retorna apenas o ano de uma data.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 2024 quando usado com o seguinte contexto:

%{"now" => ~U[2024-09-26 12:17:59.948034Z]}
card MyCard do
my_var = year(now)
# Quando usado em um trecho de texto, prefixe com um @
my_var = "@year(now)"
end