Commit 2ecdab20 authored by nanahira's avatar nanahira

add missing locale config in @CommandOption

parent 81886ff8
...@@ -2,6 +2,7 @@ import { ...@@ -2,6 +2,7 @@ import {
BeforeEventName, BeforeEventName,
CommandConfigExtended, CommandConfigExtended,
CommandDefinitionFun, CommandDefinitionFun,
CommandOptionConfigWithDescription,
ContextFunction, ContextFunction,
EventName, EventName,
KoishiCommandDefinition, KoishiCommandDefinition,
...@@ -136,8 +137,19 @@ export const CommandExample = (text: string) => ...@@ -136,8 +137,19 @@ export const CommandExample = (text: string) =>
export const CommandOption = ( export const CommandOption = (
name: string, name: string,
desc: string, desc: string,
config: Argv.OptionConfig = {}, config: CommandOptionConfigWithDescription = {},
) => CommandDef((cmd) => cmd.option(name, desc, config)); ) =>
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'>) => export const CommandUserFields = (fields: FieldCollector<'user'>) =>
CommandDef((cmd) => cmd.userFields(fields)); CommandDef((cmd) => cmd.userFields(fields));
......
...@@ -146,3 +146,7 @@ export interface TemplateConfig { ...@@ -146,3 +146,7 @@ export interface TemplateConfig {
} }
export type TopLevelActionDef = (ctx: Context, obj: any) => void; 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