upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitor Pamplona <vitor@vitorpamplona.com>2023-06-15 10:13:09 -0400
committerfiatjaf_ <fiatjaf@gmail.com>2023-08-08 13:27:32 -0300
commit135a2f533890b77d3df1deca3fbe09ae47265723 (patch)
treeb52e256cb96ecbb76ff32b60bf031743e122d240
parentd42fc18fa5800399690d82acfe34606e26419b8d (diff)
Rewriting to use specification verbs SHOULD, MAY, etc
-rw-r--r--172.md24
1 files changed, 13 insertions, 11 deletions
diff --git a/172.md b/172.md
index 87ae424..123eaef 100644
--- a/172.md
+++ b/172.md
@@ -8,9 +8,9 @@ Moderated Communities (Reddit Style)
8 8
9The 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. 9The 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
43Any Nostr event can be a post request. Clients should simply add the community's `a` tag to be presented for the moderator's approval. 43Any 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
58Community 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)). 58Community 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
62The post-approval event includes a stringified `new post request` event inside the `.content` of the approval ([NIP-18-style](18.md)). 62The 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
84Community clients can display posts that have been approved by at least 1 moderator or by the community owner. 84Community clients SHOULD display posts that have been approved by at least 1 moderator or by the community owner.
85 85
86The following filter displays the approved posts. 86The 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
96Clients MAY hide approvals by blocked moderators at the user's request. \ No newline at end of file