就像标题所描述的那样,我似乎不知道如何上传本地图像并将其作为消息发布在 Slack 中
目前,我可以使用此处看到的 webhook url 和 axios 帖子将短信发布到 slack,没有任何问题:
const res = await axios.post(url, {
text: 'Screenshot',
channel: channelid
}, {
headers: {
authorization: `Bearer ${token}`
}
});
这是脚本中不起作用的部分:
try {
const result = await client.files.upload({
channels: channelid,
initial_comment: "this is the image",
file: fs.createReadStream(fileName)
});
console.log(result);
} catch (error) {
console.error(error);
}
我不明白channelid在其中一个而不是另一个中如何工作。
使用
xoxb
或 xoxp
令牌调用方法与使用 Webhook 发布消息不同。当您在 Slack Developer 设置网站上创建 Webhook 时,系统会要求您选择一个通道。 Webhook 将能够发布到该频道,而无需您的应用程序成为频道成员。使用 xoxb
令牌时,您的机器人需要是 API 调用中传递的通道的成员。如果它不是会员,您可能会收到 channel_not_found
或 not_in_channel
错误。
您应该使用
将机器人添加到频道中/邀请@bot-name
发生这种情况的原因有多种,