云服务与身份绑定
.cloud 是账号中心授权的入口,.bind 负责把不同平台的窗口关联到同一个真实 QQ。 只绑定账号时,用 .bind qq <你的QQ号> 即可,机器人会自动选择核验方式,不需要先学会邮件或 OAuth 指令。 需要云人物卡时再使用 .cloud:云卡授权也可以顺带核验真实 QQ,而单纯的绑定授权不授予云卡读写权限。
为什么需要绑定
骰娘在不同平台拿到的是不同的标识:OneBot 给的是真实 QQ 号,QQ 官方机器人只给一串 隔离的 OpenID,Discord 与 KOOK 各有自己的用户 ID。没有绑定时,同一个人在这些窗口 里会被当成不同的人,人物卡、好感、属性各存一份。
绑定之后它们指向同一份数据:在官方群里录的卡,回到 OneBot 窗口照样能用。
绑定快速上手
在 QQ 官方机器人、Discord 或 KOOK 的私聊中发送:
.bind qq 160703953把示例号码换成你自己的 QQ。机器人会根据当前客户端的配置自动选择:
- 有正式骰娘 key:优先 OAuth,私发账号中心的授权网址和授权码。在网页登录并同意 QQ 身份核验,回到原私聊发送
.bind confirm。 - 没有 key,但骰主启用了 SMTP:自动发送验证码到
你的QQ号@qq.com,回到原私聊发送.bind confirm <8位验证码>。无需重新填写 QQ 号。 - 两者都未配置:明确提示暂不可用,不发邮件、不完成绑定;可联系骰主设置,或从 OneBot / Milky 反向绑定。
OAuth 授权账号的已验证 QQ 必须与申请的目标号码一致;号码不同、没有授予身份权限或账号已经绑定其他 QQ,都不能覆盖绑定。 OAuth 失败时不会悄悄改成邮件;如骰主已配置 SMTP,可主动输入 .bind qq 160703953 email 切换。切换后用邮件验证码确认,旧 OAuth 申请作废。
申请与确认须来自同一个平台原始用户、同一个客户端的同一私聊。机器人重启或申请过期后,请重新发起。
云人物卡快速上手
在私聊中对骰娘发送:
.cloud auth骰娘会私发一个网址和验证码。打开网址、用账号中心的账号登录、核对是哪台骰娘在申请、 同意授权,然后回到私聊:
.cloud confirm看到“授权已就绪”即完成。若回复中带有你的 QQ 号,说明真实 QQ 已核验并完成绑定。
为什么授权就能证明 QQ 号
账号中心注册时只接受纯数字 QQ 邮箱,且必须通过邮件验证码。因此注册邮箱的前缀就是 一个已验证的真实 QQ 号。
.cloud 指令
所有 .cloud 指令都只能在私聊中使用。
.cloud auth [write] // 申请账号中心授权,默认只读,加 write 同时申请写入
.cloud confirm // 在网页输入验证码同意后,回到私聊确认
.cloud status // 查看当前授权状态
.cloud logout // 清除本机授权
.cloud list // 查看云端人物卡
.cloud pull <云卡ID> [本地卡名] // 拉取云卡到本地
.cloud push <本地卡名> // 首次上传本地卡
.cloud sync <本地卡名> // 按上次同步的版本提交
.cloud diff <本地卡名> // 只读对照基础、本地与云端字段,不改卡或同步基线读与写
同步冲突时先用 .cloud diff 本地卡名:每项按“基础 | 本地 | 云端”排列,local 是仅本地修改,remote 是仅云端修改,same 是两边修改一致,conflict 是两边不同修改。最多显示 30 项;长值可用 .cloud pull 云卡ID 新卡名 拉取独立副本对照。这个入口仅供本人私聊,不会绕过读锁,不会覆盖卡或推进同步基线。
自动同步与逐字段冲突编辑仍在设计中,尚未启用;当前授权不意味着同意自动上传,令牌过期或重启后仍需重新授权。
默认只申请读取权限。需要上传或同步时用 .cloud auth write,网页上也必须明确勾选 写入,两边都同意才生效。已经授权过只读时,直接再执行一次 .cloud auth write。
授权的范围与有效期
| 项目 | 说明 |
|---|---|
| 作用范围 | 按“适配器 + 骰娘账号 + 平台 + 你本人”区分,与群无关 |
| 多个适配器 | 同时用 OneBot 和 QQ 官方时,两边各需授权一次 |
| 有效期 | 令牌只存在内存中,骰娘重启或令牌过期后需重新授权 |
| 本地数据 | 重新授权不影响已拉取到本地的卡片与同步映射 |
授权后骰主能看到什么
同意授权即允许该骰娘读取你在账号中心注册时验证的 QQ 号。骰娘多由第三方自行部署, 部署该骰娘的骰主可以查看这个号码。不希望如此时,请在账号中心的「已授权骰娘」中 撤销授权。
验证码
授权码由骰娘单独私发,不经过普通回复日志、AI 加工、插件、模拟聊天或跑团日志落库。 不要转发验证码,也不要替他人完成授权。
.bind 指令
.bind // 查看完整用法
.bind qq <真实QQ号> // QQ 官方 / Discord / KOOK 私聊发起,自动选择 OAuth 或邮件
.bind confirm // OAuth:网页同意授权后,在申请的同一私聊确认
.bind confirm <8位验证码> // 邮件:在申请的同一私聊提交验证码,无需重填 QQ
.bind qq <真实QQ号> email // 主动选择或切换到邮件验证,需要骰主启用 SMTP
.bind qq QQ-Official-<机器人ID>:<OpenID> // 在 OneBot / Milky 窗口执行,关联官方用户
.bind qqgroup QQ-Official-<机器人ID>:<群OpenID> // 在目标 OneBot / Milky 群内执行,需要群主或管理权限
.bind discord <用户ID> // 在 OneBot 窗口执行
.bind kook <用户ID> // 在 OneBot 窗口执行
.info [qq|qqgroup] // 查看当前窗口的用户或群标识与已绑定端点绑定某个平台账号之前,对方需先在该平台向骰娘发送过一条消息——骰娘只能绑定自己 见过的标识,不能凭空写入一个 OpenID。
.bind confirm 由服务端保存的申请决定核验方式:OAuth 申请不接受邮件验证码,邮件申请则必须填写验证码。 旧写法 .bind email <QQ>(主动申请邮件)与 .bind qq <QQ> <验证码>(邮件确认)仍保留兼容,但不再作为主要教学用法。
反向绑定与邮件/OAuth 流程是不同入口:
- 官方用户先在官方机器人私聊中用
.info qq取得QQ-Official-机器人ID:OpenID,再在自己真实 QQ 的 OneBot / Milky 窗口执行.bind qq <该标识>。 - 官方群用
.info qqgroup获取群标识,在目标真实 QQ 群内由群主或管理执行.bind qqgroup <该标识>,不能在私聊中证明群归属。 - Discord / KOOK 用户先向机器人发过消息,再在自己真实 QQ 的 OneBot / Milky 窗口执行
.bind discord <用户ID>或.bind kook <用户ID>。
几种核验方式的区别
| 方式 | 适用窗口 | 如何证明 |
|---|---|---|
| 账号中心授权 | 任意窗口(私聊授权) | 账号中心已验证的注册 QQ 邮箱 |
| OneBot 会话 | OneBot / Milky | 协议端直接提供已验证的真实 QQ |
| 群主或管理身份 | 目标群内 | 绑定群标识时额外核查发起人权限 |
| QQ 邮箱验证码 | QQ 官方 / Discord / KOOK 私聊 | 接收目标 QQ号@qq.com 的验证码,并在申请的同一私聊提交 |
头像核验已弃用,不再要求用户更换头像。邮件验证只用于用户账号,不证明群归属。
QQ 邮箱验证码
骰主须先在「系统设置 → QQ 邮箱绑定验证」填写 SMTP 服务器、端口、账号、密码或授权码与发件邮箱,并启用功能。 这是全局配置,与「通知设置」中的邮件推送独立;收件地址固定由目标 QQ 号生成,不接受任意邮箱。
- 通常 465 端口开启隐式 TLS,587 端口关闭该项并强制 STARTTLS。服务器必须具有有效证书,不支持明文认证。
- SMTP 密码保存后不回显;编辑设置时留空会保留原密码。
- 验证码有效 10 分钟,连续错误 5 次失效;重发后旧码失效,骰娘重启后须重新申请。
- 每个平台身份和目标 QQ 每小时各最多发送 5 次,两次发送至少间隔 60 秒;全局最多每小时 100 次。
- 验证码必须在原私聊提交,不能跨用户、跨客户端或跨目标 QQ 使用。验证码指令不进入插件、AI、模拟聊天与跑团记录。
- 已绑定其他 QQ 的平台账号不能通过邮件流程覆盖绑定。
邮件验证不会授予云人物卡访问令牌;需要云服务时仍使用 .cloud auth。不要替他人收取或转发验证码。
.bind 的 OAuth 核验也只申请邮箱身份权限,成功或失败后丢弃核验令牌。它不等于 .cloud auth 的云卡授权。
云端人物卡
拉取后的云卡是一张普通的本地卡:在跑团群里用 .pc tag <本地卡名> 绑定,之后 .st、.ra、.sc 以及 Lua / JS 插件读卡都照常工作。普通掷骰与改卡不发任何网络 请求,断网、退出授权或云端异常都不影响本地跑团。
同步是手动的,没有后台自动同步。
冲突与保护
- 上传携带真实的基准版本号。云端已被他人改动时返回冲突,骰娘不会重试、也不会强行 覆盖,双方数据都保留。
- 拉取不会覆盖已修改的本地卡。可以用
.cloud pull <云卡ID> <新名>另存一份对照。 - 本地改名后仍写回同一张云卡;自选的本地别名不会在首次同步时覆盖云卡名。
- 同名的历史多行、空名卡、未知 Schema、越界数值会被明确拒绝,不会猜一条上传。
撤销
.cloud logout 只清除本机保存的临时凭据。要完整收回授权,请到账号中心的 「已授权骰娘」页面撤销。
骰主需要做的准备
玩家能用云卡之前,骰主需先在账号中心验证骰娘所有权,并在 云服务 → 骰娘密钥为当前适配器填写正式 API Key。 自动申请的未验证心跳凭据不能用于云卡。该密钥不要发给玩家。