From 5ea1226ad06e4d913971ce4c88b1df2eafd7686b Mon Sep 17 00:00:00 2001 From: sunxyw Date: Wed, 23 Mar 2022 20:03:47 +0800 Subject: [PATCH] add help generator docs --- docs/.vuepress/config.js | 3 ++- docs/component/bot/help-generator.md | 35 ++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 docs/component/bot/help-generator.md diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 1fc952d0..f273183a 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -81,7 +81,8 @@ module.exports = { 'bot/cqcode', 'bot/message-util', 'bot/access-token', - 'bot/turing-api' + 'bot/turing-api', + 'bot/help-generator.md', ] }, { diff --git a/docs/component/bot/help-generator.md b/docs/component/bot/help-generator.md new file mode 100644 index 00000000..e16871a4 --- /dev/null +++ b/docs/component/bot/help-generator.md @@ -0,0 +1,35 @@ +# 命令帮助生成器 - CommandHelpGenerator + +类定义:`\ZM\Utils\MessageUtil` +目前包含在 `MessageUtil` 类中,日后可能会进行拆分。 + +> 2.7.3 版本起可用。 + +## 方法 + +### generateCommandHelp + +自动扫描定义的所有命令,生成注解树,并以此生成命令列表及帮助。 + +第一次运行时,会遍历一遍注解树并进行生成,此后会从缓存中读取。 + +定义:`generateCommandHelp()` + +返回值:`array` 每个元素对应一个命令的帮助信息,格式为:`命令名(其他触发条件):命令描述` + +示例:`天气(温度、包含“天气”):查询指定城市的天气` + +```php +/** + * 输出帮助信息 + * + * @CQCommand("帮助") + */ +#[CQCommand('帮助')] +public function help(): string +{ + $helps = MessageUtil::generateCommandHelp(); + array_unshift($helps, '帮助:'); + return implode("\n", $helps); +} +```