我有一个具有Bot用户的Slack应用,当用户打开Bot用户的应用的Direct Message窗口时,我想通过Slack Events API(使用@slack/events-api
官方NPM软件包)得到通知( UC:向他发送欢迎消息。
我需要im_open
事件,但某种程度上它没有触发。
我在应用的设置中对其进行了配置:
然后定义以下代码:
const { createEventAdapter } = require('@slack/events-api');
const slackEvents = createEventAdapter('some-secret);
slackEvents.on('im_open', async (event) => {
console.log(`Received a im_open event`);
});
const port = 5000;
slackEvents.start(port).then(() => {
console.log(`server listening on port ${port}`);
});
但是它永远不会触发。
我有app_mention
和message
事件的侦听器,它们工作正常,但不知何故。
知道为什么吗?
答案 0 :(得分:1)
我认为您误解了触发im.open
事件的原因。
它是在首次建立新的直接消息渠道时触发的,而不是在有人单击现有信道以查看其消息时触发。默认情况下,应用程序通道是在安装应用程序时创建的。您可能看不到它被触发,因为它是在应用程序的事件处理程序可以激活之前创建的。
所以这行不通,据我所知,也没有替代解决方案来解决您的问题。松弛事件只是不能在用户界面级别上工作。