我试图在我的应用程序中接收presentation_change事件,以了解用户何时离线或长时间离开。
Slack不再使用Events API进行状态更改,并且根据this,您必须通过网络钩子发送一个present_sub JSON才能开始侦听用户状态。
我找不到使用Botkit通过Webhook发送数据的正确方法。
它涉及使用机器人对象还是控制器对象?我很困惑。
这就是我一直在尝试的事情:
const presenceBot = controller.spawn({incoming_webhook: {
url: process.env.SLACK_WEBHOOK
}});
controller.on('presence_change', function(bot, message) {
console.log("Got a controller presecne change");
})
let userListeners = {
"type": "presence_sub",
"ids": [
"<userid>"
]
};
presenceBot.sendWebhook(userListeners, function(err, res) {
console.log(err);
console.log(res);
});
我知道这不是正确的方法-这只是我能找到的最接近的东西。
使用Botkit将JSON发送到RTM Webhook的正确方法是什么?