Skip to content
ictye edited this page Dec 5, 2023 · 1 revision

api文档

depends.Plugin_Main

插件程式的主类,定义了插件和主程式的接口

self.stop: bool

插件是否停止(没用)

self.plugin_js_sprit_support: bool

插件js sprit支持,设置为Ture则会加载self.plugin_js_sprit: str为前端js插件

self.plugin_js_sprit: str

js插件,需要遵循amd标标准

self.type: str

插件类型,但是不要改变它,你需要通过self.plugin_init()的返回值来改变类型

self.config

插件配置,通过self.read_config(self)来对它初始化,通过self.update_config(self)来更新配置

self.sprit_cgi_support

插件cgi支持,将它设置为True的时候,将会把self.sprit_cgi()注册为前端cgi

self.sprit_cgi_lists: {}

cgi列表,訪問/{plugin_name}/{鍵名}就可以訪問其中的cgi函數,所有cgi函數都是aiohttp程序調用,也就需要返回web.Response之類的

self.plugin_name

插件名称,它很重要,这将会决定配置文件的位置,没有它将无法写入配置

def plugin_init(self) -> str:

插件开始被加载时调用,父函数本身不实现任何功能,需要返回插件类型给插件系统以判断插件类型(实际上这个类就是个异步迭代器)

return:如果是”message“则表示这是个消息提供插件,如果是”analyzer“则为消息插件

async def plugin_main(self):

插件的主方法,此方法停止时插件也会被视为运行完毕

async def message_filter(self, message) -> msgs.msg_box:

消息过滤器,用于自动处理消息,比如翻译或者敏感词过滤 :param message:待处理的消息 :return 消息

async def message_anaylazer(self, message):

消息分析

async def sprit_cgi(self, request):

脚本cgi接口(目前不使用它,但是要使用cgi你必須實現它,會在下個版本移除此特性) :param request:请求对象 :return 响应,用aiohttp的就行(已经封装为self.web)

def dm_iter(self, params: dict, connect_waper: connects.connect_wrapper) -> object:

返回弹幕迭代对象 :param params: 前端的get参数 :param connect_waper: 连接信息 :return 消息迭代对象

def update_config(self):

更新配置,将自身的配置写入文件并且保存在计算机上

def read_config(self):

读取配置

def plugin_stop(self):

停止插件

def plugin_callback(self):

插件回调

def plugin_getconfig(self) -> dict:

获取插件配置

def plugin_type(self) -> str:型

获取插件类型