diff --git a/172.md b/172.md index df78081f..0c48ea38 100644 --- a/172.md +++ b/172.md @@ -6,11 +6,11 @@ Moderated Communities (Reddit Style) `draft` `optional` `author:vitorpamplona` `author:arthurfranca` -The goal of this NIP is to create moderator-approved public communities around a topic. It defines the replaceable event `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 an `a` tag. Moderators issue an approval event `4550` that links the community with the new post. +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. # Community definition -Kind 34550 should include any field that helps define the community and the set of moderators. +`Kind:34550` should include any field that helps define the community and the set of moderators. ```js { @@ -19,16 +19,16 @@ Kind 34550 should include any field that helps define the community and the set "created_at": "", "kind": 34550, "tags": [ - ["d", ""], - ["description", ""], - ["image", "", "WidthxHeight"], + ["d", ""], + ["description", ""], + ["image", "", "x"], //.. other tags relevant to defining the community // moderators - ["p", "<32-bytes hex of a pubkey>", "", "moderator"], - ["p", "<32-bytes hex of a pubkey>", "", "moderator"], - ["p", "<32-bytes hex of a pubkey>", "", "moderator"], + ["p", "<32-bytes hex of a pubkey1>", "", "moderator"], + ["p", "<32-bytes hex of a pubkey2>", "", "moderator"], + ["p", "<32-bytes hex of a pubkey3>", "", "moderator"], // relays used by the community ["relay", "", "author"], @@ -49,17 +49,17 @@ Any Nostr event can be a post request. Clients should simply add the community's "created_at": "", "kind": 1, "tags": [ - ["a", "34550::", ""], + ["a", "34550::", ""], ], - "content": "" + "content": "" } ``` -Community management clients can filter all mentions of the kind-34550 event and request moderators to approve each submission. The same moderator can remove his/her approval of the post at any time. +Community management clients can filter all mentions of the `kind:34550` event and request moderators to approve each submission. The same moderator can remove his/her approval of the post at any time. # Post Approval by moderators -The post-approval event includes a stringified `new post request` event inside the `.content` of the approval (NIP-18-style). +The post-approval event includes a stringified `new post request` event inside the `.content` of the approval ([NIP-18-style](18.md)). ```js { @@ -68,12 +68,12 @@ The post-approval event includes a stringified `new post request` event inside t "created_at": "", "kind": "4550", "tags": [ - ["a", "34550::", ""], - ["e", "", ""], - ["p", "", ""], + ["a", "34550::", ""], + ["e", "", ""], + ["p", "", ""], ["k", ""], ], - "content": "{ }" + "content": "" } ``` @@ -87,8 +87,8 @@ The following filter displays the approved posts. ```js { - "authors": ["", "moderator1", "moderator2", "moderator3", ...], + "authors": ["", "", "", "", ...], "kinds": [4550], - "#a": ["34550::"], + "#a": ["34550::"], } ``` \ No newline at end of file