Node.js 为什么按名称查找角色返回未定义?
除了分配角色之外,一切都正常。我将帮派名称设置为命令的第二部分,我使用该名称创建角色,我将角色设置为Node.js 为什么按名称查找角色返回未定义?,node.js,mongodb,mongoose,discord.js,Node.js,Mongodb,Mongoose,Discord.js,除了分配角色之外,一切都正常。我将帮派名称设置为命令的第二部分,我使用该名称创建角色,我将角色设置为 let role=message.guild.roles.cache.find(guild=>guild.name==gangName) 但是,角色的console.log显示为“未定义” 它是如何定义的?我刚刚创建了角色,然后搜索了它。guild.roles.create是一个异步函数,因此您可以使用wait let role=wait guild.roles.create({ 数据:{ 姓名
let role=message.guild.roles.cache.find(guild=>guild.name==gangName)代码>
但是,角色的console.log显示为“未定义”
它是如何定义的?我刚刚创建了角色,然后搜索了它。guild.roles.create是一个异步函数,因此您可以使用wait
let role=wait guild.roles.create({
数据:{
姓名:gangName,
颜色:灰色`
},
原因:`由${message.member.user.tag}在${message.timestamp}处创建的帮派${message.member.user.tag}`
});
log(`role=${role}`);
member.roles.add(角色);
guild.roles.create是一个异步函数,因此您可以使用wait
let role=wait guild.roles.create({
数据:{
姓名:gangName,
颜色:灰色`
},
原因:`由${message.member.user.tag}在${message.timestamp}处创建的帮派${message.member.user.tag}`
});
log(`role=${role}`);
member.roles.add(角色);
guild.roles.create是一个异步函数,返回承诺()。在角色创建完成之前,你需要等待这个承诺。@KurtThiemann那么,我会让我的角色=message.guild。。。在角色创建中?@KurtThiemann或者我会在itguild.roles.create上抛出一个。然后(让role=message.guild.roles.cache.find(guild=>guild.name==gangName))
是一个异步函数,返回一个承诺()。在角色创建完成之前,你需要等待这个承诺。@KurtThiemann那么,我会让我的角色=message.guild。。。在角色创建中?@KurtThiemann,或者我会抛出一个。然后(让role=message.guild.roles.cache.find(guild=>guild.name==gangName))
Gang.findOne({leaderUserID: message.author.id, leaderUserName: message.member.user.tag, serverID: message.guild.id}, (err, gang) => {
if(err) console.log(err);
let embed = new Discord.MessageEmbed()
.setTitle("Gang")
.setColor("4000FF")
.setThumbnail(message.author.displayAvatarURL)
gangName = message.content.substring(message.content.indexOf(" ") + 1, message.content.length);
if(!gang){
const newGang = new Gang({
leaderUserID: message.author.id,
leaderUserName: message.member.user.tag,
serverID: message.guild.id,
gangName: gangName,
points: "1"
});
guild.roles.create({
data: {
name: gangName,
color: `GREY`
},
reason: `Gang created by ${message.member.user.tag} at ${message.timestamp}`
});
let role = message.guild.roles.cache.find(guild => guild.name === gangName);
console.log(`role = ${role}`);
member.roles.add(role);
newGang.save().catch(err => console.log(err));
embed.addField("Gang Creation", "-15 points", true);
embed.addField("Gang Name", gangName, true);
message.channel.send(embed);
return;