谁 at 我?—— 图文版
把群里别人 at 你的那段对话原貌还原成一张图发给你,而不是干巴巴一句「XX 在 X 时间 at 了你」。
支持 gsuid_core 与 NoneBot2 两种宿主。
- 会话粒度,不是消息粒度:a 连续 at b 视为同一次会话,期间 c at b 单独计一条
- 上下文还原:每条记录覆盖
a 首次发言 -1 条 ~ a 最后发言 +1 条的完整对话片段,结合前后-5/+10条群消息一起渲染 - 聊天图片随会话缓存:保留期内可以正常打开,过期统一清理 —— 占用按
RETENTION_DAYS和MAX_DISK_MB双重控制,撑到上限时自动从最早的记录开始淘汰 - 图片按出图尺寸存:反正只用来画那张 250x200 的缩略图,下载后即缩放转 webp,平均 ~5 KB/张(实测真实群聊图省 99%+),解码压缩都在线程池里跑
- 不记录 at 机器人自己:@bot 的指令消息不会进记录;
@bot @某人这类混合 at 仍会为「某人」建记录
把整个仓库 clone 到 gsuid_core/gsuid_core/plugins/ 下:
cd <你的 gsuid_core 路径>/gsuid_core/plugins
git clone https://github.com/Loping151/core_plugin_at_tracker AT_Tracker子目录 nonebot_plugin_at_tracker/ 用不上,可以删,不删也不影响。
仓库内 nonebot_plugin_at_tracker/ 即 nb 版本,按常规 NoneBot 插件方式装入。
群里发:
谁at我 # 查询自己
谁艾特我
谁@我
谁at我 @某人 # 帮别人查(at 谁就查谁)
机器人会回一张图,按时间倒序列出所有命中会话。
| Key | 说明 | 默认 |
|---|---|---|
RETENTION_DAYS |
AT 记录保留天数,超期删除 | 3 |
CACHE_SIZE |
群组最近消息缓存条数 | 5 |
TRACKING_COUNT |
检测到 AT 后继续追踪发送者后续消息条数 | 10 |
MAX_DISK_MB |
记录缓存磁盘占用上限(MB),超限从最早记录起淘汰到 90% 水位,0 为不限制 | 1024 |
EnableAvatarCache |
缓存用户头像(加速渲染,吃磁盘) | False |
源自作者本地的 NoneBot 插件,5 分钟改成的 gsuid 版本。移植欢迎,保留出处即可。