【问题标题】:Discord bot: Respond "Unknown command" when using an incorrectly spelled commandDiscord bot:使用拼写错误的命令时响应“未知命令”
【发布时间】:2019-10-14 13:59:54
【问题描述】:

我想让我的 discord.js 机器人响应

未知命令,使用 c!help 获取可用命令”当执行类似 c!hep(拼写错误)或未实现的不同类型命令(如 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
  }

})

【问题讨论】:

    标签: discord.js


    【解决方案1】:

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

    默认子句;如果提供,则如果表达式的值与任何 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`);
      }
    })
    

    【讨论】:

    • 谢谢你,成功了。这看起来很简单,所以我因为不知道而感到愚蠢,但我很感激!
    • 如果答案帮助您按下旁边的绿色勾号,它会将您的问题标记为已解决,并将答案标记为已接受。
    猜你喜欢
    • 2020-12-15
    • 2021-08-28
    • 2021-02-17
    • 2023-03-09
    • 2021-04-17
    • 1970-01-01
    • 2022-01-04
    相关资源
    最近更新 更多