我有一个拥有Bot用户的Slack应用程序,当用户打开应用程序的Bot用户的直接消息窗口时,我想通过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
事件的听众工作正常,但这个不知何故。
知道为什么吗?
我想你误解了引发im.open
事件的原因。
它在第一次建立新的直接消息通道时触发,而不是在有人点击现有通道以查看其消息时触发。默认情况下,在安装应用程序时会创建应用程序频道。您可能看不到它被触发,因为它是在应用程序的事件处理程序处于活动状态之前创建的。
所以这不起作用,据我所知,也没有替代解决方案来解决你的问题。 Slack事件只是不适用于UI级别。