Economize até 20% com nossos planos anuais →

Sistema de Ações do Tommy

O Tommy Actions é um sistema baseado em IFTTT que usa os seguintes objetos: Tasks , Triggers , Conditions e Activities .
Cada mini programa pode definir uma série de Actions que podem ser usadas para executar código dinâmico e realizar tarefas arbitrárias que atualizam a interface em tempo real

Tasks

As Tasks executam um bloco de código em intervalos programados e disparam um Trigger quando os dados estão disponíveis ou uma condição interna é atendida. O código executado pelas tasks é completamente independente da implementação, mas os dados gerados pelo script devem estar em um formato que o Tommy compreenda, para que o sistema de Actions possa executar o Trigger correto.

Triggers

Os Triggers são executados por uma Task e passados para o sistema de Actions para serem processados por uma Activity

Conditions

As Conditions são processadores opcionais que verificam os dados do Trigger para determinar se uma Activity pode ser executada. As Conditions usam operadores condicionais como greater_than, less_than ou equal_to para processar os dados do Trigger.

Activities

As Activities lidam com os dados do Trigger e fazem algo com eles. Isso pode incluir enviar um e-mail, notificar um usuário ou praticamente qualquer coisa que você possa imaginar com nossas APIs internas ou de terceiros externos.

Definindo uma Action

A maneira mais fácil de aprender a definir uma action é fazer a engenharia reversa do que já foi construído. Tome como exemplo o mini programa Poke, que define uma action que executa uma Task (poke.tasks.default), um Trigger (poke.triggers.default) e uma Activity (_chat.activities.send_message_).

Então, o que está realmente acontecendo aqui? É bastante simples depois que você entende a sintaxe.

O parâmetro timer diz ao sistema de actions para executar a task especificada todos os dias às 9h.

No nosso caso, a task sendo executada é poke.tasks.default, cuja única função é disparar o trigger poke.triggers.default. Tanto essas tasks quanto os triggers são definidos no arquivo manifest.yml, cujo conteúdo completo pode ser visto dentro do SDK.

Nossa definição de action especifica chat.activities.send_message como a activity a ser executada quando o trigger poke.triggers.default é disparado. Como você deve ter adivinhado pelo prefixo chat. no parâmetro activity, a activity chat.activities.send_message é, na verdade, definida externamente no Tommy chat, e o único propósito da activity é enviar uma mensagem de chat quando executada. É assim que você referencia as tasks, triggers e activities de um complemento externo ao programar seus próprios mini programas. Observe que, se você referenciar itens externos, então deverá adicioná-los à lista de dependências.

A outra coisa muito importante a mencionar é o parâmetro mappings. Ele descreve como a activity consumirá os dados do trigger. No nosso caso, o trigger apenas recebe um parâmetro message simples, e nosso trigger também gera um parâmetro message, então tudo o que estamos fazendo é mapear o parâmetro message do trigger com a activity.