From 97db8d842bf20321af19a705d051a327b0250a6c Mon Sep 17 00:00:00 2001 From: Sepehr Safari Date: Thu, 4 Apr 2024 16:31:02 +0330 Subject: [PATCH] NIP-29: Pin Messages Admins may pin some of the messages to the top of the group. --- 29.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/29.md b/29.md index 0f4a579..d0880f0 100644 --- a/29.md +++ b/29.md @@ -119,6 +119,9 @@ Each moderation action uses a different kind and requires different arguments, w | 9004 | `remove-permission` | `p` (pubkey), `permission` (name) | | 9005 | `delete-event` | `e` (id hex) | | 9006 | `edit-group-status` | `public` or `private`, `open` or `closed` | +| 9007 | `add-pin` | `e` (id hex) | +| 9008 | `remove-pin` | `e` (id hex) | + - *group metadata* (`kind:39000`) (optional) @@ -159,6 +162,8 @@ The list of capabilities, as defined by this NIP, for now, is the following: - `add-permission` - `remove-permission` - `edit-group-status` +- `add-pin` +- `remove-pin` ```js { @@ -192,6 +197,26 @@ It's a NIP-51-like list of pubkeys that are members of the group. Relays might c } ``` +- *group pins* (`kind:39003`) (optional) + +Admins may decide to pin one or more messages on top of the group. + +Similar to *group members*, this event is supposed to be generated by relays that host the group. + +It's a NIP-51-like list of events (e.g. kind 9, 10, 11, 12) that are pins of the group. Relays might choose to not to publish this information or to restrict what pubkeys can fetch it. + +```json +{ + "kind": 39003, + "content": "list of pins for the pizza lovers group", + "tags": [ + ["d", ""], + ["e", ""], + ["e", ""], + ] +} +``` + ## Storing the list of groups a user belongs to A definition for kind `10009` was included in [NIP-51](51.md) that allows clients to store the list of groups a user wants to remember being in.