0

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

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

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

谢谢 :)

4

1 回答 1

0

在不进行轮询的情况下读取消息的最佳方法是使用 DataStream。您可以在此处找到正确的文档:

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

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

希望这可以帮助。

于 2018-03-01T11:28:12.577 回答