如何提及用户输入?
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
我正在尝试找出这条哑线,但找不到方法.. 所以基本上如果命令是 !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