基于 run_postprocessor 实现的功能调用统计以及可视化,且可为插件设置别名和显示白名单,
已实现动态命令增删改查别名或手动修改文件后重载,以及动态命令增删查白名单,在白名单中的插件会被统计但是不会在可视化中显示,也不会自动更新cmd。
提供配置黑名单,屏蔽统计该插件,一般为 on_message 等 或不想被统计的插件
1.在linux中可能需要中文字体,不然会出现中文乱码,找到matplotlib的数据目录后在font目录下放入SIMHEI.ttf文件,
后删除 ~/.cache/matplotlib文件
2.所有的cmd(别名)不得重复
3.尽量通过命令来修改数据
4.模块中的cmd[0]为图表上显示的名称
例如:"ddd": { "模块名称": {
"cmd": [ "cmd": [
"滴滴滴", "别名1",
"花花花" "别名2"....
] ]
} }
则 滴滴滴 为图表上显示该功能的名称,该项可以通过命令'提升统计cmd [cmd]'来更改,示例:提升统计cmd 花花花,
说明:将 花花花 提升到cmd[0]的位置,图表中将以 花花花 显示该模块而不是滴滴滴
5.关于修改文件,只可以修改 plugin2cmd.json 文件,另外2个文件是基于这个文件生成的,
可以修改文件中的 'white_list' 以及模块的cmd,修改完毕后通过命令 '重载统计数据' 来重新生成文件
6.cmd只会自动记录on_command的命令,on_regex以及on_keyword只会在cmd中保存模块名称,
请在 plugin2cmd.json 中自定义后重载,或使用命令直接添加
7.修改过 plugin2cmd.json 文件后必须使用命令 '重载统计数据'!
1.一些基础配置?
# 在 .env 文件中配置
# 以下皆为默认值
STATISTICAL_PATH = '' # 设置数据存储路径,默认路径为 data/statistical/
# 不屏蔽 on_message 或 不将 on_message 放入白名单(黑白名单二选一)
# 会导致统计重复以及重启bot时该插件因重复cmd报错
STATISTICAL_BLACK_MODEL = [] # 统计插件黑名单,不会统计列表中的插件模块,示例:[setu, loli]
STATISTICAL_BLACK_PRIORITY = [] # 统计插件黑名单,不会统计列表中指定priority的所有插件,示例:[1]
2.在bot入口文件添加
nonebot.load_plugin("nonebot_plugin_statistical")
1.可以的话,将所有 on_message 设置一个相同的 priority,并将 STATISTICAL_BLACK_PRIORITY = [指定的priority]
2.如果插件中仅包含 on_message,可在STATISTICAL_BLACK_MODEL中直接添加
3.首次运行生成 plugin2cmd.json,在文件中 white_list 字段中添加 on_message模块 后再次启动
命令 | 参数 | 说明 | 示例 |
---|---|---|---|
功能调用统计/我的功能调用统计 | 无 | 以柱状图的方式展示从开始统计开始到现在的全部数据 | 无 |
日功能调用统计/我的日功能调用统计 | 无 | 以柱状图的方式展示今日功能调用数据 | 无 |
周功能调用统计/我的周功能调用统计 | [cmd] | 当未有参数时,以柱状图展示一周内的功能调用 当有参数时,以折线图的方式展示该功能一周内的调用情况 |
周功能调用统计 周功能调用统计色图 |
月功能调用统计/我的月功能调用统计 | [cmd] | 同上 | 同上 |
重载统计数据 | 无 | 用于手动修改 plugin2cmd.json 文件后重载 | 无 |
添加统计cmd | [cmd] [new_cmd] | 为模块新增cmd(别名),通过参数[cmd]查找到所在模块后添加[new_cmd] | 添加统计cmd 色图 涩图 |
删除统计cmd | [cmd] | 删除模块的cmd(别名) | 删除统计cmd 色图 |
显示统计cmd | [cmd] | 展示该模块的所有cmd(别名),通过参数[cmd]查找到该模块 | 显示统计 色图 |
提升统计cmd | [cmd] | 提升参数[cmd]所在模块的cmd列表中位置至cmd[0],cmd[0]位置用于在图表上显示 | 提升统计cmd 色图 |
添加统计展示白名单 | [cmd] | 将某模块不在图表上展示,通过指定cmd来查询的话会以未查询到数据回绝,通过参数[cmd]来添加对应模块 | 添加统计展示白名单 色图 |
删除统计展示白名单 | [cmd] | 将某模块从白名单中删除,通过参数[cmd]来添加对应模块 | 删除统计展示白名单 色图 |
显示统计展示白名单 | 无 | 显示当前的统计展示白名单 | 显示统计展示白名单 |