gpt4 book ai didi

node.js - Slack 机器人无法通过 chat.postMessage 将消息发送到受限的常规 channel

转载 作者:IT老高 更新时间:2023-10-28 23:11:18 24 4
gpt4 key购买 nike

这是我第一次尝试创建 Slack 机器人,我正在关注 template code言下之意,我没有做任何更改,只是在故障上重新混合,正确复制粘贴了身份验证 token ,一切正常。直到我将#general channel 限制为 Full Member 用户。

这是我在故障日志中看到的错误。

PostMessage 错误:restricted_action

除了 bot 之外,我还需要设置其他范围吗? enter image description here

这里是工作区用户权限,我是这个工作区的所有者。 Workspace User Permissions

代码如下:

const postAnnouncementToChannel = (user, announcement) => {
const { title, details, channel } = announcement;

let announcementData = {
token: process.env.SLACK_ACCESS_TOKEN,
channel: channel,
text: `:loudspeaker: Announcement from: <@${user}>`,
attachments: JSON.stringify([
{
title: title,
text: details,
footer: 'DM me to make announcements.'
}
])
};
send(announcementData, user);
}


const send = async(data) => {
data.as_user = true; // send DM as a bot, not Slackbot
const result = await axios.post(`${apiUrl}/chat.postMessage`, qs.stringify(data))
try {
if(result.data.error) console.log(`PostMessage Error: ${result.data.error}`);
} catch(err) {
console.log(err);
}
}

通过测试

https://api.slack.com/methods/chat.postMessage/test使用 bot-token 说

{
"ok": false,
"error": "restricted_action"
}

使用 xoxp-token 对此进行测试得到:-

{
"ok": false,
"error": "missing_scope",
"needed": "chat:write:user",
"provided": "identify,bot"
}

最佳答案

没有。您不会错过任何范围。只是您用来验证您的应用程序的用户无法发布到一般 channel 。显然管理员限制了谁可以在该 channel 中发布消息,例如仅限管理员。

要么使用对该 channel 具有发布权限的用户来验证您的应用,要么切换到其他 channel 进行测试。

关于node.js - Slack 机器人无法通过 chat.postMessage 将消息发送到受限的常规 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55872067/

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