1

我是开发机器人并尝试在 Slack 中使用 BotKit 每周在#test 频道中提及随机用户的新手。这是我到目前为止的代码:

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

现在这会发送一条消息“嘿!” 当我直接向机器人“交互”发送消息时,转到#test 频道,这很好。如何获取用户的所有用户名,并将它们随机化,以便文本输出如下text: '"Hey " + "@" + random.username + " !"',:我也希望每周发送此消息。

有任何想法吗?

4

1 回答 1

2

Slack 提供了users.list如下所述的功能:Slack API users.list

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

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

于 2017-03-04T20:44:16.327 回答