最近我一直在使用slack API,我想出了一个演示项目,其中有某种聊天小部件,在其中的 header 下拉列表中列表(通过channels.list API调用),通过选择其中之一,将调用channels.history填充小部件正文,并在下方的页脚下方填充文本框和发送按钮以将新消息发布到松弛状态。现在,要使小部件的主体保持最新状态,我)我必须定期进行channels.history rest调用(如果有人在SLACK应用程序上发送消息) ii)当用户从此小部件的文本框中发送消息时,我打了个电话。
我现在的问题是:我如何跳过进行此定期调用(因为我得到429警告),而不是实现任何会触发channel.history调用的逻辑,只有当新消息到达松弛侧而不是到达时才触发定期地。还是有更好的方法做到这一点?
答案 0 :(得分:2)
在第三方应用程序中保持频道最新消息的一种方法是使用Events API。您订阅了messages event,每当发布新消息时,Slack都会向您发送请求,其中包括完整的消息。这也适用于“复杂”消息。
答案 1 :(得分:1)
我不是100%熟悉Slack API,但是我发现了这一点:real time messaging APIs。
由于它使用websocket,因此我假设您可以连接并接收所有发出的消息,而不必定期请求该信息。不过,您必须更改您的应用程序才能使用websockets来进行定期的HTTP调用。