diff options
| author | Vitor Pamplona <vitor@vitorpamplona.com> | 2023-06-15 10:13:09 -0400 |
|---|---|---|
| committer | fiatjaf_ <fiatjaf@gmail.com> | 2023-08-08 13:27:32 -0300 |
| commit | 135a2f533890b77d3df1deca3fbe09ae47265723 (patch) | |
| tree | b52e256cb96ecbb76ff32b60bf031743e122d240 /172.md | |
| parent | d42fc18fa5800399690d82acfe34606e26419b8d (diff) | |
Rewriting to use specification verbs SHOULD, MAY, etc
Diffstat (limited to '172.md')
| -rw-r--r-- | 172.md | 24 |
1 files changed, 13 insertions, 11 deletions
| @@ -8,9 +8,9 @@ Moderated Communities (Reddit Style) | |||
| 8 | 8 | ||
| 9 | The goal of this NIP is to create moderator-approved public communities around a topic. It defines the replaceable event `kind:34550` to define the community and the current list of moderators/administrators. Users that want to post into the community, simply tag any Nostr event with the community's `a` tag (See [NIP-33](33.md)). Moderators issue an approval event `kind:4550` that links the community with the new post. | 9 | The goal of this NIP is to create moderator-approved public communities around a topic. It defines the replaceable event `kind:34550` to define the community and the current list of moderators/administrators. Users that want to post into the community, simply tag any Nostr event with the community's `a` tag (See [NIP-33](33.md)). Moderators issue an approval event `kind:4550` that links the community with the new post. |
| 10 | 10 | ||
| 11 | # Community definition | 11 | # Community Definition |
| 12 | 12 | ||
| 13 | `Kind:34550` should include any field that helps define the community and the set of moderators. | 13 | `Kind:34550` SHOULD include any field that helps define the community and the set of moderators. |
| 14 | 14 | ||
| 15 | ```js | 15 | ```js |
| 16 | { | 16 | { |
| @@ -19,9 +19,9 @@ The goal of this NIP is to create moderator-approved public communities around a | |||
| 19 | "created_at": "<Unix timestamp in seconds>", | 19 | "created_at": "<Unix timestamp in seconds>", |
| 20 | "kind": 34550, | 20 | "kind": 34550, |
| 21 | "tags": [ | 21 | "tags": [ |
| 22 | ["d", "<Community_name>"], | 22 | ["d", "<Community name>"], |
| 23 | ["description", "<Community_description>"], | 23 | ["description", "<Community description>"], |
| 24 | ["image", "<Community_image_url>", "<Width>x<Height>"], | 24 | ["image", "<Community image url>", "<Width>x<Height>"], |
| 25 | 25 | ||
| 26 | //.. other tags relevant to defining the community | 26 | //.. other tags relevant to defining the community |
| 27 | 27 | ||
| @@ -40,7 +40,7 @@ The goal of this NIP is to create moderator-approved public communities around a | |||
| 40 | 40 | ||
| 41 | # New Post Request | 41 | # New Post Request |
| 42 | 42 | ||
| 43 | Any Nostr event can be a post request. Clients should simply add the community's `a` tag to be presented for the moderator's approval. | 43 | Any Nostr event can be a post request. Clients MUST add the community's `a` tag to the new post event in order to be presented for the moderator's approval. |
| 44 | 44 | ||
| 45 | ```js | 45 | ```js |
| 46 | { | 46 | { |
| @@ -55,11 +55,11 @@ Any Nostr event can be a post request. Clients should simply add the community's | |||
| 55 | } | 55 | } |
| 56 | ``` | 56 | ``` |
| 57 | 57 | ||
| 58 | Community management clients can filter all mentions to a given `kind:34550` event and request moderators to approve each submission. The same moderator can delete his/her approval of the post at any time using event deletions (See [NIP-09](09.md)). | 58 | Community management clients MAY filter all mentions to a given `kind:34550` event and request moderators to approve each submission. Moderators MAY delete his/her approval of a post at any time using event deletions (See [NIP-09](09.md)). |
| 59 | 59 | ||
| 60 | # Post Approval by moderators | 60 | # Post Approval by moderators |
| 61 | 61 | ||
| 62 | The post-approval event includes a stringified `new post request` event inside the `.content` of the approval ([NIP-18-style](18.md)). | 62 | The post-approval event SHOULD include a stringified `new post request` event inside the `.content` of the approval ([NIP-18-style](18.md)). |
| 63 | 63 | ||
| 64 | ```js | 64 | ```js |
| 65 | { | 65 | { |
| @@ -81,14 +81,16 @@ It's recommended that multiple moderators approve posts to avoid deleting them f | |||
| 81 | 81 | ||
| 82 | # Displaying | 82 | # Displaying |
| 83 | 83 | ||
| 84 | Community clients can display posts that have been approved by at least 1 moderator or by the community owner. | 84 | Community clients SHOULD display posts that have been approved by at least 1 moderator or by the community owner. |
| 85 | 85 | ||
| 86 | The following filter displays the approved posts. | 86 | The following filter displays the approved posts. |
| 87 | 87 | ||
| 88 | ```js | 88 | ```js |
| 89 | { | 89 | { |
| 90 | "authors": ["<Author>", "<Moderator1>", "<Moderator2>", "<Moderator3>", ...], | 90 | "authors": ["<Author pubkey>", "<Moderator1 pubkey>", "<Moderator2 pubkey>", "<Moderator3 pubkey>", ...], |
| 91 | "kinds": [4550], | 91 | "kinds": [4550], |
| 92 | "#a": ["34550:<Community event author pubkey>:<d-identifier of the community>"], | 92 | "#a": ["34550:<Community event author pubkey>:<d-identifier of the community>"], |
| 93 | } | 93 | } |
| 94 | ``` \ No newline at end of file | 94 | ``` |
| 95 | |||
| 96 | Clients MAY hide approvals by blocked moderators at the user's request. \ No newline at end of file | ||