gpt4 book ai didi

javascript - 无法使用松弛 bolt 检测多用户选择的 Action

转载 作者:行者123 更新时间:2023-11-30 19:04:06 36 4
gpt4 key购买 nike

下面是一个简单的 node slack 应用程序,它向用户显示内置的 multi user select block 元素。我想在用户单击输入中的提交按钮时处理操作,因此我在 block 中设置了 action_id 并根据文档中的示例添加了一个操作监听器。

但是, Action 没有被触发; ngrok 正在显示传入的 /slack/actions 请求但返回 404。

我在这里错过了什么?

const { App } = require('@slack/bolt');

const app = new App({
signingSecret: process.env.SLACK_SIGNING_SECRET,
token: process.env.SLACK_BOT_TOKEN,
});

app.event('app_home_opened', ({ event, say }) => {
say(`Hi <@${event.user}>!`);

const blocks = [{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Pick one or more items from the list"
},
"accessory": {
"type": "multi_users_select",
"action_id": "test_action",
"placeholder": {
"type": "plain_text",
"text": "Select items"
},
}
}];

say({ blocks });
});

app.action('test_action', async(req, res) => {
console.log(req);
console.log(res);
});

app.error(error => {
console.error(error);
});

(async () => {
await app.start(process.env.PORT || 3000);
})();

最佳答案

所以我通过查看 receiver 找到了解决方案源代码。

据我所知,这在任何地方都没有记录,但如果你想为事件和 Action 使用单独的 url,你必须自己指定它们:

const app = new App({
signingSecret: process.env.SLACK_SIGNING_SECRET,
token: process.env.SLACK_BOT_TOKEN,
endpoints: {
events: '/slack/events',
actions: '/slack/actions'
},
});

关于javascript - 无法使用松弛 bolt 检测多用户选择的 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59175223/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com