当用户与我的应用程序机器人用户打开直接消息 window 时收到通知

Get notified when user open direct message window with my app bot user

我有一个有机器人用户的 Slack 应用程序,我想在用户打开应用程序的直接消息时通过 Slack 事件 API(使用 @slack/events-api 官方 NPM 包)得到通知window 的 Bot 用户(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_mentionmessage 事件的侦听器,它们工作正常,但这个却不正常。

知道为什么吗?

我认为您误解了触发 im.open 事件的原因。

它在首次建立新的直接消息频道时触发,而不是在有人单击现有频道以查看其消息时触发。应用程序频道是在应用程序安装期间默认创建的。您可能看不到它被触发,因为它是在您的应用程序的事件处理程序可以激活之前创建的。

所以这行不通,据我所知,您的问题也没有其他解决方案。 Slack 事件并非设计用于 UI 级别。