From 98addff20a7d9fff145ae1ede66ef0fb6ba209ae Mon Sep 17 00:00:00 2001 From: Chen_Xu233 Date: Sun, 28 Jul 2024 10:08:25 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20:wrench:=20=E5=90=8E=E7=BC=80?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=81=A2=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 36 +++++++++++++------------- nonebot_plugin_dialectlist/__init__.py | 21 +++++++++++---- nonebot_plugin_dialectlist/config.py | 3 ++- pyproject.toml | 2 +- 4 files changed, 37 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index f5600a5..6cce79e 100644 --- a/README.md +++ b/README.md @@ -51,13 +51,14 @@ nonebot-plugin-dialectlist 在 .env 中,可以添加以下配置项 ```python dialectlist__string_format = '第{index}名:\n{nickname},{chatdatanum}条消息、n' #消息格式 -dialectlist__string_suffix_format = '你们的职业是水群吗?————MYX\n 计算花费时间:{timecost}秒' #消息后缀格式 dialectlist__get_num = 10 #获取人数数量 dialectlist__visualization = True #是否可视化 -dialectlist__visualization_type = '圆环图' #可视化方案 +# dialectlist__visualization_type = '圆环图' #可视化方案 (不再支持) dialectlist__font = 'SimHei' #字体格式 dialectlist__excluded_people = [] #排除的人的 QQ 号(或频道号?(未经测试)) dialectlist__excluded_self = True #是否排除机器人自己 QQ +dialectlist__suffix: bool = False # 是否显示后缀 +dialectlist__string_suffix: str = "统计花费时间{timecost}" # 消息格式后缀 ``` 💭也可以不进行配置,这将会使插件按照默认配置运行 @@ -68,34 +69,33 @@ dialectlist__excluded_self = True #是否排除机器人自己 QQ ## 🗨命令 __!!注意!!__ 新版本指令调用方式改变,改为更易理解也更好打的 B 话榜。 -同时也可以用类似 `/今日废话榜` 的方式(只要改前面的就好了)(算是给[盘古之白](https://github.com/vinta/pangu.js)风格爱好者的福利吧?) +同时也可以用类似 `/今日废话榜` 的方式(只要改前面的就好了)(算是给 [盘古之白](https://github.com/vinta/pangu.js) 风格爱好者的福利吧?) ### 🎨一般用法 --`/B话榜` ————看看有史以来(机器人存在以来)群友们发了多少消息! (好像没写) +-`/B 话榜` ————看看有史以来(机器人存在以来)群友们发了多少消息! (好像没写) --`/今日B话榜` ————看看今天的群友发了多少消息! +-`/今日 B 话榜` ————看看今天的群友发了多少消息! --`/昨日B话榜` ————看看昨天的群友发了多少消息! +-`/昨日 B 话榜` ————看看昨天的群友发了多少消息! --`/前日B话榜` ————看看前天的群友发了多少消息! +-`/前日 B 话榜` ————看看前天的群友发了多少消息! --`/本周B话榜` ————看看本周的群友发了多少消息! +-`/本周 B 话榜` ————看看本周的群友发了多少消息! --`/上周B话榜` ————看看上周的群友发了多少消息! +-`/上周 B 话榜` ————看看上周的群友发了多少消息! --`/本月B话榜` ————看看这个月的群友发了多少消息! +-`/本月 B 话榜` ————看看这个月的群友发了多少消息! --`/年度B话榜` ————看看今年的群友发了多少消息! +-`/年度 B 话榜` ————看看今年的群友发了多少消息! --`/历史B话榜` ————看看历史上(机器人存在以来)的群友发了多少消息! +-`/历史 B 话榜` ————看看历史上(机器人存在以来)的群友发了多少消息! ### 🚀进阶用法 -`/{时间类型(今日|年度)?}{B话榜|废话榜} {时间类型?} {ISO8601格式时间} {群号}` - -如:`/B话榜 历史 2024-01-01~2024-01-02 12345678` +`/{时间类型(今日|年度)?}{B 话榜|废话榜} {时间类型?} {ISO8601 格式时间} {群号}` +如:`/B 话榜 历史 2024-01-01~2024-01-02 12345678` ## 📖版本 @@ -171,14 +171,14 @@ __!!注意!!__ - [ ] 更好看的图片渲染 -- [ ] 提供多样化的渲染器配置(html渲染,pillow渲染,统计绘图软件渲染) -- [ ] 为pillow渲染方式提供插件的加载方式(什么?插件里的插件???) +- [ ] 提供多样化的渲染器配置(html 渲染,pillow 渲染,统计绘图软件渲染) +- [ ] 为 pillow 渲染方式提供插件的加载方式(什么?插件里的插件???) - [ ] 私聊的查询(超级用户可以任意查询群聊的信息)一半完成 - [ ] 查询带某关键词的消息量 -- [ ] 使用管理员权限直接获取QQ官方统计的今日消息量以优化代码运行速度 +- [ ] 使用管理员权限直接获取 QQ 官方统计的今日消息量以优化代码运行速度 - [ ] 特殊的储存方案优化消息统计 diff --git a/nonebot_plugin_dialectlist/__init__.py b/nonebot_plugin_dialectlist/__init__.py index 5d3441d..00db593 100644 --- a/nonebot_plugin_dialectlist/__init__.py +++ b/nonebot_plugin_dialectlist/__init__.py @@ -10,6 +10,7 @@ require("nonebot_plugin_cesaa") import re import os import cn2an +import time as t import nonebot_plugin_saa as saa from typing import Union, Optional, List @@ -137,7 +138,8 @@ async def _group_message( time: Optional[str] = None, group_id: Optional[str] = None, ): - + t1 = t.time() + state["t1"] = t1 dt = get_datetime_now_with_timezone() if not group_id: @@ -298,7 +300,16 @@ async def handle_rank( chatdatanum=rank2[i].user_bnum, ) string += str_example - - image = await get_rank_image(rank2) - - await (saa.Text(string) + saa.Image(image)).finish(reply=True) + + msg = saa.Text(string) + + if plugin_config.visualization: + image = await get_rank_image(rank2) + msg += saa.Image(image) + + if plugin_config.suffix: + timecost = t.time() - state["t1"] + suffix = saa.Text(plugin_config.string_suffix.format(timecost=timecost)) + msg += suffix + + await msg.finish(reply=True) diff --git a/nonebot_plugin_dialectlist/config.py b/nonebot_plugin_dialectlist/config.py index ee2baab..3079b8c 100644 --- a/nonebot_plugin_dialectlist/config.py +++ b/nonebot_plugin_dialectlist/config.py @@ -12,7 +12,8 @@ class ScopedConfig(BaseModel): template_path: str = "./template/rank_template.j2" # 模板路径 visualization: bool = True # 是否可视化 excluded_people: List[str] = [] # 排除的人的QQ号 - visualization_type: Literal["饼图", "圆环图", "柱状图"] = "圆环图" # 可视化方案 + suffix: bool = False # 是否显示后缀 + string_suffix: str = "统计花费时间:{timecost}秒" # 消息格式后缀 class Config(BaseModel): diff --git a/pyproject.toml b/pyproject.toml index d5dace5..015730a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "nonebot-plugin-dialectlist" -version = "2.2.0" +version = "2.2.1" description = "看看你群群友有多能说" authors = [ {name = "Chen_Xu233", email = "woyerpa@outlook.com"},