Clarify quote reposts

This commit is contained in:
Jon Staab 2024-10-02 13:22:52 -07:00
parent e830a73cbd
commit 02e934acb7

24
18.md
View File

@ -18,13 +18,6 @@ to indicate where it can be fetched.
The repost SHOULD include a `p` tag with the `pubkey` of the event being The repost SHOULD include a `p` tag with the `pubkey` of the event being
reposted. reposted.
## Quote Reposts
Quote reposts are `kind 1` events with an embedded `q` tag of the note being
quote reposted. The `q` tag ensures quote reposts are not pulled and included
as replies in threads. It also allows you to easily pull and count all of the
quotes for a post.
## Generic Reposts ## Generic Reposts
Since `kind 6` reposts are reserved for `kind 1` contents, we use `kind 16` Since `kind 6` reposts are reserved for `kind 1` contents, we use `kind 16`
@ -33,3 +26,20 @@ as a "generic repost", that can include any kind of event inside other than
`kind 16` reposts SHOULD contain a `k` tag with the stringified kind number `kind 16` reposts SHOULD contain a `k` tag with the stringified kind number
of the reposted event as its value. of the reposted event as its value.
## Quote Reposts
Quote reposts are `kind 1` events with an embedded `q` tag of the note being
quote reposted. The `q` tag ensures quote reposts are not pulled and included
as replies in threads. It also allows you to easily pull and count all of the
quotes for a post.
`q` tags should follow the same conventions as NIP 10 `e` tags, with the exception
of the `mark` argument. The first argument MAY be either an event id or an address.
`["q", <event-id-or-address>, <relay-url>, <pubkey>]`
Quote reposts MUST include the bech32-encoded `nevent`, `note`, or `naddr` of the
event in the content. The embedded entity should match the type of the tag (in
other words, if embedding a `naddr`, the `q` tag should contain an address, not
an event id).