如何让我的 slack 机器人读取特定频道中的所有消息(而不仅仅是 app_mention)?

问题描述 投票:0回答:2

我目前正在创建一个 Slack 机器人,它从 slack 通道读取消息,然后解析该消息。

我已经使用app_mention成功创建了这个。但现在的问题是,只有提到我的机器人的消息才会被机器人读取。

我希望我的机器人能够阅读并响应特定频道内的All消息。

当前代码:

//listen to messages
const slackEvents = createEventAdapter(slackSigningSecret);
//post messages
const slackClient = new WebClient(slackToken);

//all messages 
slackEvents.on('message', (event) => {
    console.log('This is not working. Please help!');
});

//when the bot is mentioned
slackEvents.on('app_mention', (event) => {
    console.log('This is working.);

我的代码

slackEvents.on('app_mention', (event) => ()
运行完美。 但是,
slackEvents.on('message', (event) => ()
不起作用。

我已经添加了我认为需要的所有范围。频道:历史,群组:历史,但仍然没有任何反应。

如何让机器人收听特定频道中的所有消息?请帮忙!

javascript asynchronous slack-api
2个回答
1
投票

您可以使用

message
事件来订阅频道中发送的所有消息。

为此,您需要:

  1. 范围
    频道:历史(公共频道)
    团体:历史(私人频道)
  2. 订阅活动
  3. 邀请机器人加入频道

如果配置正确,每当频道中发布消息时,您都会收到事件。


0
投票

添加上述答案 -

您可以使用消息事件来订阅频道中发送的所有消息。

为此,您需要:

  1. 范围 频道:历史(公共频道) 团体:历史(私人频道)
  2. 订阅活动 如果您想为任何用户发送的每条消息触发事件,您需要在代表用户订阅事件下订阅“message.channels”事件。

邀请机器人加入频道

这对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.