1

我正在创建unknownCommandResponse属性设置为的客户端false

const client = new CommandoClient({
  commandPrefix: '$',
  unknownCommandResponse: false,
  owner: '291048060845424640',
  disableEveryone: true
});

然而,当我尝试时$kasopdkoakwdokapowkdo,它会响应:

Unknown command. Use $help or @Mysticonomy#2670 help to view the command list.
4

1 回答 1

4

在 1 月 18 日之前,这是正确的做法:他们决定通过允许运行自定义命令来使机器人的“未知命令”和“错误”回复可覆盖。
此更改可能尚未有详细记录,但已由Gawdl3y通过此提交master推送到分支。这个话题来自这个问题,也被列在“重要的东西”项目的“完成”栏中[链接]。

如果你想让它像过去一样工作,你需要使用以前的版本;如果不更新这部分代码,您将无法更新库以添加新功能。

Command通过此更新,您可以通过扩展类(通常)然后添加设置为true:unknown和的两个属性来创建新命令hidden
如果要例子,可以直接看unknown-command修改作者的默认:

module.exports = class UnknownCommandCommand extends Command {
  constructor(client) {
    super(client, {
      name: 'unknown-command',
      group: 'util',
      memberName: 'unknown-command',
      description: 'Displays help information for when an unknown command is used.',
      examples: ['unknown-command kickeverybodyever'],
      unknown: true,
      hidden: true
    });
  }

  run(msg) {
    return msg.reply(
      `Unknown command. Use ${msg.anyUsage(
                'help',
                msg.guild ? undefined : null,
                msg.guild ? undefined : null
            )} to view the command list.`
    );
  }
};

请记住避免加载默认值unknown-commandCommandoRegistry.registerDefaultCommands()除非您明确告诉它不要这样做,否则默认情况下会加载它。
为避免这种情况,unknownCommand: false请在加载这些命令时添加选项。

client.registry.registerDefaultCommands({
  unknownCommand: false
});
于 2019-02-23T14:25:34.020 回答