A opção Personalizar filtros permite personalizar e definir como a ação será executada. Isso pode ser feito carregando um arquivo de script definido anteriormente ou gravando um novo.
O MarkVision Messenger fornece uma linguagem de script muito simples para definir filtros. Segue uma lista completa das instruções e condições que podem ser usadas para gravar um filtro personalizado:
Instruções:
Condições:
Como exemplo, vejamos a representação do script do filtro incorporado Disparar ativo:
IfThen (EventDataIs("estado", "ATIVO"))
Distribute
O efeito da condição EventDataIs
é perguntar ao evento o valor da palavra-chave event.state. Essa é a mesma palavra-chave que você pode inserir nas linhas de comandos e nas mensagens de e-mail. A primeira instrução, uma IfThen
, executa a instrução seguinte se a condição EventDataIs ("estado", "ATIVO")
for verdadeira. Uma condição EventDataIs
é verdadeira se o valor da palavra-chave (estado
) coincide com o valor fornecido (ATIVO
). A instrução seguinte, Distribute
, faz o comando ser executado.
Agora, vejamos o script a ser gravado quando o filtro Disparar ativo está definido para uma espera de 30 segundos:
{
WaitUntil(TimeIsAfter(30))
IfThen(EventDataIs("estado", "ATIVO"))
Distribute
}
As chaves ({}
) são usadas para agrupar instruções em uma lista. Elas não foram necessárias no exemplo anterior porque a instrução IfThen
e a seguinte instrução foram tratadas como uma única instrução.
A instruçãoWaitUntil
faz o script pausar a execução até que a condição seja verdadeira. Verifica se a condição TimeIsAfter
é verdadeira somente depois de decorridos os segundos especificados. Decorridos os 30 segundos, se o evento ainda estiver Ativo, a instrução Distribute
executará o comando.
A representação de script do filtro incorporado Disparar ativos ou limpos é uma única instrução Distribute
. Digamos, por exemplo, que você tenha selecionado Bandeja para papel ausente como evento, mas só deseje executar o comando quando o evento ocorrer para a Bandeja 3. Além disso, você deseja aguardar 20 minutos antes de executar o comando e executá-lo novamente no mesmo intervalo de 20 minutos se a condição permanecer Ativa. Vejamos o script a ser gravado para este filtro:
While (And(EventDataIs("estado", "ATIVO"), EventDataIs("local", "Bandeja 3")))
Neste exemplo, And
foi usado para criar uma condição composta. O loop While
só é digitado ou repetido se o evento estiver ativo para a Bandeja 3. O código do loop é o mesmo que o do filtro Disparar ativos, exceto a condição TimeIsAfter
que está definida para esperar 1.200 segundos (20 minutos).