Discord机器人:使用拼写错误的命令时,响应“未知命令”

时间:2019-10-11 07:40:12

标签: discord.js

我想让discord.js机器人响应

  

未知命令,请在执行c!hep(拼写错误)之类的命令时使用c!help,或执行其他未实现的命令(例如c!youtube)之类的命令,或者将诸如c! rgoiw。

如果他们的消息与任何可用命令都不匹配,则基本上只是一个响应。

我没有任何特定的代码,我只是将const PREFIX = 'c!';let args = message.content.substring(PREFIX.length).split(" ")一起使用,并将所有命令设置在switch(args[0]){块中。

我对编码一无所知,到目前为止,我所做的一切只是写出来的自我解释,但我不知道从头开始编写该怎么做。

还没有在线上看到有关未知命令响应的任何线程,因此我认为这可能是不可能的。 谢谢

const PREFIX = 'c!';

bot.on('message', message=>{

let args = message.content.substring(PREFIX.length).split(" ")

switch(args[0]){
        case 'example':
        break;
//Code to respond to the prefix with no matching case
  }

})

1 个答案:

答案 0 :(得分:2)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch

  

默认子句;如果提供该子句,则在expression的值与任何case子句都不匹配的情况下执行此子句。

示例:

switch (expr) {
  case 'Oranges':
    console.log('Oranges are $0.59 a pound.');
    break;
  case 'Mangoes':
  case 'Papayas':
    console.log('Mangoes and papayas are $2.79 a pound.');
    // expected output: "Mangoes and papayas are $2.79 a pound."
    break;
  default:
    console.log('Sorry, we are out of ' + expr + '.');
}

如上所示,如果没有匹配项(转换为您的用例-如果未识别命令),则执行在default下找到的命令

换句话说,您的代码应该是

switch(args[0]){
        case 'example':
        break;
        default: console.log(`Unknown command, use c!help for available  commands`);
  }
})