2017-01-11 1 views
2

Il est nécessaire d'envoyer une alerte à la discussion après le démarrage d'une minuterie.Déclenchement d'un événement Api.ai via un serveur externe

Scénario:

  • Remind-moi d'appeler Bob en 5 minutes
  • OK, vous rappellera en 5 minutes

Après ce serveur d'exécution de dialogue démarre une minuterie et quand le temps passe, l'événement doit être déclenché. Mais lors de l'utilisation de l'événement api dans API.ai, aucun message ne sera déclenché dans la fenêtre de discussion créée à l'aide de l'API JS.

Existe-t-il un autre moyen d'y parvenir?

Répondre

0

Ceci est très possible. Dans les intentions que vous avez configurées sur API.ai, utilisez @ sys.time pour que "appelez-moi dans 5 minutes" renvoie une heure comme 14:05:00. Vous pouvez utiliser ce paramètre pour démarrer une minuterie sur votre script JS et envoyer le message lorsque le minuteur expire.

+0

Habituellement, les événements sont déclenchés côté utilisateur et non côté serveur? et si j'utilise le lien de démonstration API.ai pour héberger ma fenêtre de discussion, comment est-ce possible? – Shenal

+1

Oui, le client déclenche l'événement - 'appelez-moi dans cinq minutes' puis API.ai renvoie une heure - 16:42:16 comme paramètre si vous l'avez configuré. Ensuite, vous avez besoin d'une sorte de logique externe qui interprète cette heure et la convertit en un objet date, puis dispose d'un code qui le déclenchera au bon moment. Je ne pense pas que les fonctions temporelles asynchrones puissent fonctionner sans une sorte de logique de serveur, donc dans votre cas, cela ne fonctionnera pas. Si vous cherchez une solution simple, consultez Node-RED. –