[WillBot] w-repeat:复读管理

临时起意,从今天开始每天发布一个 WillBot 系列插件(


简介

本插件会详细记录群内的每一次复读(以便日后查询),并提供丰富的统计数据和图表。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>  指定排序方式

使用例:

  1. repeat.s -f 同人女 -d all,查询包含「同人女」的所有复读
  2. repeat.s -s tps -d month,查询本月复读,按 TPS 排序(看得出来群友看比赛的时候扣字很快
  3. 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

使用例:

  1. repeat.g.topc 2024-10,查询 2024 年 10 月的复读日榜(复读之王是谁已经一目了然了)

repeat.graph.time (repeat.g.time)

查看群复读时段图的指令。

使用例:

  1. 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,或者用波浪号(~)分割的开始、结束时间

使用例:

  1. repeat.g.flow -d month,看本月复读流向图
  2. repeat.g.flow -d month -m 20%,看本月复读流向图,但略去小于最大流量 20% 的流量线。

要去睡觉了,先介绍到这里,未完待续

4 个赞