Symphony上的消息监听器

时间:2018-01-08 04:09:41

标签: python chatbot

我正在开发一个将在Symphony消息传递环境中实现的聊天机器人:https://rest-api.symphony.com

我已经实现了发布和阅读消息所需的方法。但是,我坚持执行机器人“监听器”,因为在Symphony中似乎没有明显的方法可以做到这一点。理想情况下,当“新消息”事件发生时,我会让他们调用我的API,所以我可以立即处理它。

现在我的解决方案是每隔X秒调用一次API并检查是否有新消息。这显然不是很有效.... 任何人都知道如何改进这个过程?

谢谢:)

1 个答案:

答案 0 :(得分:0)

在没有轮询的情况下读取消息的最佳方法是使用DataStream。您可以在此处找到适当的文档:

https://rest-api.symphony.com/docs/create-messagesevents-stream-v4 https://YOUR_POD_SUBDOMAIN.symphony.com/agent/v4/datafeed/:id/read

请注意,如果没有消息到达,则创建的每个数据流都会有30秒超时。因此,每次达到超时时,都需要实现一个递归函数来重新创建数据流。

希望这有帮助。