如何修复Discord.js-Commando Bot响应未知命令

时间:2019-02-23 05:10:45

标签: javascript discord.js commando

我正在将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.

1 个答案:

答案 0 :(得分:2)

这是直到1月18日的正确方法:他们决定允许自定义命令运行,从而使机器人“未知命令”和“错误”回复可重写。 此更改可能尚未得到充分的文档证明,但是已由masterthis commit推送到了Gawdl3y分支。该主题来自this issue,并在“重要内容”项目[link]的“完成”列中列出。

如果要使其像过去一样工作,则需要使用以前的版本;您也将无法在不更新代码的这一部分的情况下更新库以添加新功能。

使用此更新,您可以通过扩展true类(通常)然后添加两个设置为unknown的属性来创建新命令:hiddenmodule.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-command

unknown-command

请记住避免加载默认的unknownCommand: false:默认情况下,CommandoRegistry.registerDefaultCommands()会加载它,除非您明确告诉它不要这样做。 为避免这种情况,请在加载这些命令时在选项中添加client.registry.registerDefaultCommands({ unknownCommand: false });

Private Function Dates(ByVal Year As Integer, Month As Integer) As Integer
    Return DateTime.DaysInMonth(Year, Month)
End Function