接口参考
**写插件时查这一层。**基础是每天都要用的面,高级是扩展框架自身时才碰的。
所有同步方法在
async def里都有a前缀的异步版本(推荐),例如ctx.send_msg→ctx.asend_msg。
基础
| 文档 | 解决什么问题 | 什么时候读 |
|---|---|---|
| 插件上下文(ctx) | ctx 上能用什么——注册命令、发消息、查库、定时任务、WebUI、权限。当字典翻即可,不必通读 | 写插件时随时翻 |
| 事件对象 | handler 第二参数:读消息内容、查身份、判断图片 / @ / 回复、拦住事件传播 | 要读消息字段或拦事件 |
| 服务注册表(DI) | 「调 OneBot 发消息」这类能力可能被关掉、也可能不存在。取官方能力前先看这页,服务不在时核心也能正常跑 | 要用官方能力 / 查服务名 |
| 核心框架 | 底层容器本身:服务注册表、加载器、事件循环、启动时序。99% 的插件只用 ctx 就够,这页可以先跳过 | 要直接摸框架内核 |
高级
| 文档 | 解决什么问题 | 什么时候读 |
|---|---|---|
| 插件装饰器 | 框架原生的声明式注册写法——把命令、事件、任务、WebUI 的注册信息直接写在函数定义处,少写样板 | 想少写样板代码 |
| 扩展点(Hook) | 不改框架源码也能插逻辑:启动、收消息、发动作,几乎每个环节都有插槽(审计、限流、过滤) | 要在框架环节上挂逻辑 |
| 协议适配器 | 接一个新事件源:Telegram、Discord、MQTT、HTTP Webhook……写一个 ProtocolAdapter 接进去,业务插件完全感知不到接入端换了 | 要接框架尚未支持的平台 |