如何在 discordjs v13 中获取公会所有者 ID?

How do I fetch guild owner Id in discordjs v13?

我正在尝试获取我的机器人当前所在服务器的公会所有者 ID。 我尝试的一切 returns undefined.

当前所有者正在从缓存中获取。我也试过 guild.fetchOwner()

let owner = client.users.cache.get(guild.ownerID);
  if (typeof owner !== 'undefined') {
    console.log(owner)
  } else {
    console.log("Couldn't get owner!")
  }

我的 for of 循环:

for (const [id, guild] of client.guilds.cache) {}

Guild.fetchOwner 方法从 API 获取所有者并且总是 returns 所有者。

let getOwners = async () => { 
  let owner = await guild.fetchOwner().catch(err => err)
  return owner
}
getOwners().then(owner => {
  if(owner !== undefined){
    console.log(`ID: ${owner.user.id}\nUsername: ${owner.user.username}`)
  }
})

发生了什么事?

  • I created a async function called getOwners() that will fetch the owner of the current guild in the for loop.
  • then I called the function and if the returned owner !== undefined, you can do what you'd like with that.

我使用了一个控制台记录返回的用户数据的示例,只是为了向您展示一些您可以通过返回的所有者访问的内容。

谢谢大家!不过我想通了。

我将此功能移至我的就绪事件中,以确保客户有时间登录。这就是它返回未定义的原因。