Discord机器人开发:fetch获取GuildMember后调用属性返回undefined
问题原因
id、username、discriminator都不属于GuildMember对象的直接属性,这些用户基础属性全部挂载在GuildMember的user子对象下,从你打印的结构也能看到这些属性都在GuildMember -> user层级下。avatarURL是方法,需要加括号调用才能返回头像链接,不能直接读取属性。
修正后的代码
const transcript = new MessageEmbed() .setColor(0xAE0808) .setTitle("Test") .setDescription(`Transcript of ${interaction.channel.name}`) .setFooter("Test") .addField("id", `${member.user.id}`) .addField("username", `${member.user.username}`) .addField("discriminator", `${member.user.discriminator}`) .setThumbnail(member.user.avatarURL()) await ticketlogs.send({ embeds: [transcript] });
补充说明
部分版本的discord.js中GuildMember会封装id的直接访问器,你也可以尝试直接调用member.id获取用户ID,效果和member.user.id一致,其余用户属性都必须从user子对象中读取。
内容的提问来源于stack exchange,提问作者Bram
相关产品推荐
相关产品推荐

