Rewriting to use specification verbs SHOULD, MAY, etc

This commit is contained in:
Vitor Pamplona 2023-06-15 10:13:09 -04:00 committed by fiatjaf_
parent d42fc18fa5
commit 135a2f5338

24
172.md
View File

@ -8,9 +8,9 @@ Moderated Communities (Reddit Style)
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. 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 # 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 ```js
{ {
@ -19,9 +19,9 @@ The goal of this NIP is to create moderator-approved public communities around a
"created_at": "<Unix timestamp in seconds>", "created_at": "<Unix timestamp in seconds>",
"kind": 34550, "kind": 34550,
"tags": [ "tags": [
["d", "<Community_name>"], ["d", "<Community name>"],
["description", "<Community_description>"], ["description", "<Community description>"],
["image", "<Community_image_url>", "<Width>x<Height>"], ["image", "<Community image url>", "<Width>x<Height>"],
//.. other tags relevant to defining the community //.. other tags relevant to defining the community
@ -40,7 +40,7 @@ The goal of this NIP is to create moderator-approved public communities around a
# New Post Request # New Post Request
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. 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.
```js ```js
{ {
@ -55,11 +55,11 @@ Any Nostr event can be a post request. Clients should simply add the community's
} }
``` ```
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)). 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)).
# Post Approval by moderators # Post Approval by moderators
The post-approval event includes a stringified `new post request` event inside the `.content` of the approval ([NIP-18-style](18.md)). The post-approval event SHOULD include a stringified `new post request` event inside the `.content` of the approval ([NIP-18-style](18.md)).
```js ```js
{ {
@ -81,14 +81,16 @@ It's recommended that multiple moderators approve posts to avoid deleting them f
# Displaying # Displaying
Community clients can display posts that have been approved by at least 1 moderator or by the community owner. Community clients SHOULD display posts that have been approved by at least 1 moderator or by the community owner.
The following filter displays the approved posts. The following filter displays the approved posts.
```js ```js
{ {
"authors": ["<Author>", "<Moderator1>", "<Moderator2>", "<Moderator3>", ...], "authors": ["<Author pubkey>", "<Moderator1 pubkey>", "<Moderator2 pubkey>", "<Moderator3 pubkey>", ...],
"kinds": [4550], "kinds": [4550],
"#a": ["34550:<Community event author pubkey>:<d-identifier of the community>"], "#a": ["34550:<Community event author pubkey>:<d-identifier of the community>"],
} }
``` ```
Clients MAY hide approvals by blocked moderators at the user's request.