Slack API:忽略对话中的已删除/停用的用户

时间:2019-04-15 06:54:10

标签: javascript node.js slack slack-api

我正在尝试开发一个小脚本,该脚本可以从某个频道获取所有用户。我设法做到了,但是它检索的用户比当前在频道上的用户多(在应用程序上是102,在我得到202的请求下)。在检查了文档之后,我看到它还回馈了已删除/停用的用户。我尝试使用if(user.deleted == false)进行过滤,但是所有用户(甚至不再包含在频道中的用户)都被删除为false。

我如何才能获得激活的用户,或者至少获得有关删除/停用哪些用户以便对其进行过滤的信息?我正在研究一段时间,但找不到任何答案,我将非常感谢您的帮助。

这是请求:

const generalChannelRes = await web.conversations.members('C02Q3F80V', { limit: 500 })

try {
  let fixture = await Promise.all(generalChannelRes.members.map(async userId => {
    const user = await web.users.info(userId)

    if (!user.deleted) {
      const userData = [user.user.profile.email, user.user.name]
      return userData
  }}))

  fixture = fixture.filter(u => u)

  fs.writeFileSync('./models/fixture-users-new.json', JSON.stringify(fixture, null, 
  2))
 })
}

1 个答案:

答案 0 :(得分:1)

问题非常愚蠢,我使用的条件语句检查错了,if (!user.user.deleted)我可以得到激活/未删除的用户:)