Économisez jusqu'à 20 % avec nos plans annuels →

Système d'actions Tommy

Tommy Actions est un système basé sur le principe IFTTT qui utilise les objets suivants : Tasks , Triggers , Conditions et Activities .
Chaque mini programme peut définir un certain nombre d'actions pouvant être utilisées pour exécuter du code dynamique et réaliser des tâches arbitraires qui mettent à jour l'interface en temps réel.

Tasks

Les tâches (Tasks) exécutent un bloc de code à intervalles planifiés et déclenchent un Trigger lorsque des données sont disponibles ou qu'une condition interne est remplie. Le code exécuté par les tâches est totalement indépendant de l'implémentation, mais les données produites par le script doivent être dans un format que Tommy comprend afin que le système d'actions puisse exécuter le bon Trigger.

Triggers

Les déclencheurs (Triggers) sont exécutés par une tâche (Task) et transmis au système d'actions pour être traités par une activité (Activity).

Conditions

Les conditions (Conditions) sont des processeurs optionnels qui vérifient les données du Trigger afin de déterminer si une activité (Activity) peut être exécutée. Les conditions utilisent des opérateurs conditionnels tels que greater_than, less_than ou equal_to pour traiter les données du Trigger.

Activities

Les activités (Activities) traitent les données du Trigger et en font quelque chose. Cela peut inclure l'envoi d'un e-mail, la notification d'un utilisateur, ou à peu près tout ce que vous pouvez imaginer avec nos API internes ou celles de tiers externes.

Définir une action

La manière la plus simple d'apprendre à définir une action est de faire de la rétro-ingénierie sur ce qui a déjà été construit. Prenez par exemple le mini programme Poke, qui définit une action exécutant une tâche (poke.tasks.default), un déclencheur (poke.triggers.default) et une activité (_chat.activities.send_message_).

Alors, que se passe-t-il réellement ici ? C'est assez simple une fois que vous comprenez la syntaxe.

Le paramètre timer indique au système d'actions d'exécuter la tâche spécifiée tous les jours à 9 h.

Dans notre cas, la tâche exécutée est poke.tasks.default, dont l'unique fonction est de déclencher le trigger poke.triggers.default. Ces tâches et déclencheurs sont tous deux définis dans le fichier manifest.yml, dont le contenu complet peut être consulté au sein du SDK.

Notre définition d'action spécifie chat.activities.send_message comme activité à exécuter lorsque le déclencheur poke.triggers.default est déclenché. Comme vous l'avez peut-être deviné à partir du préfixe chat. sur le paramètre d'activité, l'activité chat.activities.send_message est en réalité définie de manière externe dans Tommy chat, et le seul but de cette activité est d'envoyer un message de chat lorsqu'elle est exécutée. C'est ainsi que vous référencez les tâches, déclencheurs et activités d'une extension externe lors de la programmation de vos propres mini programmes. Notez que si vous référencez des éléments externes, vous devez alors les ajouter à la liste des dépendances.

L'autre point très important à mentionner est le paramètre mappings. Celui-ci décrit comment l'activité consommera les données du déclencheur. Dans notre cas, le déclencheur prend simplement un paramètre message, et notre déclencheur produit également un paramètre message ; nous ne faisons donc que mapper le paramètre message du déclencheur avec l'activité.