我正在尝试在我的应用中接收presence_change事件,以便了解用户何时下线或已离开很长时间 .
Slack不再使用Events API进行状态更改,并且根据this,您必须通过webhook发送presence_sub JSON才能开始监听用户状态 .
我找不到使用Botkit通过webhook发送数据的正确方法 .
它是否涉及使用bot对象或控制器对象?我糊涂了 .
这是我一直在努力做的事情:
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的正确方法?