diff options
| -rw-r--r-- | A4.md | 56 |
1 files changed, 56 insertions, 0 deletions
| @@ -0,0 +1,56 @@ | |||
| 1 | NIP-A4 | ||
| 2 | ====== | ||
| 3 | |||
| 4 | Public Messages | ||
| 5 | --------------- | ||
| 6 | |||
| 7 | `draft` `optional` | ||
| 8 | |||
| 9 | This NIP defines kind `24` as a simple plaintext message to one or more Nostr users. | ||
| 10 | |||
| 11 | The `.content` contains the message. `p` tags identify one or more receivers. | ||
| 12 | |||
| 13 | ```jsonc | ||
| 14 | { | ||
| 15 | "pubkey": "<sender-pubkey>", | ||
| 16 | "kind": 24, | ||
| 17 | "tags": [ | ||
| 18 | ["p", "<receiver>", "<relay-url>"], | ||
| 19 | ], | ||
| 20 | "content": "<message-in-plain-text>", | ||
| 21 | } | ||
| 22 | ``` | ||
| 23 | |||
| 24 | Messages MUST be sent to the [NIP-65](65.md) inbox relays of each receiver and the outbox relay of the sender. | ||
| 25 | |||
| 26 | Kind `24` is designed to be shown and replied to from notification screens. The goal is to allow clients to | ||
| 27 | support this feature without having to worry about chat history. There are no message chains. The concept of a | ||
| 28 | "thread", a "thread root", or a "chatroom" does not exist in this system, as messages can start and continue | ||
| 29 | without any syntactic connection to each other. `e` tags must not be used. | ||
| 30 | |||
| 31 | This kind is not designed to be displayed on feeds, but anyone can see and reply to messages that may not be for them. | ||
| 32 | |||
| 33 | ## Advanced Support | ||
| 34 | |||
| 35 | [NIP-40](40.md) `expiration` tags are recommended. Since there is no concept of a chatroom, it is unlikely that these messages will | ||
| 36 | make sense as time goes on. | ||
| 37 | |||
| 38 | [NIP-18](18.md) quote repost `q` tags MAY be used when citing events in the `.content` with [NIP-21](21.md). | ||
| 39 | |||
| 40 | ```json | ||
| 41 | ["q", "<event-id> or <event-address>", "<relay-url>", "<pubkey-if-a-regular-event>"] | ||
| 42 | ``` | ||
| 43 | |||
| 44 | [NIP-25](25.md) reactions MUST add a `k` tag to `24`. | ||
| 45 | |||
| 46 | [NIP-57](57.md) zaps MUST include the `k` tag to `24` | ||
| 47 | |||
| 48 | [NIP-21](21.md) links that use [NIP-19](19.md)'s `nevent1` MUST include a `kind` of `24`. Links that are not `kind:24` are not expected to be rendered natively by the client. | ||
| 49 | |||
| 50 | [NIP-92](92.md) `imeta` tags SHOULD be added for image and video links. | ||
| 51 | |||
| 52 | ## Warnings | ||
| 53 | |||
| 54 | There MUST be no expectation of privacy in this kind. It is just a public reply, but without a root note. | ||
| 55 | |||
| 56 | Avoid confusing this kind with Kind `14` rumors in [NIP-17](17.md) DMs. This kind is signed and designed for public consumption. | ||