diff --git a/libs/bot-commander/src/index.ts b/libs/bot-commander/src/index.ts index 90a6394..32ddba6 100644 --- a/libs/bot-commander/src/index.ts +++ b/libs/bot-commander/src/index.ts @@ -14,7 +14,7 @@ import type { IStarResolveResult, } from './types'; -export { CompareFunc, FuncName, equalFunc, regex }; +export { CompareFunc, FuncName, regex }; export interface IArgv { raw: mri.Argv; @@ -215,6 +215,29 @@ export class CommandCenter> { console.log('no handler found for', str); } } + + help() { + let text = ''; + const prefix = this.prefixes.filter(Boolean).join('、'); + if (prefix) { + text += `前缀:${prefix}\n`; + } + + text += '支持的命令:\n'; + + this.registry.handlers.forEach(([key, [_, compareFunc]]) => { + text += `- ${key}: ${compareFunc.name}\n`; + }); + + this.regexRegistry.handlers.forEach(([key, [_, compareFunc]]) => { + text += `- ${key}: ${compareFunc.name}\n`; + }); + if (this.starHandlers) { + text += `- *: fallbackHandler\n`; + } + + return text; + } } export class StopError extends Error { diff --git a/src/im/commands/common.ts b/src/im/commands/common.ts index af6af1c..8ba942c 100644 --- a/src/im/commands/common.ts +++ b/src/im/commands/common.ts @@ -31,26 +31,7 @@ export function registerCommonCommand(it: IMCommandCenter) { }); it.on('help', async ({ bot }) => { - const text = new StringBuilder(); - const prefix = it.prefixes.filter(Boolean).join('、'); - if (prefix) { - text.add('前缀:' + prefix); - } - - text.add('支持的命令:', true); - - it.registry.handlers.forEach(([key, [_, compareFunc]]) => { - text.add(`- ${key}: ${compareFunc.name}`); - }); - - it.regexRegistry.handlers.forEach(([key, [_, compareFunc]]) => { - text.add(`- ${key}: ${compareFunc.name}`); - }); - if (it.fallbackHandler) { - text.add(`- *: fallbackHandler`); - } - - await bot.replyText(text.build()); + await bot.replyText(it.help()); }); it.on('ping', async ({ bot }) => { diff --git a/src/im/commands/opensumi.ts b/src/im/commands/opensumi.ts index c85f16d..7bbff18 100644 --- a/src/im/commands/opensumi.ts +++ b/src/im/commands/opensumi.ts @@ -1,6 +1,5 @@ import { RC_WORKFLOW_FILE } from '@/constants/opensumi'; import { markdown } from '@/github/dingtalk'; -import { equalFunc } from '@opensumi/bot-commander'; import { IBotAdapter } from '../types'; @@ -247,6 +246,5 @@ export function registerOpenSumiCommand(it: IMCommandCenter) { await bot.replyText('Starts generating monthly report.'); }, [], - equalFunc, ); }