如何使用 BotKit 从 Slack API 获取用户列表?
Posted
技术标签:
【中文标题】如何使用 BotKit 从 Slack API 获取用户列表?【英文标题】:How to get a list of users from Slack API using BotKit? 【发布时间】:2017-07-28 01:29:12 【问题描述】:我正在尝试创建一个向随机松弛用户发送直接消息的机器人。我尝试完成的第一步是 console.logging 用户列表。
这是我目前所拥有的:
controller.hears('marco', 'direct_message', function(bot, message)
bot.api.users.list(user: message.user, function(err, list)
bot.reply(message, "polo");
console.log(bot.api.users.list);
)
);
当我直接向机器人 marco
发送消息时,它会回复 polo
并记录 [Function]
。如何记录一些真实数据?我试过bot.api.users.list.members
,但它记录为undefined
。谢谢。
【问题讨论】:
【参考方案1】:如果您想列出所有用户,您使用的是正确的 API 调用,只需从中删除参数( 而不是
user: message.user
)。
Docs: users.list
如果您想从您的团队中获取有关特定用户的信息,您应该使用以下 API 调用:bot.api.users.info( user: USER_ID , function (err, response) ... );
Docs: users.info
Slack 文档中还有一个测试部分(“测试器”选项卡),以便您可以尝试 API 调用将为您的实际用户返回什么。
【讨论】:
感谢您的回答。我刚刚尝试从 API 调用中删除参数,但控制台中仍然输出的所有内容是[Function]
那是因为您正在尝试控制台记录一个函数 (bot.api.users.list
) 与您在上面两行调用的函数相同。而是尝试从回调中记录 list
。
@TomiS 我正在尝试使用 bot.api.users.list((error, response) => console.log(response); ) 终端显示其调用但没有得到任何响应甚至 bot.api.users.info 工作正常,有什么错误吗?
@DeepakPatidar 尝试使用此 API 调用:bot.api.users.list( , (error, response) => console.log(response) )以上是关于如何使用 BotKit 从 Slack API 获取用户列表?的主要内容,如果未能解决你的问题,请参考以下文章
ruby 这个Ruby脚本将批量删除超过30天的所有Slack文件。只需从https://api.slack.com/web#authentication添加您的API令牌即可
ruby 这个Ruby脚本将批量删除超过30天的所有Slack文件。只需从https://api.slack.com/web#authentication添加您的API令牌即可