Discord.js 提到,创建数据字段
我无法修复提及第三方用户的错误,错误始于“角色”和服务器登录日期,即创建帐户的日期 请帮忙Discord.js 提到,创建数据字段,discord.js,Discord.js,我无法修复提及第三方用户的错误,错误始于“角色”和服务器登录日期,即创建帐户的日期 请帮忙 ... [cut] } else if (command === 'user') { let user = message.mentions.users.first() || message.author; const embed = new Discord.RichEmbed() .setAuthor(`Akirabot. Find of user.`)
... [cut]
} else if (command === 'user') {
let user = message.mentions.users.first() || message.author;
const embed = new Discord.RichEmbed()
.setAuthor(`Akirabot. Find of user.`)
.setColor(0x348fcd)
.setTitle('')
.addField(`Username`,`${user.username}`, true)
.addField(`User id`,`${user.id}`, true)
.addField(`Status`,`${user.presence.status}`, true)
.addField(`Date of create account`, `${moment(user.createdAt).toString().substr(0, 15)}\n(${moment(user.createdAt).fromNow()})`, true)
.addField("Currently Playing", user.presence.game || "Nothing.", true)
.addField(`Join date to server`, `${moment(user.joinedAt).toString().substr(0, 15)}\n(${moment(user.joinedAt).fromNow()})`, true)
.addField('Roles', `${user.members.roles}.`, true)
.setFooter(`— Akirabot, made with love by setosh, 2019.`)
.setTimestamp('')
.setThumbnail(`${user.displayAvatarURL}`)
message.channel.send({ embed });
我收到了这个错误消息
TypeError: Cannot read property 'roles' of undefined
(这是message.atterences.users.first()
和message.author
return)没有members
属性,因此您试图访问不存在的内容
如果你想了解一个人的角色,你必须了解他。一种方法是:
const guildMember = message.guild.members.find(val => val.id === user.id);
然后,您可以执行guildMember.roles
并根据自己的喜好使用它
例如:
let user = message.mentions.users.first() || message.author;
const guildMember = message.guild.members.find(val => val.id === user.id);
const embed = new Discord.RichEmbed()
// Do whatever you want with the roles:
.addField('Roles', `${guildMember.roles}.`, true)
给出一个示例代码,它是什么样子的?请以我的代码为例,它相当简单,只需声明并使用它即可。在答案中添加了一个示例。
让guildmember=message.guild.member(message.indications.users.first()| | message.guild.members.get(args[0])| | message.author)
它将从使用它的公会获取有关用户的信息,只需将需要从公会获取的内容更改为guildmember即可,例如:角色、创建日期、加入日期、,etcSplit代码和错误