简体   繁体   中英

How to only get UserID from message.guild.members.fetch() in discord.js v12?

I'm trying to get a random winner for prizes and I would like to take the whole object variable and just sorta isolate the whole thing so i just get a list of the UserID's

Heres an example of what I get when I do console.log(message.guild.members.fetch()) :

Promise {
  Collection [Map] {
    '123456789012345678' => GuildMember {        
      guild: [Guild],
      user: [User],
      joinedTimestamp: 1234567890123,
      lastMessageID: '012345678901234567',       
      lastMessageChannelID: '012345678901234567',
      deleted: false,
      _roles: [Array]
    },
    '234567890123456789' => GuildMember {
      guild: [Guild],
      user: [User],
      joinedTimestamp: 1234567890123,
      lastMessageID: null,
      lastMessageChannelID: null,
      premiumSinceTimestamp: null,
      deleted: false,
      _roles: [Array]
    },
    '345678901234567890' => GuildMember {
      guild: [Guild],
      user: [ClientUser],
      joinedTimestamp: 1234567890123,
      lastMessageChannelID: null,
      premiumSinceTimestamp: null,
      deleted: false,
      _roles: [Array]
    }
  }
}

I would like to only get the 123456789012345678 part of the '123456789012345678' => GuildMember { line

Use the keyArray method:

message.guild.messages.fetch().then(members => {
  const userIDs = members.keyArray()
  // Do something with the IDs here
})

With async/await:

const userIDs = (await message.guild.messages.fetch()).keyArray()
// Do something with the IDs here

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM