I am trying to make a discord.js avatar command, and the mentioning portion doesn't work correctly

前端 未结 3 1155
情深已故
情深已故 2020-12-21 22:59

I have an avatar command in my discord bot. When the user uses h.avatar, it outputs their avatar, which works fine. Whenever they try to use h.avatar @use

相关标签:
3条回答
  • 2020-12-21 23:33

    You have a check if (!message.mentions.users.size) { which makes the command run only if you do not mention somebody. You either need to use an else { in your code or do:

     if (message.content.startsWith(config.prefix + 'avatar')) {
        const user = message.mentions.users.first() || message.author;
        const avatarEmbed = new Discord.RichEmbed()
            .setColor(0x333333)
            .setAuthor(user.username)
            .setImage(user.avatarURL);
        message.channel.send(avatarEmbed);
    }
    

    The const user = message.mentions.users.first() || message.author; tries to get the user that was mentioned but if it does not find anyone it will use the author's used.

    This can also be used like this:

    if (!message.mentions.users.size) {
        message.channel.send('Nobody was mentioned');
        return;
    }
    // continue command here, after guard clause
    
    0 讨论(0)
  • 2020-12-21 23:40
    if(message.content.startsWith(prefix+'av')){
        
            
            if(message.mentions.users.size){
                let member=message.mentions.users.first()
            if(member){
                const emb=new Discord.MessageEmbed().setImage(member.displayAvatarURL()).setTitle(member.username)
                message.channel.send(emb)
                
            }
            else{
                message.channel.send("Sorry none found with that name")
    
            }
            }else{
                const emb=new Discord.MessageEmbed().setImage(message.author.displayAvatarURL()).setTitle(message.author.username)
                message.channel.send(emb)
            }
    }
    
    0 讨论(0)
  • 2020-12-21 23:55
     if (message.content.startsWith(prefix + 'avatar')) {
       let user = message.mentions.users.first();
       if(!user) user = message.author;
       let color = message.member.displayHexColor;
       if (color == '#000000') color = message.member.hoistRole.hexColor;
       const embed = new Discord.RichEmbed()
                       .setImage(user.avatarURL)
                       .setColor(color)
        message.channel.send({embed});
     }
    
    0 讨论(0)
提交回复
热议问题