我正在使用Api.ai制作一个聊天机器人来获取健康建议。
我想每天向用户发送推荐的锻炼计划。但Api.ai中的意图只能在用户发言时做出响应。
我应该通过使用事件来实现吗?但是,我如何触发一个事件,使其每天或每隔n小时向用户发送消息?或者还有其他的解决方案吗?
谢谢!!
发布于 2017-02-21 13:37:22
Facebook去年通过标准的消息权限扼杀了这一功能。现在,您可以通过24hrs to respond连接到用户发起的消息。有几个例外,包括:
24hrs
之外的
看起来像是Facebook推出了订阅消息,这需要额外的Facebook权限,需要添加到你的应用程序review submission中。
此外,API.ai会话也会过期。
默认情况下,上下文在激活后的五个请求或十分钟后过期。更新上下文的意图将重置计数器和时钟,以给出额外的5个请求和10分钟。
您可以在每个上下文的设置中更改上下文寿命。
https://docs.api.ai/docs/concept-contexts#output-contexts
虽然改变生命周期可能只会增加它的生命周期的请求数量,因为没有提到增加时间。
TL;DR:两个平台上的限制和限制意味着这可能是不可能的。
发布于 2017-02-21 23:04:25
这通常取决于您为API.AI启用的集成类型。据我所知,API.AI中没有任何东西允许cron作业发送一些通知。
在我们的场景中,我们使用Slack + API.AI,Slack提供一个传入的Webhook通知来通知整个通道或特定的用户。但同样,此通知代码在API.AI之外运行
发布于 2017-08-01 19:27:05
你需要为用户提供订阅和取消订阅推送消息的能力,并符合Facebook提供的三个类别中的一个,才能获得Messaging_subscription批准。
如果你只是想测试的话,是否完成了批准。您将设置以下内容:
具有指定操作的API.AI订阅和取消订阅意图
该操作将使用FBID更新表,这样您就可以知道谁想接收消息,谁不想接收消息。
在高层次上,您可以使用应用程序的页面令牌创建一个服务,以使用某种异步任务\作业队列向用户广播。我们使用https://www.npmjs.com/package/node-celery
https://stackoverflow.com/questions/42356034
复制相似问题