!(或其他已设置的前缀)开头的命令消息触发。如下是命令!help的触发示例:

添加命令组件
单个插件中能添加任意数量的命令,请在插件目录执行命令lbp comp Command,并根据提示输入命令的配置。
components/commands/目录下生成info.yaml和info.py文件,.yaml定义了!info命令的基础信息,.py是该命令的处理程序:
清单文件:命令组件
插件处理
默认会生成如下代码(components/command/<命令名称>.py),您需要在Info类的initialize方法中注册并实现子命令的处理逻辑。
send函数通过装饰器@self.subcommand注册为子命令,并在其中打印了命令的上下文(ExecuteContext)信息并拼接成一条回复消息。
子命令注册
name 为子命令名称,留空表示处理主命令。不为空则匹配第二个参数为命令,例如:
!info匹配 name="" 的子命令!info field匹配 name=“field” 的子命令!info field value匹配 name=“field” 的子命令,value为子命令参数- 特殊地,
name="*"匹配所有未匹配的一级子命令,并将info后的每一节作为参数传递传递参数,例如!info 123,!info abc. 此时可以从context.crt_params中获取到['123']或['abc'],取决于用户输入的参数。
context 变量读取到命令参数。
上述命令效果如图:

命令上下文
命令返回值
命令返回值(CommandReturn)目前支持返回文本(text)和图片(image_url,图片链接)、错误(error)。yield语句返回消息。
具体的返回值请参考CommandReturn的定义:langbot_plugin.api.entities.builtin.command.context.CommandReturn
接下来做什么
您已经了解了命令注册和命令执行的基本信息,接下来可以:- 查看插件通用 API
