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

时间:2017-03-01 20:30:27

标签: javascript bots slack-api slack botkit

我是开发机器人并尝试在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频道#34;这很好。如何获取用户的所有用户名,并将其随机化,以便文本输出如下:text: '"Hey " + "@" + random.username + " !"',。我希望这个消息也能每周发送一次。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

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

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