从Slack API获取用户名

时间:2016-06-04 02:28:31

标签: node.js slack-api botkit

我正在构建一个需要监听环境关键字的slackbot,但检查以确保特定用户编写了关键字。我正试图用这个来测试命令:

controller.hears(['texas'], 'ambient', function(bot, message) {
  username = users.info.name;
  bot.reply(message, username);
});

最终,我想运行条件逻辑以确保用户名与我希望机器人响应的用户匹配。但这不起作用;我使用API​​错了吗?如何检索用户名,如何检查以确保用户名正确?

3 个答案:

答案 0 :(得分:5)

你会做这样的事情:

else

答案 1 :(得分:0)

users.list 此方法返回团队中所有用户的列表。这包括已删除/已停用的用户。此方法的网址为https://slack.com/api/users.list

有关Bot Users

的更多信息

答案 2 :(得分:0)

以下内容可帮助我获取给定用户名的用户名,您可以从主调用方法中使用message.user获取用户名

 getUserName(userID).then((output) => { username = output.user.name });


function getUserName(userid){
    return new Promise((resolve, reject) => {
    //get token from https://api.slack.com/methods/users.info
        options.uri = "https://slack.com/api/users.info?token=********&userid=" +userid+ "&pretty=";
         rp(options).then(function (body) {
            resolve(body);
            console.log('Retrieved Info slack --- ' + JSON.stringify(body));
       })
       .catch(function (err) {
             resolve(err);
             console.log('aborted - slack ' + JSON.stringify(err));
       });
   });
}

参考链接:https://github.com/hassifow/Slack.API-User.info/blob/master/LambdaFunction.js