AstrBot 群聊整活工具箱,提供低风险、可退出、受频率限制的娱乐功能。
作者:小星萤
版本:1.2.1
AstrBot:>=4.16,<5
/今日身份:同一群、同一成员当天结果固定。/今日运势:生成娱乐性质的赛博运势。/群聊天气:根据插件当天记录的消息数和活跃人数生成群聊气象。/今日称号:根据成员当天已记录的发言数量生成称号。/帮我选:从 2–20 个候选项中随机选择一个。/骰子:支持默认1d6、指定面数或数量d面数。/抛硬币:随机返回正面或反面。/今日排行:以图片显示当天已记录发言数前十名;图片生成或发送失败时自动回退文本。/整活日报:汇总消息数、活跃人数、发言前三与被动触发次数。- 随机短消息吐槽。
- 连续复读达到阈值后随机复读或打断。
- 每群每日被动触发次数上限。
- 夜间静默时段。
- 成员可随时退出或重新加入被动整活。
- 管理员可控制运行时总开关和当前群开关;普通功能指令由全员使用。
被动整活 passive_enabled 默认关闭。建议先填写 group_whitelist,重载插件并确认主动指令正常后,再打开被动整活。
插件不会执行禁言、踢人、撤回或伪造账号安全通知,也不会记录完整消息正文。持久化内容仅包括成员当天发言次数、群消息总数、被动触发次数、退出名单和管理员设置的群开关。
| 配置项 | 默认值 | 说明 |
|---|---|---|
enabled |
true |
插件总开关 |
passive_enabled |
false |
随机回复和复读整活开关 |
recognize_group_admins |
true |
管理指令同时识别群主、群管理员;关闭后仅识别 AstrBot 管理员 |
group_whitelist |
空 | 群 ID 白名单;空表示全部群 |
trigger_probability |
0.15 |
普通短消息随机触发概率,范围 0–1 |
daily_group_limit |
8 |
每群每天最多被动触发次数 |
repeat_threshold |
3 |
连续相同文本触发阈值 |
quiet_start_hour |
23 |
静默开始小时 |
quiet_end_hour |
7 |
静默结束小时 |
修改 WebUI 配置后请重载插件。静默开始和结束相同时表示不设置静默时段。
插件通过 Pillow 在内存中生成 PNG 排行图,再使用 AstrBot 的图片消息链发送,不会落地临时图片。依赖声明为 Pillow>=10.0.0,可直接复用 AstrBot 核心环境固定的 Pillow 版本;安装插件时请确保依赖检查成功。
排行图会自动查找 Android、Linux、Windows 和 macOS 的常见中文字体。如果运行环境没有可用中文字体、图片渲染失败或平台发送图片失败,指令会自动回退为文本排行。
| 指令 | 权限 | 说明 |
|---|---|---|
/今日身份 |
所有人 | 获取当天离谱身份;别名 /离谱身份 |
/今日运势 |
所有人 | 获取赛博运势;别名 /赛博算命 |
/群聊天气 |
所有人 | 查看今日群聊气象;别名 /群气象 |
/今日称号 |
所有人 | 按今日发言数生成称号;别名 /我的称号 |
/帮我选 选项1,选项2 |
所有人 | 随机选择;支持逗号、顿号、竖线、分号或空格分隔 |
/骰子 |
所有人 | 默认 1d6;也可用 /骰子 20 或 /骰子 2d6 |
/抛硬币 |
所有人 | 随机正反面;别名 /扔硬币 |
/今日排行 |
所有人 | 图片排行前十,失败回退文本;别名 /群聊排行 |
/整活日报 |
所有人 | 查看今日群聊摘要;别名 /群聊日报 |
/整活退出 |
所有人 | 退出所有群的被动整活 |
/整活加入 |
所有人 | 重新允许被动整活 |
/整活状态 |
所有人 | 查看总开关、本群开关、限额与静默时段 |
/整活总开 |
管理员 | 开启持久化运行时总开关 |
/整活总关 |
管理员 | 关闭主动功能、统计和被动整活 |
/整活开 |
管理员 | 开启当前群;不能绕过配置白名单 |
/整活关 |
管理员 | 关闭当前群的主动与被动整活 |
/整活帮助 |
所有人 | 查看帮助;别名 /工具箱帮助 |
退出被动整活不会禁用主动娱乐指令。
data/plugin_data/astrbot_plugin_fun_toolbox/state.json
状态文件采用临时文件替换方式保存,损坏时插件会回退为空状态。统计按设备本地日期自动重置。
- 先把测试群写入
group_whitelist。 - 保持
passive_enabled=false,测试四个主动娱乐指令。 - 再开启被动整活,建议初始概率不超过
0.15。 - 将
daily_group_limit保持在 5–10 次,避免刷屏。 - 在群公告中说明成员可使用
/整活退出。
- 群聊天气和称号只统计插件启动后观察到的文本消息。
- 插件不读取历史消息。
- 图片或无文本消息不参与复读判断。
- 不同平台对消息事件的表示不同,实际被动触发表现取决于适配器。