Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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
Javascript 如何使用用户discord.js的显示颜色制作丰富的嵌入_Javascript_Node.js_Discord_Discord.js - Fatal编程技术网

Javascript 如何使用用户discord.js的显示颜色制作丰富的嵌入

Javascript 如何使用用户discord.js的显示颜色制作丰富的嵌入,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我正在使用我的用户信息命令。它对&userinfo{user ping/user ID}作出反应。如果没有参数(没有ID或ping),它将显示有关命令执行者的信息。我想知道,如何使信息嵌入的颜色与用户的显示颜色相同(因此,如果我的尼克颜色为#0052ad,则嵌入的颜色也将为#0052ad)。到目前为止,我提出的代码是: const{DiscordAPIError}=require('discord.js'); const Discord=require('Discord.js'); 恒力矩=要求

我正在使用我的用户信息命令。它对&userinfo{user ping/user ID}作出反应。如果没有参数(没有ID或ping),它将显示有关命令执行者的信息。我想知道,如何使信息嵌入的颜色与用户的显示颜色相同(因此,如果我的尼克颜色为#0052ad,则嵌入的颜色也将为#0052ad)。到目前为止,我提出的代码是:

const{DiscordAPIError}=require('discord.js');
const Discord=require('Discord.js');
恒力矩=要求的(‘力矩’);
module.exports={
名称:'profile',
描述:'机器人将返回有关用户的信息',
执行(消息,参数){
让userinfoget=
message.notices.members.first()||
message.guild.members.cache.get(参数[0])||
message.guild.member(message.author);
var highestRoleID=userinfoget.roles.highest.id;
log(`Highest role=${highestRoleID}`);
log(`User=${userinfoget}`);
const embed=new Discord.MessageEmbed()
.setColor(message.guild.userinfoget.displayHexColor)
.setAuthor(`${userinfoget.user.tag}`,userinfoget.user.displayAvatarURL())
.addFields({name:`User ping`,value:``})
.addFields({name:`User ID`,value:`${userinfoget.ID}})
addFields先生(
{
名称:“已加入服务器”,
值:矩(userinfoget.joinedAt).format('LLLL'),
}//或矩(userinfoget.joinedAt).format('DD/MM/YY,HH:MM:ss'))
)
addFields先生(
{
名称:'加入不和谐',
值:矩(userinfoget.user.createdAt).format('LLLL'),
}//或矩(userinfoget.createdAt).format('DD/MM/YY,HH:MM:ss'))
)
.addFields({name:'最高角色',值:``})
addFields先生({
名称:“联机状态”,
值:`${userinfoget.presence.status}`,
});
message.channel.send(嵌入);
},
};

但是bot崩溃,错误是
无法读取未定义的属性“displayHexColor”
。我还尝试了
.setColor(message.guild.userinfoget.displayHexColor)
,正如我在其他帖子中看到的那样,但这使得嵌入成为机器人的显示颜色。我犯了什么错误?谢谢。

这意味着
message.guild.userinfoget
未定义。您可以从一开始就删除
message.guild
,因为您已经将
userinfoget
定义为
GuildMember

userinfoget.displayHexColor

此外,您还可以将
message.guild.member(message.author)
缩短为
message.member
,这将返回作者作为
GuildMember