Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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
Node.js 为什么按名称查找角色返回未定义?_Node.js_Mongodb_Mongoose_Discord.js - Fatal编程技术网

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;