Thursday, 9 May 2019

Slack bot fails to send message to restricted general channel via chat.postMessage

this is my first time trying to create a slack bot and I am following this template code to the word, I have not made any changes, and just remixed on glitch, copy-pasted the auth tokens correctly, things worked just fine. That is until I made the general channel restricted for Full Member users.

This is the error I see in the logs at glitch.

PostMessage Error: restricted_action

Is there an additional scope that I need to set, other than bot ?enter image description here

Here is the workspace user permissions, I am the owner for this workspace. Workspace User Permissions

Here is the code:

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);
  }
}



from Slack bot fails to send message to restricted general channel via chat.postMessage

No comments:

Post a Comment