Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 获取服务器所有者用户标记的Discord.js返回null_Node.js_Discord.js - Fatal编程技术网

Node.js 获取服务器所有者用户标记的Discord.js返回null

Node.js 获取服务器所有者用户标记的Discord.js返回null,node.js,discord.js,Node.js,Discord.js,当bot加入服务器时,我试图让我的bot发送一个嵌入。嵌入应该包含服务器所有者的名称,但它返回null并且不起作用,给我错误类型error:无法读取null的属性“user” guild.owner.user.username 完整代码 client.on(“guildCreate”,(guild)=>{ const EmbedJoin=new Discord.MessageEmbed() .setColor(“绿色”) .setTitle(`Joined Guild:${Guild.name

当bot加入服务器时,我试图让我的bot发送一个嵌入。嵌入应该包含服务器所有者的名称,但它返回null并且不起作用,给我错误类型error:无法读取null的属性“user”

guild.owner.user.username
完整代码

client.on(“guildCreate”,(guild)=>{
const EmbedJoin=new Discord.MessageEmbed()
.setColor(“绿色”)
.setTitle(`Joined Guild:${Guild.name}!`)
.setDescription(`Guild owner:${Guild.owner.user.username}\n成员:${Guild.memberCount}`)
.setTimestamp()文件
log(`Joined New Guild:${Guild.name}`);
client.channels.cache.get(`794483893977088002`).send(EmbedJoin)
});
编辑:我找到了一个适合我的解决方案

client.on(“guildCreate”,异步(guild)=>{
让owner=client.users.cache.get(guild.ownerID)
const EmbedJoin=new Discord.MessageEmbed()
.setColor(“绿色”)
.setTitle(`Joined Guild:${Guild.name}!`)
.set缩略图(guild.iconURL())
.setDescription(`Guild owner:${owner.username}`)
.setTimestamp()文件
log(`Joined New Guild:${Guild.name}`);
client.channels.cache.get(`758356170926325790`).send(EmbedJoin)
});
用户并不总是被缓存。 您可以像这样缓存它:
等待client.users.fetch(GUILD.ownerID)

因此,您的代码的固定副本:

client.on(“guildCreate”,异步(guild)=>{
等待guild.owner.fetch();
const EmbedJoin=new Discord.MessageEmbed()
.setColor(“绿色”)
.setTitle(`Joined Guild:${Guild.name}!`)
.setDescription(`Guild owner:${Guild.owner.user.username}\n成员:${Guild.memberCount}`)
.setTimestamp()文件
log(`Joined New Guild:${Guild.name}`);
client.channels.cache.get(`794483893977088002`).send(EmbedJoin)
});

对我来说,我可以通过以下方式获得车主ID:

//实例化Guidid
让他去吧;
client.on('ready',()=>{
log(`Logged as${client.user.tag}!`);
guildID=client.guilds.cache.get('guildID HERE').ownerID;
});
我设置它的方式是将
guildID
实例化为顶部的一个全局变量,没有任何值。然后在我的
client.on('ready')
函数中,我将var设置为所有者ID。从那里,您应该能够使用该ID为您的嵌入获取所有者的用户名。如果您对此有任何问题,请告诉我

编辑:
忘了提了。显然,您的功能有些不同,因为您希望在bot加入服务器时获得ID。但是,您应该能够使用相同的逻辑,只需根据您的需要对其进行更改。

它仍然会给我相同的错误“TypeError:无法读取null的属性'user',请登录guild.owner以获取详细信息me@Aro:我编辑了我的答案。但是它得到了错误“TypeError:无法读取null的属性'fetch'”他们不想要ID,他们需要用户名。@LoganDevine您可以从ID中获取用户的用户名。您可以获取有关该用户的全部信息,但您需要该ID才能获取用户名。