upleb.uk

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

summaryrefslogtreecommitdiff
path: root/25.md
diff options
context:
space:
mode:
authorOscar Merry <MerryOscar@users.noreply.github.com>2024-06-17 13:38:45 +0100
committerGitHub <noreply@github.com>2024-06-17 13:38:45 +0100
commit45351b561dcc15b9d3c09b64967a5e30a80ddabe (patch)
treee3bb8995aed591b519d042909eddd7d983bbe56e /25.md
parent32004283da0f0893d7b697c9a0b1a1f8611e9929 (diff)
parentc576737ba42772a561c6ebfd9faf0baae6d19b17 (diff)
Merge branch 'nostr-protocol:master' into external-content-ids
Diffstat (limited to '25.md')
-rw-r--r--25.md20
1 files changed, 9 insertions, 11 deletions
diff --git a/25.md b/25.md
index 7cc96b5..17c203e 100644
--- a/25.md
+++ b/25.md
@@ -25,24 +25,23 @@ consider it a "+".
25Tags 25Tags
26---- 26----
27 27
28The reaction event SHOULD include `a`, `e` and `p` tags pointing to the note the user is 28The reaction event SHOULD include `e` and `p` tags from the note the user is reacting to (and optionally `a` tags if the target is a replaceable event). This allows users to be notified of reactions to posts they were mentioned in. Including the `e` tags enables clients to pull all the reactions associated with individual posts or all the posts in a thread. `a` tags enables clients to seek reactions for all versions of a replaceable event.
29reacting to. The `p` tag allows authors to be notified. The `e` tags enables clients
30to pull all the reactions to individual events and `a` tags enables clients to seek reactions
31for all versions of a replaceable event.
32 29
33The `e` tag MUST be the `id` of the note that is being reacted to. 30The last `e` tag MUST be the `id` of the note that is being reacted to.
34 31
35The `a` tag MUST contain the coordinates (`kind:pubkey:d-tag`) of the replaceable being reacted to. 32The last `p` tag MUST be the `pubkey` of the event being reacted to.
36 33
37The `p` tag MUST be the `pubkey` of the event being reacted to. 34The `a` tag MUST contain the coordinates (`kind:pubkey:d-tag`) of the replaceable being reacted to.
38 35
39The reaction event MAY include a `k` tag with the stringified kind number 36The reaction event MAY include a `k` tag with the stringified kind number of the reacted event as its value.
40of the reacted event as its value.
41 37
42Example code 38Example code
43 39
44```swift 40```swift
45func make_like_event(pubkey: String, privkey: String, liked: NostrEvent) -> NostrEvent { 41func make_like_event(pubkey: String, privkey: String, liked: NostrEvent) -> NostrEvent {
42 var tags: [[String]] = liked.tags.filter {
43 tag in tag.count >= 2 && (tag[0] == "e" || tag[0] == "p")
44 }
46 tags.append(["e", liked.id]) 45 tags.append(["e", liked.id])
47 tags.append(["p", liked.pubkey]) 46 tags.append(["p", liked.pubkey])
48 tags.append(["k", liked.kind]) 47 tags.append(["k", liked.kind])
@@ -67,8 +66,7 @@ content as an emoji if shortcode is specified.
67 "tags": [ 66 "tags": [
68 ["emoji", "soapbox", "https://gleasonator.com/emoji/Gleasonator/soapbox.png"] 67 ["emoji", "soapbox", "https://gleasonator.com/emoji/Gleasonator/soapbox.png"]
69 ], 68 ],
70 "pubkey": "79c2cae114ea28a981e7559b4fe7854a473521a8d22a66bbab9fa248eb820ff6", 69 ...other fields
71 "created_at": 1682790000
72} 70}
73``` 71```
74 72