插件开发
如果需要机器人本体提供的功能可查阅ATRI提供的功能与LK插件提供的功能.
符合ATRI-LK
规范的插件
1. 如何创建一个能够让ATRI识别的插件
首先在plugins
目录下创建一个plugin_name.py
文件或者一个plugin_name
软件包。
在plugin_name.py
或plugin_name/__init__.py
中输入以下代码便可以创建一个ATRI能够识别的插件。
python
from ATRI.service import Service
service_name = Service("服务名").document("服务介绍").type(Service.ServiceType.TYPENAME).version('1.0.0')
或者:
python
from ATRI.service import Service
service_name = Service(
"服务名"
"服务介绍"
'1.0.0'
Service.ServiceType.TYPENAME
)
Service.ServiceType.TYPENAME
中的TYPENAME
并不存在,请自行改为自己想要的类型。
服务的更多属性值请参考服务属性
2. 为服务添加功能
在创建完一个名为service_name
的服务后,便可以为其添加事件响应器(Matcher)
来实现功能的添加。
以下为添加一个名为matcher_name
的类型为on_command
的事件响应器
代码,通过事件响应器
实现功能。
python
matcher_name = service_name.on_command(cmd="指令名称", docs="指令介绍")
更多匹配方式请参考事件响应器
ATRI插件依然也支持原版的
事件响应器
,但不能在服务菜单中找到。
3. 实现功能
后续插件功能的实现与NoneBot
插件的实现一致。请参考官方文档学习插件编写。
从ATRI
移植
原版ATRI插件依然可用,但插件类型会成为默认值其他插件
。从原版ATRI插件进行移植只需要进行以下修改即可。
python
# 原来的服务
service = Service("服务名").document("服务介绍").set_other_attribute(args,)
# 新的服务
service = Service("服务名").document("服务介绍").type(Service.ServiceType.TYPENAME).version('1.0.0').set_other_attribute(args,)
从其他nonebot插件移植
待补充