Это был правильный способ сделать это до 18 января: они решили сделать бот «неизвестными командами» и «ошибками», ответы на них можно переопределять, разрешив вместо этого запускать пользовательские команды.
Это изменение может небыть еще хорошо документированным, но был перенесен в ветку master
с этим коммитом Gawdl3y .Эта тема взята из этой проблемы , а также указана в столбце «Готово» проекта «Важные вещи» [ ссылка ].
Если вы хотитечтобы он работал как в прошлом, вам нужно использовать предыдущую версию;вы не сможете обновить библиотеку для добавления новых функций без обновления этой части кода.
С этим обновлением вы можете создать новую команду, расширив класс 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-command
: оно будет загружено по умолчанию CommandoRegistry.registerDefaultCommands()
, если вы явно не скажете ему не делать этого.
Чтобы избежать этого, добавьте unknownCommand: false
к параметрам при загрузке этих команд.
client.registry.registerDefaultCommands({
unknownCommand: false
});