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 タグでネストします。循環は自動的に拒否されます。