gpt4 book ai didi

Discord.js,message.guild.owner 返回 null

转载 作者:行者123 更新时间:2023-12-04 14:10:39 24 4
gpt4 key购买 nike

我正在为我的 discord 机器人编写一个 server-info 命令,我想从实际公会中获取所有者用户名或标签。我在 discord js 11 中找到了一种方法,但它在第 12 版下不再有效:

const guild = client.guilds.get(message.guild.id);
message.channel.send(message.guild.member(guild.owner) ? guild.owner.toString() : guild.owner.user.tag);
// if the user is in that guild it will mention him, otherwise it will use .tag

因此在 discord js 12 中,client.guilds.get 不是函数,guild.owner 返回 nullmessage.guild.owner.user.username 也返回 Cannot read property 'user' of null。我查看了文档,message.guild.owner 似乎是不动产 ( https://discord.js.org/#/docs/main/stable/class/Guild?scrollTo=owner )。所以我不知道它为什么返回 null。

最佳答案

我建议您先获取公会并确保它可用,然后再尝试修改或访问它。因此,您的机器人不会遇到任何错误。此外,据我所知,guild.owner 返回 null 但有一种解决方法。您可以通过guild.ownerID 获取公会所有者ID,并获取成员作为guildMember。这是代码:

const guild = message.guild; // Gets guild from the Message object
if(!guild.available) return; // Stops if unavailable
await message.guild.members.fetch(message.guild.ownerID) // Fetches owner
.then(guildMember => sOwner = guildMember) // sOwner is the owner
message.channel.send(guild.member(sOwner) ? sOwner.toString() : guild.owner.user.tag);

关于Discord.js,message.guild.owner 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64611950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com