merge nips 12, 16, 20 and 33 into nip 01 (#703)

Co-authored-by: Viktor Vsk <me@viktorvsk.com>
This commit is contained in:
fiatjaf_
2023-08-13 13:47:45 -03:00
committed by GitHub
parent a5047326d4
commit 72bb8a128b
17 changed files with 141 additions and 318 deletions

19
53.md
View File

@@ -12,7 +12,7 @@ Service providers want to offer live activities to the Nostr network in such a w
# Live Event
A special event with `kind:30311` "Live Event" is defined as a [NIP-33: Parameterized Replaceable Events](33.md) of public `p` tags. Each `p` tag SHOULD have a **displayable** marker name for the current role (e.g. `Host`, `Speaker`, `Participant`) of the user in the event and the relay information MAY be empty. This event will be constantly updated as participants join and leave the activity.
A special event with `kind:30311` "Live Event" is defined as a _parameterized replaceable event_ of public `p` tags. Each `p` tag SHOULD have a **displayable** marker name for the current role (e.g. `Host`, `Speaker`, `Participant`) of the user in the event and the relay information MAY be empty. This event will be constantly updated as participants join and leave the activity.
For example:
@@ -44,13 +44,13 @@ For example:
A distinct `d` tag should be used for each activity. All other tags are optional.
Providers SHOULD keep the participant list small (e.g. under 1000 users) and, when limits are reached, Providers SHOULD select which participants get named in the event. Clients should not expect a comprehensive list. Once the activity ends, the event can be deleted or updated to summarize the activity and provide async content (e.g. recording of the event).
Providers SHOULD keep the participant list small (e.g. under 1000 users) and, when limits are reached, Providers SHOULD select which participants get named in the event. Clients should not expect a comprehensive list. Once the activity ends, the event can be deleted or updated to summarize the activity and provide async content (e.g. recording of the event).
Clients are expected to subscribe to `kind:30311` events in general or for given follow lists and statuses. Clients MAY display participants' roles in activities as well as access points to join the activity.
Clients are expected to subscribe to `kind:30311` events in general or for given follow lists and statuses. Clients MAY display participants' roles in activities as well as access points to join the activity.
Live Activity management clients are expected to constantly update `kind:30311` during the event. Clients MAY choose to consider `status=live` events after 1hr without any update as `ended`. The `starts` and `ends` timestamp SHOULD be updated when the status changes to and from `live`
The activity MUST be linked to using the NIP-19 naddr code along with the "a" tag (see [NIP-33](33.md) and [NIP-19](19.md)).
The activity MUST be linked to using the [NIP-19](19.md) `naddr` code along with the `a` tag.
## Proof of Agreement to Participate
@@ -58,11 +58,11 @@ Event owners can add proof as the 5th term in each `p` tag to clarify the partic
Clients MAY only display participants if the proof is available or MAY display participants as "invited" if the proof is not available.
This feature is important to avoid malicious event owners adding large account holders to the event, without their knowledge, to lure their followers into the malicious owner's trap.
This feature is important to avoid malicious event owners adding large account holders to the event, without their knowledge, to lure their followers into the malicious owner's trap.
# Live Chat Message
Event `kind:1311` is live chat's channel message. Clients MUST include the `a` tag of the activity with a `root` marker. Other Kind-1 tags such as `reply` and `mention` can also be used.
Event `kind:1311` is live chat's channel message. Clients MUST include the `a` tag of the activity with a `root` marker. Other Kind-1 tags such as `reply` and `mention` can also be used.
```js
{
@@ -74,7 +74,7 @@ Event `kind:1311` is live chat's channel message. Clients MUST include the `a` t
["a", "30311:<Community event author pubkey>:<d-identifier of the community>", "<Optional relay url>", "root"],
],
"content": "Zaps to live streams is beautiful."
}
}
```
# Use Cases
@@ -83,7 +83,7 @@ Common use cases include meeting rooms/workshops, watch-together activities, or
# Example
Live Streaming
Live Streaming
```json
{
@@ -112,7 +112,7 @@ Live Streaming chat message
```json
{
"id": "97aa81798ee6c5637f7b21a411f89e10244e195aa91cb341bf49f718e36c8188",
"pubkey": "3f770d65d3a764a9c5cb503ae123e62ec7598ad035d836e2a810f3877a745b24",
"pubkey": "3f770d65d3a764a9c5cb503ae123e62ec7598ad035d836e2a810f3877a745b24",
"created_at": 1687286726,
"kind": 1311,
"tags": [
@@ -122,4 +122,3 @@ Live Streaming chat message
"sig": "997f62ddfc0827c121043074d50cfce7a528e978c575722748629a4137c45b75bdbc84170bedc723ef0a5a4c3daebf1fef2e93f5e2ddb98e5d685d022c30b622"
}
````