【问题标题】:How can i make my slack bot read all messages ( and not just app_mention) in a particular channel?如何让我的 slack 机器人读取特定频道中的所有消息(而不仅仅是 app_mention)?
【发布时间】:2021-08-29 12:00:21
【问题描述】:

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

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

我希望我的机器人阅读并回复特定频道内的所有消息。

当前代码:

//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


【解决方案1】:

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

为此,您需要:

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

如果配置正确,只要在频道中发布消息,您就会收到事件。

【讨论】:

  • 感谢您回答 Suyash。这就是我正在做的事情。就像我提到的那样,我已经添加了范围并将机器人邀请到该特定频道。可以分享一些示例代码吗?
  • 谢谢苏亚什。我没有订阅该活动。我只是添加范围。它现在完美运行。非常感谢。
猜你喜欢
  • 2020-12-08
  • 2022-01-20
  • 1970-01-01
  • 2017-04-27
  • 2023-01-17
  • 2016-11-07
  • 2021-05-22
  • 1970-01-01
  • 2018-05-16
相关资源
最近更新 更多