upleb.uk

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

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--72.md26
1 files changed, 4 insertions, 22 deletions
diff --git a/72.md b/72.md
index 968a9ed..cb1db22 100644
--- a/72.md
+++ b/72.md
@@ -6,7 +6,7 @@ Moderated Communities (Reddit Style)
6 6
7`draft` `optional` 7`draft` `optional`
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. Moderators issue an approval event `kind:4550` that links the community with the new post. 9The goal of this NIP is to enable public communities. 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. Moderators may issue an approval event `kind:4550`.
10 10
11# Community Definition 11# Community Definition
12 12
@@ -39,7 +39,7 @@ The goal of this NIP is to create moderator-approved public communities around a
39} 39}
40``` 40```
41 41
42# Community Posts 42# Posting to a community
43 43
44Any Nostr event can be posted to a community. Clients MUST add one or more community `a` tags, each with a recommended relay. 44Any Nostr event can be posted to a community. Clients MUST add one or more community `a` tags, each with a recommended relay.
45 45
@@ -56,6 +56,8 @@ Any Nostr event can be posted to a community. Clients MUST add one or more commu
56 56
57# Moderation 57# Moderation
58 58
59Anyone may issue an approval event to express their opinion that a post is appropriate for a community. Clients MAY choose which approval events to honor, but SHOULD at least use ones published by the group's defined moderators.
60
59An approval event MUST include one or more community `a` tags, an `e` or `a` tag pointing to the post, and the `p` tag of the author of the post (for approval notifications). `a` tag prefixes can be used to disambiguate between community and replaceable event pointers (community `a` tags always begin with `34550`). 61An approval event MUST include one or more community `a` tags, an `e` or `a` tag pointing to the post, and the `p` tag of the author of the post (for approval notifications). `a` tag prefixes can be used to disambiguate between community and replaceable event pointers (community `a` tags always begin with `34550`).
60 62
61The event SHOULD also include the JSON-stringified `post request` event inside the `.content`, and a `k` tag with the original post's event kind to allow filtering of approved posts by kind. 63The event SHOULD also include the JSON-stringified `post request` event inside the `.content`, and a `k` tag with the original post's event kind to allow filtering of approved posts by kind.
@@ -90,23 +92,3 @@ Since relays are instructed to delete old versions of a replaceable event, the `
90# Cross-posting 92# Cross-posting
91 93
92Clients MAY support cross-posting between communities by posting a NIP 18 `kind 6` or `kind 16` repost to one or more communities using `a` tags as described above. The `content` of the repost MUST be the original event, not the approval event. 94Clients MAY support cross-posting between communities by posting a NIP 18 `kind 6` or `kind 16` repost to one or more communities using `a` tags as described above. The `content` of the repost MUST be the original event, not the approval event.
93
94# Displaying
95
96Clients SHOULD display posts that have been approved by at least 1 moderator or by the community owner. Clients MAY disregard moderation and fetch community posts directly.
97
98The following filter displays the approved posts.
99
100```json
101[
102 "REQ",
103 "_",
104 {
105 "authors": ["<owner-pubkey>", "<moderator1-pubkey>", "<moderator2-pubkey>", "<moderator3-pubkey>", ...],
106 "kinds": [4550],
107 "#a": ["34550:<Community event author pubkey>:<d-identifier of the community>"],
108 }
109]
110```
111
112Clients MAY hide approvals by blocked moderators at the user's request.