我是开发机器人并尝试在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 + " !"',
。我希望这个消息也能每周发送一次。
有什么想法吗?
答案 0 :(得分:1)
Slack提供users.list
函数,如下所述:Slack API users.list
members
数组包含user
个对象。您可以使用user[0].name
来访问您想要@mention的第一个用户名。在他们提供的演示中,这将是@bobby。
可能会出现潜在的问题,因为它会在&#34中返回列表;没有特定的顺序" ...您可能会将其存储在单独的数据库中,并且如果它们是新的则会添加元素并根据您的数据库随机化条目。