首页 > 解决方案 > 如何从 discord.js v12 中的 guild.fetch 获取 ID?

问题描述

当我的机器人第一次加入 Discord 服务器时,我正在尝试获取 Guild id。我需要 ID,以便机器人可以自动设置角色。

我正在使用guildCreate事件,并且在事件内部,我guild.fetch()用于读取集合的数据。现在我只想要 的值,我该id如何实现呢?

输出guild.fetch()

Guild {
  members: GuildMemberManager {
    cacheType: [Function: Collection],
    cache: Collection(3) [Map] {
      '36489644504160xxxx' => [GuildMember],
      '53517224246470xxxx' => [GuildMember],
      '53522344090743xxxx' => [GuildMember]
    },
    guild: [Circular *1]
  },
  channels: GuildChannelManager {
    cacheType: [Function: Collection],
    cache: Collection(4) [Map] {
      '71558241555944xxxx' => [CategoryChannel],
      '71558241555944xxxx' => [CategoryChannel],
      '71558241555944xxxx' => [TextChannel],
      '71558241555944xxxx' => [VoiceChannel]
    },
    guild: [Circular *1]
  },
  roles: RoleManager {
    cacheType: [Function: Collection],
    cache: Collection(5) [Map] {
      '71258641511471xxxx' => [Role],
      '75251159040894xxxx' => [Role],
      '75253768894955xxxx' => [Role],
      '75295113917353xxxx' => [Role],
      '75270698461845xxxx' => [Role]
    },
    guild: [Circular *1]
  },
  presences: PresenceManager {
    cacheType: [Function: Collection],
    cache: Collection(3) [Map] {
      '36489644504160xxxx' => [Presence],
      '52517224246470xxxx' => [Presence],
      '52522344090743xxxx' => [Presence]
    }
  },
  voiceStates: VoiceStateManager {
    cacheType: [Function: Collection],
    cache: Collection(0) [Map] {},
    guild: [Circular *1]
  },
  deleted: false,
  name: "attrib's server",
  icon: null,
  splash: null,
  discoverySplash: null,
  region: 'europe',
  memberCount: 3,
  large: false,
  features: [],
  applicationID: null,
  afkTimeout: 300,
  afkChannelID: null,
  systemChannelID: '71558641555944xxxx',
  embedEnabled: false,
  premiumTier: 0,
  premiumSubscriptionCount: 0,
  verificationLevel: 'NONE',
  explicitContentFilter: 'DISABLED',
  mfaLevel: 0,
  joinedTimestamp: 1600721822100,
  defaultMessageNotifications: 'ALL',
  systemChannelFlags: SystemChannelFlags { bitfield: 0 },
  maximumMembers: 250000,
  vanityURLCode: null,
  vanityURLUses: null,
  description: null,
  banner: null,
  id: '71558641511471xxxx',
  available: true,
  etc...

标签: javascriptnode.jsdiscorddiscord.js

解决方案


您可以idguild对象中获取属性。

guild.fetch().then((guild) => console.log(guild.id)).catch(console.error);

推荐阅读