如何提及用户输入?

How to mention user inputs?

我正在尝试找出这条哑线,但找不到方法.. 所以基本上如果命令是 !clear 5 我希望机器人 return “所有 5 条消息都已清除“当然是在删除之后。 ${message.mentions.users.first()} returns 未指定

async execute(message, args){
        if(message.member.permissions.has("MANAGE_MESSAGES")){
            if(!args[0]) return message.channel.send('Bruh enter a amount of messages to clear');
            if(isNaN(args[0])) return message.channel.send('Bruh enter a **number**');
            if(args[0] > 100) return message.channel.send('bruh you cant clear more than 100 messages');
            if(args[0] < 1) return message.channel.send('bruh you have to delete atleast one message or imma go sleep');

            await message.channel.messages.fetch({limit: args[0]}).then(messages => {
                message.channel.bulkDelete(messages);
                message.channel.send(`all ${message.mentions.users.first()} messages have been cleared bruh!`).then(msg => {
                    setTimeout(() => msg.delete(), 10000)
                })
            })
        }
         else {
             message.channel.send('bruh you dont have required permissions to use this command!')
         }
    }

根据您添加的代码,我可以看出哪里出了问题。您目前正在 return 消息中使用 ${message.mentions.users.first()}。但是,return 是消息中第一个提到的用户,这不是您想要的。您想要 return 用户的参数。 将 ${message.mentions.users.first()} 更改为 ${args[0]}


(上一个答案):


对了,你有办法处理消息参数吗?

如果是:

真的很简单,基本上就是把args[0]存到一个像userInput这样的变量里(你甚至都没有把它存到一个var里,就是只是一种更简洁的代码编写方式)。之后只是 return 一条消息,例如

message.channel.send(`All ${userInput} message(s) have been cleared.`);

如果没有:

我建议你看看如何在你的机器人中使用用户参数 here