基于 node.js 构建的直接消息自定义 slack 机器人

Direct Messaging custom slack bot built on node.js

我使用 node.js 中的 slack/bots api 构建了一个 slack 机器人:https://slack.dev/bolt-js/tutorial/getting-started

目前,当我在为使用 webhook 设置的频道中键入 <bot> help 时,它工作正常。我正在尝试使用 app.event('app_mention',...) 方法在 DM 中使用机器人 运行 那些相同的命令,但它不起作用。它就像消息由于某种原因没有在机器人的 DM 中注册,但它在 public 频道中工作。下面的代码片段:

app.event('app_mention', async ({ event, client}) => {
    console.log(event);
    const text = event.text;
    const parentMessageId = event.ts;
    const eventChannel = event.channel;
    if (text.includes("help")) {
        console.log(event);
        try {
            await client.chat.postMessage({
                channel: eventChannel,
                text: helpMessage,
                thread_ts: parentMessageId
            });
        } catch (err) {
            console.error(err);
        }

我也应该正确设置权限。我基本上拥有可以为机器人添加的所有权限

app_mention api 的文档特别提到此事件不适用于 DM。

Messages sent to your app in direct message conversations are not dispatched via app_mention, whether the app is explicitly mentioned or otherwise. Subscribe to message.im events to receive messages directed to your bot user in direct message conversations.

在此处查看:https://api.slack.com/events/app_mention