否则代码无法正常工作 discord.js

时间:2021-01-03 03:21:31

标签: discord.js

我试图在不和谐时发出拥抱命令来拥抱提到的用户。我设置了一个命令来检查是否提到了用户。如果我不提及用户,它会按预期工作,但是当提及用户时,它会输出相同的内容。这是我的代码:

    if (message.mentions.users.length > 1) {

        const hug = new Discord.MessageEmbed()
            .setAuthor(`${message.mentions.users.first().username} got a hug from ${message.author.username}!`, `${message.author.avatarURL({ dynamic:true })}`)
            .setImage(hugs[hugged])
            .setColor('#ffb9f4')
        message.channel.send(hug);

    } else {
        message.channel.send('Please mention a user to hug!');
    };

我认为不需要其他任何东西,但请告诉我

2 个答案:

答案 0 :(得分:1)

您的条件检查是否有多个用户被标记,但您可以检查是否有任何标记用户

if (message.mentions.users == true)

第二个问题是 users 是一个集合,所以你必须使用 .size 而不是 .length

if (message.mentions.users.size > 0)

两者都很好。

答案 1 :(得分:0)

如果您在公会中这样做,我很确定所有提及都是针对公会成员的,请尝试将 if 语句设置为

if(message.mentions.members.length > 1 || message.mentions.users.length > 1)