📜 用户条款签署
插件名称: 用户条款签署控制
当前版本: 1.0.0
对指定用户或群聊启用条款确认;未同意条款前,相关对象无法继续使用 bot。
该插件只会对管理员指定的用户和群聊生效。没有被列入受控范围的用户,一般不会看到条款提示。
🚀 用户如何完成签署?
当 bot 第一次向你显示用户条款后,请阅读全部内容,然后再次发送以下完整句子:
我已知晓并同意遵守条款所有内容
必须与 bot 要求的文本一致。
正确流程
- 艾特 bot、发送命令或触发某个插件功能;
- bot 检测到当前用户或群聊尚未签署;
- bot 显示用户条款;
- 阅读条款;
- 再发送完整同意句;
- bot 记录签署状态;
- 之后可以正常使用。
⚠️ 不要在看到条款前提前发送同意句
第一次交互就直接发送:
我已知晓并同意遵守条款所有内容
不会立即完成签署。
插件会先显示条款,并提示你尚未阅读。之后需要再发送一次完整同意句,才会记录为已同意。
👤 用户条款与群组条款有什么区别?
| 类型 | 生效范围 |
|---|---|
| 用户条款 | 主要控制该用户与 bot 的私聊使用 |
| 群组条款 | 控制整个群聊是否可以使用 bot |
| 禁用用户 | 在私聊和任何群聊中都可能被拒绝 |
| 禁用群组 | 整个群聊会被拒绝使用 |
当某个群已经完成群组条款签署后,群内成员可以在该群正常使用;即使某位成员还没有单独签署用户条款,也不会在该群再次提示。
但这名用户私聊 bot 时,仍可能需要单独同意用户条款。
💬 什么情况下会检查条款?
普通群聊消息通常不会触发检查。
以下行为可能触发:
- 艾特 bot;
- 使用命令或唤醒前缀;
- 触发其他插件的交互功能;
- 在受控私聊中与 bot 交互。
🚫 拒绝或未同意会怎样?
- 状态为
pending:尚未完成签署; - 状态为
accepted:已经同意; - 状态为
rejected:已经拒绝。
未同意或明确拒绝时,插件会阻止后续 bot 功能。具体提示文字由站点管理员设置。
被加入禁用列表的用户或群组,会直接收到联系开发者或管理员的提示。
🧑💼 条款管理员命令
以下命令只供被配置在“条款管理员 SID 列表”中的用户使用。
查看状态
@bot terms status [user|group] [目标SID] [用户SID]
修改用户状态
@bot terms set user 用户SID accepted
@bot terms set user 用户SID pending
@bot terms set user 用户SID rejected
修改群组状态
@bot terms set group 群组SID accepted
@bot terms set group 群组SID pending
@bot terms set group 群组SID rejected
重置签署记录
| 命令 | 说明 |
|---|---|
@bot terms reset all | 重置全部记录 |
@bot terms reset user 用户SID | 重置指定用户 |
@bot terms reset group 群组SID | 重置指定群组 |
发布新条款
@bot terms publish 新条款正文
发布新条款后,已有签署状态会被重置为 pending,受控用户和群组需要重新同意。
🖥️ 签署面板
管理员可以在 AstrBot 插件详情页打开“签署面板”,用于:
- 查看签署记录;
- 查看禁用用户和禁用群组;
- 查看受控目标统计;
- 发布新版本条款;
- 发布后重置旧签署状态。
普通用户通常无法进入该面板。
⚠️ 使用注意
- 条款同意句必须按照 bot 提示完整发送。
- 用户条款和群组条款是两个独立作用域。
- 群组完成签署,不代表群成员已经完成私聊条款签署。
- 新条款发布后,需要重新确认。
- SID 是平台会话标识,不一定等于 QQ 号或群号。
- 条款管理员命令会直接修改签署状态,应谨慎操作。
- 本插件只负责记录是否同意,不负责判断条款内容本身是否合法或适当。
❓ 常见问题
Q:我明明发送了同意句,为什么没有通过?
第一次交互时提前发送同意句不会签署。需要先看到 bot 显示的条款,再发送一次完整同意句。
Q:为什么我在群里能用,私聊却提示同意条款?
群组条款和用户条款独立。该群可能已经整体同意,但你的私聊用户作用域仍未签署。
Q:为什么普通聊天不提示条款?
插件通常只在艾特、命令、唤醒或其他插件交互时检查,不会拦截所有普通群聊消息。
Q:为什么同意过以后又要求重新同意?
管理员可能发布了新版本条款,旧状态被重置为 pending。
📎 项目信息
- 显示名称:用户条款签署控制
- 当前版本:1.0.0
- 作者:AlanBacker
- AstrBot 要求:
>= 4.9.2 - 项目地址:https://github.com/AlanBacker/astrbot_plugin_user_terms