Я впервые пытаюсь создать слабого бота, и я слежу за этим шаблоном кода к слову, я не вносил никаких изменений и просто сделал ремикс на глюк, скопировал и вставил токены аутентификации правильно, все работало просто отлично.
Пока я не ограничил общий канал для Full Member
пользователей.
Это ошибка, которую я вижу в логах при сбое.
PostMessage Error: restricted_action
Есть ли дополнительная область, которую мне нужно установить, кроме bot
? ![enter image description here](https://i.stack.imgur.com/Hs338.png)
Вот права доступа к рабочему пространству, я владелец этого рабочего пространства.
![Workspace User Permissions](https://i.stack.imgur.com/tMljE.jpg)
Вот код:
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
использование бот-токена говорит
{
"ok": false,
"error": "restricted_action"
}
Тестирование с использованием xoxp-токена дает следующее: -
{
"ok": false,
"error": "missing_scope",
"needed": "chat:write:user",
"provided": "identify,bot"
}