HibiKier / nonebot_plugin_statistical

MIT License
5 stars 0 forks source link

nonebot_plugin_statistical

介绍

基于 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")

推荐的配置(规避 on_message 导致统计次数不符[过高])


  1.可以的话,将所有 on_message 设置一个相同的 priority,并将 STATISTICAL_BLACK_PRIORITY = [指定的priority]

  2.如果插件中仅包含 on_message,可在STATISTICAL_BLACK_MODEL中直接添加

  3.首次运行生成 plugin2cmd.json,在文件中 white_list 字段中添加 on_message模块 后再次启动

使用方法

命令总汇

【注1】:开头带 ‘我的’ 皆为个人的统计,反之为群聊的统计

【注2】:以下参数[cmd]只需要是模块cmd列表中的一个即可,不需要是cmd[0]

【注3】:所有数据操作都为 SUPERUSER 权限

命令 参数 说明 示例
功能调用统计/我的功能调用统计 以柱状图的方式展示从开始统计开始到现在的全部数据
日功能调用统计/我的日功能调用统计 以柱状图的方式展示今日功能调用数据
周功能调用统计/我的周功能调用统计 [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]来添加对应模块 删除统计展示白名单 色图
显示统计展示白名单 显示当前的统计展示白名单 显示统计展示白名单

更新

2022/2/15

2021/7/10