You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 07:15:03