首页 文章

如何使用BotKit在Slack上发送带有随机@mention的消息?

提问于
浏览
1

我是新手开发机器人并试图在Slack中使用BotKit每周在#test Channels 中提及一个随机用户 . 这是我到目前为止的代码:

controller.hears('interactive', 'direct_message', function(bot, message) {
  // send webhooks

  bot.configureIncomingWebhook({url: 'https://hooks.slack.com/services/my/hook/uri'});
  bot.sendWebhook({
    text: 'Hey!',
    channel: '#test',
  },function(err,res) {
    // handle error
  });
});

现在,当我将消息传递给机器人"interactive"时,这会向#test Channels 发送一条消息"Hey!",这很好 . 如何获取用户的所有用户名,并将它们随机化,以便文本输出如下: text: '"Hey " + "@" + random.username + " !"', . 我希望这个消息每周都发送一次 .

有任何想法吗?

1 回答

  • 1

    Slack提供 users.list 函数,如下所述:Slack API users.list

    members 数组包含 user 个对象 . 您可以使用 user[0].name 访问您想要@mention的第一个用户名 . 在他们提供的演示中,这将是@bobby .

    可能会出现潜在问题,因为它以“无特定顺序”返回列表...您可能会将其存储在单独的数据库中,并且如果它们是新的则会添加元素并根据您的数据库条目随机化 .

相关问题