从本质上讲,我有一个应该清除消息/泛滥聊天的命令(它是给朋友的,不要问),但是我不断收到有关未定义的args的错误信息,我将如何解决该问题?
背景:我一直在修补我的spaggehti代码(包括bot.on和if / else字符串),并一直尝试使用args,但是args不能定义并且const无法使用。
{
if(message.content == '^immigrantalert')
require ;amount = parseInt(args[0]);
if (isNaN(amount)) {
return message.reply('Immigrant purges need a god damn number after the command you twat');
}
else if (amount < 2 || amount > 100) {
return message.reply('you need to input a number between 2 and 100 for Deportation you smack.');
message.channel.bulkDelete(amount);
message.reply('RULE BRITANNIA')
message.reply('RULE BRITANNIA')
message.reply('RULE BRITANNIA')
message.reply('RULE BRITANNIA')
message.reply('RULE BRITANNIA')
message.reply('RULE BRITANNIA')
message.reply('RULE BRITANNIA')
};
预期的输出是在执行命令时进行的消息清除和泛洪,但是输出是我的终端崩溃,导致代码无法正常工作。
答案 0 :(得分:0)
我想你想要这样的东西。
let command = '^immigrantalert';
if(message.content.includes(command)) { //look for command in message
//check the end of the message for the amount
let amount = parseInt(message.content.slice(command.length));
if (isNaN(amount)) {
return message.reply('Immigrant purges need a god damn number after the command you twat');
} else if (amount < 2 || amount > 100) {
message.reply('you need to input a number between 2 and 100 for Deportation you smack.');
message.channel.bulkDelete(amount);
message.reply('RULE BRITANNIA')
message.reply('RULE BRITANNIA')
message.reply('RULE BRITANNIA')
message.reply('RULE BRITANNIA')
message.reply('RULE BRITANNIA')
message.reply('RULE BRITANNIA')
message.reply('RULE BRITANNIA')
}
}
答案 1 :(得分:0)
您需要将此添加到您的代码const args = message.content.slice(client.config.prefix.length).trim().split(/ +/g);
const command = args.shift().toLowerCase();