我正在开发一个将在Symphony消息传递环境中实现的聊天机器人:https://rest-api.symphony.com
我已经实现了发布和阅读消息所需的方法。但是,我被困在机器人"侦听器"的实现上,因为在 Symphony 中似乎没有明显的方法来做到这一点。理想情况下,我会让他们在发生"新消息"事件时调用我的 API,这样我就可以立即处理它。
目前,我的解决方案是每X秒调用一次他们的API,并检查是否有任何新消息。这显然不是很有效。有人知道如何改进这个过程吗?
谢谢:)
在不轮询的情况下读取消息的最佳方法是使用 DataStream。您可以在此处找到正确的文档:
https://rest-api.symphony.com/docs/create-messagesevents-stream-v4https://YOUR_POD_SUBDOMAIN.symphony.com/agent/v4/datafeed/:id/read
请注意,如果没有消息到达,创建的每个数据流都有 30 秒的超时时间。因此,您需要实现一个递归函数,以便在每次达到超时时重新创建数据流。
希望这有帮助。
交响乐聊天