【发布时间】:2016-04-27 18:00:00
【问题描述】:
我正在构建一个 Slack 机器人,使用第三方服务来处理基于输入的响应,而不仅仅是将它们硬编码到机器人中。该服务的 API 需要一个客户端 ID 和一个对话 ID 来获取响应。我发现每次 Slack 机器人收到消息时,它都会创建一个新的消息对象,因此无法将 clientID 和会话 ID 保留在消息对象中并保持松弛状态。
rtm.on(RTM_EVENTS.MESSAGE, function(message // <-- new object each time the bot hears a message){
rtm.sendMessage('hello', message.channel);
});
如此缩短,有没有人知道一种方法来保持单个用户和机器人之间的对话,同时保持某种类型的变量来保存客户端和对话 ID?
【问题讨论】:
-
您可以使用 RTM 旋转将接收传入消息的应用程序。然后在该应用程序中,您将拥有一个数据库,您将在其中保留
conversation_id和client_id并在调用第三方 API 之前查询您的数据库。到目前为止,我是否遵循您的目标?