NIP-29 群组
NIP-29 群组:只有成员可以写入的封闭聊天空间,带管理事件和中继签名的群组状态快照。
启用群组
- 运行
nostrfy genkey以设置relay.private_key(必需 — 没有它就不会生成群组元数据)。 - 重启中继。
群组如何工作
群组由事件创建和管理。中继从这些管理事件生成中继签名的快照,供客户端显示使用:
| 事件 | 说明 |
|---|---|
kind:9007 | 创建群组(创建者成为管理员) |
kind:9000 / 9001 | 添加成员(带角色)/ 移除成员 |
kind:9002 | 编辑元数据(名称、描述、公开/私密……) |
kind:9005 | 删除事件(管理) |
kind:9008 | 删除群组(其存储的事件被清除) |
kind:9009 | 创建邀请码 |
kind:9010 | 更新置顶列表 |
kind:9021 / 9022 | 加入请求 / 离开请求 |
中继签名的快照
kind:39000— 群组元数据(名称、可见性设置……)kind:39001— 管理员列表kind:39002— 成员列表kind:39005— 置顶事件
群组可见性设置
| 标签 | 含义 |
|---|---|
private | 只有成员可以读取消息 |
restricted | 只有成员可以写入 |
hidden | 元数据对非成员隐藏 |
closed | 加入请求不会自动批准(需要邀请码) |
livekit | 该群组有 LiveKit 音视频房间 |
子群组
群组可以层级化 — 用 parent / child 标签嵌套。循环会被
自动拒绝。