Commit 2ecdab20 authored by nanahira's avatar nanahira

add missing locale config in @CommandOption

parent 81886ff8
......@@ -2,6 +2,7 @@ import {
BeforeEventName,
CommandConfigExtended,
CommandDefinitionFun,
CommandOptionConfigWithDescription,
ContextFunction,
EventName,
KoishiCommandDefinition,
......@@ -136,8 +137,19 @@ export const CommandExample = (text: string) =>
export const CommandOption = (
name: string,
desc: string,
config: Argv.OptionConfig = {},
) => CommandDef((cmd) => cmd.option(name, desc, config));
config: CommandOptionConfigWithDescription = {},
) =>
CommandDef((cmd, ctx) => {
if (config.description) {
const desc = adaptLocaleDict(config.description);
for (const [locale, text] of Object.entries(desc)) {
ctx.i18n.define(locale, `commands.${cmd.name}.options.${name}`, text);
}
}
const clonedConfig = { ...config };
delete clonedConfig.description;
return cmd.option(name, desc, clonedConfig);
});
export const CommandUserFields = (fields: FieldCollector<'user'>) =>
CommandDef((cmd) => cmd.userFields(fields));
......
......@@ -146,3 +146,7 @@ export interface TemplateConfig {
}
export type TopLevelActionDef = (ctx: Context, obj: any) => void;
export interface CommandOptionConfigWithDescription extends Argv.OptionConfig {
description?: string | Dict<string>;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment