/nonebot-plugin-picstatus

运行状态图片版 for NoneBot2 / A NoneBot2 plugin generates a picture which shows the status of current device

Primary LanguagePythonMIT LicenseMIT

NoneBotPluginLogo

NoneBotPluginText

NoneBot-Plugin-PicStatus

✨ 运行状态图片版 for NoneBot2 ✨

python pdm-managed wakatime
Pydantic Version 1 Or 2 license pypi pypi download
NoneBot Registry Supported Adapters

📖 介绍

不多说,直接看图!

效果图

点击展开

example example

💿 安装

以下提到的方法 任选其一 即可

[推荐] 使用 nb-cli 安装 在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装
nb plugin install nonebot-plugin-picstatus
使用包管理器安装 在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令
pip
pip install nonebot-plugin-picstatus
pdm
pdm add nonebot-plugin-picstatus
poetry
poetry add nonebot-plugin-picstatus
conda
conda install nonebot-plugin-picstatus

打开 nonebot2 项目根目录下的 pyproject.toml 文件, 在 [tool.nonebot] 部分的 plugins 项里追加写入

[tool.nonebot]
plugins = [
    # ...
    "nonebot_plugin_picstatus"
]

⚙️ 配置

🎨 扩展

想知道如何为插件新增数据源、图片模板与背景图来源的话,请参考下方示例

🎉 使用

使用指令 运行状态(或者 状态 / zt / yxzt / status,可修改)来触发插件功能
可以在消息后面跟一张图片或者回复一张图片来自定义背景图,默认为随机背景图
更多自定义项参见 配置

📞 联系

QQ:3076823485
Telegram:@lgc2333
吹水群:1105946125
邮箱:lgc2333@126.com

💡 鸣谢

  • 强大的命令解析库,和多平台适配方案
  • 多平台用户信息获取方案
  • HTML 渲染方案
  • 背景图来源

💰 赞助

赞助我

感谢大家的赞助!你们的赞助将是我继续创作的动力!

📝 更新日志

2.1.2

2.1.1

  • 重新加入指令带图/回复图自定义背景功能

2.1.0

  • 优化代码结构,现在理论上可以使用其他插件往本插件内添加数据源、图片模板与背景图来源了
  • 添加背景图预载功能,理论可以加快出图速度
  • 删除 gm 背景图源,默认图源改为 loli
  • 配置项变动:
    • 新增 PS_BG_PRELOAD_COUNT
    • 新增 PS_DEFAULT_PIC_FORMAT
    • PS_BG_PROVIDER 默认值变动
    • PS_COUNT_MESSAGE_SENT_EVENT 接受类型变动

2.0.0

  • 代码重构,现在开发者可以更自由灵活的添加新状态图片样式
  • 配置项变动:
    • 新增 PS_TEMPLATE
    • 新增 PS_COLLECT_INTERVAL
    • 新增 PS_DEFAULT_COLLECT_CACHE_SIZE
    • 新增 PS_COLLECT_CACHE_SIZE
    • 新增 PS_COUNT_MESSAGE_SENT_EVENT
    • 新增 PS_DISCONNECT_RESET_COUNTER
    • 重命名 PS_COMPONENTS -> PS_DEFAULT_COMPONENTS
    • 重命名 PS_ADDITIONAL_CSS -> PS_DEFAULT_ADDITIONAL_CSS
    • 重命名 PS_ADDITIONAL_SCRIPT -> PS_DEFAULT_ADDITIONAL_SCRIPT
v1 更新日志(点击展开)

1.1.1

  • 新增内置 CSS theme-vanilla.css
  • 微调默认 CSS

1.1.0

  • 支持 Pydantic V2

1.0.3

  • 修复了当有读取数据出错的分区时图片无法正常渲染的 Bug

1.0.2

  • 修复了背景图还没加载就出图的 Bug(希望),顺带调整了一下附加 JS 的写法

1.0.1

  • impl #38,新增配置 PS_OB_V11_USE_GET_STATUS

1.0.0

重构项目:

  • 换用 alconna 与 userinfo 适配多平台
  • 换用 htmlrender 渲染图片
  • 删除消息附带图片作为自定义背景图功能
  • 配置项改动:
    • 添加 PS_COMPONENTS
    • 添加 PS_ADDITIONAL_CSS
    • 添加 PS_ADDITIONAL_SCRIPT
    • 添加 PS_BG_PROVIDER
    • 添加 PS_BG_LOLICON_R18_TYPE
    • 添加 PS_BG_LOCAL_PATH
    • 添加 PS_SHOW_CURRENT_BOT_ONLY
    • 删除 PS_FONT
    • 删除 PS_CUSTOM_BG
    • 删除 PS_BG_COLOR
    • 删除 PS_MASK_COLOR
    • 删除 PS_BLUR_RADIUS
    • 删除 PS_FOOTER_SIZE
    • 删除 PS_MAX_TEXT_LEN
    • 删除 PS_DEFAULT_BG
v0 更新日志(点击展开)

0.5.7

  • 修复 Bot 刚连接时收发数为未知的问题

0.5.6

  • 修复 Bot 连接时间与收发数显示不正确的问题

0.5.5

  • 一些不影响使用的小更改
  • 添加配置项 PS_DEFAULT_AVATARPS_DEFAULT_BGPS_COMMAND

0.5.4

  • 针对性修复 Shamrock 获取状态信息报错的问题 (#34)

0.5.3

  • 修改了读取 Linux 发行版名称与版本的方式

0.5.2

  • 修正读取分区信息错误时的提示信息 (#33)

0.5.1

  • 使用 SAA 向 Telegram 平台发送消息

0.5.0

  • 先获取状态信息再进行画图,可以获取到更精准的状态信息
  • 添加进程占用信息的展示
  • 测试网站结果状态码后面会带上 reason,如 200 OK / 404 Not Found
  • 添加了一些配置项(PS_SORT_PARTS, PS_SORT_PARTS_REVERSE, PS_SORT_DISK_IOS, PS_SORT_NETS, PS_SORT_SITES, PS_PROC_LEN, PS_IGNORE_PROCS, PS_PROC_SORT_BY, PS_PROC_CPU_MAX_100P, PS_REPLY_TARGET, PS_TG_MAX_FILE_SIZE

0.4.2

  • 添加配置项 PS_REQ_TIMEOUT (#25)

0.4.1

  • 现在默认使用 pil_utils 自动选择系统内支持中文的字体,删除插件内置字体
  • 使用 pil_utils 写 Bot 昵称,可以显示 Emoji 等特殊字符
  • 测试网站出错时不会往日志里甩错误堆栈了

0.4.0

  • 使用 nonebot-plugin-send-anything-anywhere 兼容多平台发送,并对 OneBot V11 和 Telegram 做了特殊兼容
  • 将状态图片保存为 jpg 格式,缩减体积
  • 测试网站现在按照配置文件中的顺序排序
  • 随机图来源换回 故梦 API
  • aiohttpaiofiles 换成了 httpxanyio

0.3.3

  • 修了点 bug
  • 新配置 PS_MAX_TEXT_LEN

0.3.2

  • 只有当 nickname 配置项填写后,插件才会使用该项作为图片中 Bot 的显示名称

0.3.1

  • 修复一处 Py 3.10 以下无法正常运行的代码

0.3.0

配置项更新详见 配置

  • 更新配置项 PS_TEST_SITES PS_TEST_TIMEOUT
  • 修复PS_NEED_AT配置无效的 bug
  • 现在只有命令完全匹配时才会触发

0.2.5

  • 更新配置项 PS_FOOTER_SIZE

0.2.4

  • 支持自定义默认背景图
  • 一些配置项类型更改(不影响原先配置)

0.2.3

  • 尝试修复磁盘列表的潜在 bug

0.2.2

此版本在图片脚注中显示的版本还是0.2.1,抱歉,我大意了没有改版本号

  • 添加配置项PS_IGNORE_NO_IO_DISK用于忽略 IO 为 0B/s 的磁盘
  • 添加配置项PS_IGNORE_0B_NET用于忽略上下行都为 0B/s 的网卡
  • 添加触发指令zt yxzt status
  • 获取信息收发量兼容旧版 GoCQ ,即使获取失败也不会报错而显示未知
  • 将忽略 IO 统计磁盘名独立出一个配置项PS_IGNORE_DISK_IOS
  • 忽略 磁盘容量盘符/IO 统计磁盘名/网卡名称 改为匹配正则表达式
  • 配置项PS_IGNORE_NETS添加默认值["^lo$", "^Loopback"]
  • 修复空闲内存显示错误的问题

0.2.1

  • 尝试修复type object is not subscriptable报错

0.2.0

  • 新增磁盘 IO、网络 IO 状态显示
  • SWAP 大小为 0 时占用率将会显示未部署而不是0%
  • CPU 等占用下方灰色字排板更改
  • 获取失败的磁盘分区占用率修改为未知%
  • 图片下方脚注修改为居中文本,字号调小,优化显示的系统信息
  • 修改随机背景图 API 为故梦 API 随机二次元壁纸
  • 现在会分 QQ 记录 Bot 连接时间(不同的 QQ 连接同一个 NoneBot 显示的连接时间将不同)
  • 背景图增加遮罩,颜色可配置
  • 可以配置各模块的背景底色
  • 可以配置分区列表中忽略的盘符(挂载点)
  • 可以忽略获取容量状态失败的分区
  • 可以使用.env.*文件中配置的NICKNAME作为图片中的 Bot 昵称
  • 添加必须 @Bot 才能触发指令的配置
  • 其他小优化/更改