mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-12-22 08:25:53 -05:00
Do more to clarify moderation
This commit is contained in:
parent
0ff2fa3212
commit
42932deb0a
26
72.md
26
72.md
|
@ -6,7 +6,7 @@ Moderated Communities (Reddit Style)
|
||||||
|
|
||||||
`draft` `optional`
|
`draft` `optional`
|
||||||
|
|
||||||
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. Moderators issue an approval event `kind:4550` that links the community with the new post.
|
The 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`.
|
||||||
|
|
||||||
# Community Definition
|
# Community Definition
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ The goal of this NIP is to create moderator-approved public communities around a
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
# Community Posts
|
# Posting to a community
|
||||||
|
|
||||||
Any Nostr event can be posted to a community. Clients MUST add one or more community `a` tags, each with a recommended relay.
|
Any Nostr event can be posted to a community. Clients MUST add one or more community `a` tags, each with a recommended relay.
|
||||||
|
|
||||||
|
@ -56,6 +56,8 @@ Any Nostr event can be posted to a community. Clients MUST add one or more commu
|
||||||
|
|
||||||
# Moderation
|
# Moderation
|
||||||
|
|
||||||
|
Anyone 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.
|
||||||
|
|
||||||
An 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`).
|
An 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`).
|
||||||
|
|
||||||
The 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.
|
The 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 `
|
||||||
# Cross-posting
|
# Cross-posting
|
||||||
|
|
||||||
Clients 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.
|
Clients 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.
|
||||||
|
|
||||||
# Displaying
|
|
||||||
|
|
||||||
Clients 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.
|
|
||||||
|
|
||||||
The following filter displays the approved posts.
|
|
||||||
|
|
||||||
```json
|
|
||||||
[
|
|
||||||
"REQ",
|
|
||||||
"_",
|
|
||||||
{
|
|
||||||
"authors": ["<owner-pubkey>", "<moderator1-pubkey>", "<moderator2-pubkey>", "<moderator3-pubkey>", ...],
|
|
||||||
"kinds": [4550],
|
|
||||||
"#a": ["34550:<Community event author pubkey>:<d-identifier of the community>"],
|
|
||||||
}
|
|
||||||
]
|
|
||||||
```
|
|
||||||
|
|
||||||
Clients MAY hide approvals by blocked moderators at the user's request.
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user