临时起意,从今天开始每天发布一个 WillBot 系列插件(
- Day:1
- 插件:
w-repeat
- GitHub:https://github.com/willbot-koishi/koishi-plugin-w-repeat/
- NPM:https://www.npmjs.com/package/koishi-plugin-w-repeat
简介
本插件会详细记录群内的每一次复读(以便日后查询),并提供丰富的统计数据和图表。Bot 自动复读也是可开启的功能之一,但并非本插件的核心功能。
可以说是适合复读狂热爱好者的插件。若您的群聊复读强度较低,可能无法完整体验本插件的强大与乐趣所在。(作为参考,在本插件主要服务的 5d chess 群,日均复读次数(并非条数)为 200+。)
名词解释
- 复读:是指在群聊中重复发送相同消息的行为
- 一次复读:连续的内容相同的消息集合,和复读相关的信息
- 一条复读:一次复读中的一条消息
- 复读发起者:即被复读者,ta 发送的消息是一次复读中的第一条消息
- 复读开始时间:复读发起者发送消息的时间
- 复读参与者:一次复读中所有发送消息的人
- 复读打断者:一次复读之后紧接着发送不同消息的人
- 复读结束时间:复读打断者发送消息的时间
- 复读的挂起与继续:一次复读被打断后,根据插件配置,会进入挂起状态,若一定消息数之内又有人发送相同消息,则复读继续
- 复读持续时间:复读结束时间与开始时间相差的秒数
- 复读 TPS:描述复读激烈程度的量,定义为复读条数与复读持续时间的比值
指令说明
repeat.stat
(repeat.s
)
用于查看群复读统计的关键指令。
选项说明
-g, --guild <guild> 指定群(默认为本群) 与 global(值为 true 时) 冲突 -G, --global 指定群(默认为本群) -d, --duration <duration>> 指定时间范围。可以为 hour/day/week/month/all,或者用波浪号(~)分割的开始、结束时间 -p, --page <page> 查看分页 -l, --list 显示复读记录列表 -L 不显示复读记录列表 -t, --top <top> 排行榜人数 -f, --filter <content> 根据查找复读记录 与 list(值为 false 时) 冲突 -i, --image 查找包含图片的复读记录 与 list(值为 false 时) 冲突 --us, --starter <user> 根据发起者查找(默认为自己) 与 list(值为 false 时) 冲突 --ur, --repeater <user> 根据参与者查找(默认为自己) 与 list(值为 false 时) 冲突 --ui, --interrupter <user> 根据打断者查找(默认为自己) 与 list(值为 false 时) 冲突 -j, --jsfilter <code> 与 filter、list(值为 false 时) 冲突 -s, --sort <sortby> 指定排序方式
使用例:
repeat.s -f 同人女 -d all
,查询包含「同人女」的所有复读
repeat.s -s tps -d month
,查询本月复读,按 TPS 排序(看得出来群友看比赛的时候扣字很快)
repeat.s -L -t 5 -d 2024-10-01~
,查询 2024-10-01 至今的复读,不显示复读列表,排行榜人数为 5
repeat.graph.top-calendar [month]
(repeat.g.topc
)
图表很有趣,所以先写这个。
查询月复读日榜的指令。
选项说明
-g, --guild <guild> 指定群(默认为本群) -t, --type <type> 排行榜类型,可以为 r(epeater) / (s)tarter / i(nterrupter) / a(ll),默认为 all
使用例:
repeat.g.topc 2024-10
,查询 2024 年 10 月的复读日榜(复读之王是谁已经一目了然了)
repeat.graph.time
(repeat.g.time
)
查看群复读时段图的指令。
使用例:
repeat.g.time
,看图
repeat.graph.flow
(repeat.g.flow
)
查看群复读流向图的指令,我很喜欢的一个图。
图表说明:
- 圆圈大小代表被复读次数多少
- 圆圈 A 和 B 之间有和 A 相同颜色的流量线,意为 A 复读 B。流量线的粗细代表复读次数多少
选项说明
-g, --guild <guild> 指定群(默认为本群) -m, --minflow <minflow> 流量最小大小,低于该指的流向线条不显示,可用百分数表示最大流量的百分比 -d, --duration <duration> 指定时间范围。可以为 hour/day/week/month/all,或者用波浪号(~)分割的开始、结束时间
使用例:
repeat.g.flow -d month
,看本月复读流向图
repeat.g.flow -d month -m 20%
,看本月复读流向图,但略去小于最大流量 20% 的流量线。
要去睡觉了,先介绍到这里,未完待续