我的嵌入在我的用户信息命令上显示用户角色'Undefined'



我正在制作一个discord bot,我决定添加一个用户信息命令。我这样做了,但问题是.setThumbnail命令不起作用(所以我看不到图片(,并且我想显示我的成员的角色,这是我使用member.roles函数完成的。但是,它在嵌入中说"未定义",这里是我的代码供参考。我尝试只使用user,但在嵌入的user Roles下仍然未定义。提前感谢回答问题的人!

const embed = new Discord.MessageEmbed()
var user = message.mentions.users.first();
var member = message.mentions.users.first(user);
if(!args[1]) return message.reply('Apologies! Please specify a particular member!');
embed.setTitle('User Information')
embed.addField('Username', user.username)
embed.addField('User ID', user.id)
embed.addField('User Tag', user.tag)
embed.addField('User Roles', member.roles)
embed.setColor(0x00FF93)
embed.setThumbnail(user.displayAvatarURL)
embed.setFooter('Generated by Salty!')
message.channel.send(embed);
break;

在discord.js v12.x中,user.displayAvatarURL是一个函数。访问此链接了解更多信息。。。

embed.setThumbnail(user.displayAvatarURL())

此外,member.roles是一个管理器,要获得成员的角色,请使用member.roles.cache。这个问题已经在这里被问了

.addField('Roles:', member.roles.cache.map(r => `${r}`).join(' | '))

对于帐户创建,您可以使用user.createdAt获取时间戳

.addField('Created at:', moment.utc(user.createdAt).format('dddd, MMMM Do YYYY, HH:mm:ss'))

希望得到帮助!

最新更新