diff options
Diffstat (limited to '53.md')
| -rw-r--r-- | 53.md | 19 |
1 files changed, 9 insertions, 10 deletions
| @@ -12,7 +12,7 @@ Service providers want to offer live activities to the Nostr network in such a w | |||
| 12 | 12 | ||
| 13 | # Live Event | 13 | # Live Event |
| 14 | 14 | ||
| 15 | 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. | 15 | 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. |
| 16 | 16 | ||
| 17 | For example: | 17 | For example: |
| 18 | 18 | ||
| @@ -44,13 +44,13 @@ For example: | |||
| 44 | 44 | ||
| 45 | A distinct `d` tag should be used for each activity. All other tags are optional. | 45 | A distinct `d` tag should be used for each activity. All other tags are optional. |
| 46 | 46 | ||
| 47 | 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). | 47 | 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). |
| 48 | 48 | ||
| 49 | 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. | 49 | 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. |
| 50 | 50 | ||
| 51 | 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` | 51 | 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` |
| 52 | 52 | ||
| 53 | 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)). | 53 | The activity MUST be linked to using the [NIP-19](19.md) `naddr` code along with the `a` tag. |
| 54 | 54 | ||
| 55 | ## Proof of Agreement to Participate | 55 | ## Proof of Agreement to Participate |
| 56 | 56 | ||
| @@ -58,11 +58,11 @@ Event owners can add proof as the 5th term in each `p` tag to clarify the partic | |||
| 58 | 58 | ||
| 59 | Clients MAY only display participants if the proof is available or MAY display participants as "invited" if the proof is not available. | 59 | Clients MAY only display participants if the proof is available or MAY display participants as "invited" if the proof is not available. |
| 60 | 60 | ||
| 61 | 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. | 61 | 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. |
| 62 | 62 | ||
| 63 | # Live Chat Message | 63 | # Live Chat Message |
| 64 | 64 | ||
| 65 | 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. | 65 | 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. |
| 66 | 66 | ||
| 67 | ```js | 67 | ```js |
| 68 | { | 68 | { |
| @@ -74,7 +74,7 @@ Event `kind:1311` is live chat's channel message. Clients MUST include the `a` t | |||
| 74 | ["a", "30311:<Community event author pubkey>:<d-identifier of the community>", "<Optional relay url>", "root"], | 74 | ["a", "30311:<Community event author pubkey>:<d-identifier of the community>", "<Optional relay url>", "root"], |
| 75 | ], | 75 | ], |
| 76 | "content": "Zaps to live streams is beautiful." | 76 | "content": "Zaps to live streams is beautiful." |
| 77 | } | 77 | } |
| 78 | ``` | 78 | ``` |
| 79 | 79 | ||
| 80 | # Use Cases | 80 | # Use Cases |
| @@ -83,7 +83,7 @@ Common use cases include meeting rooms/workshops, watch-together activities, or | |||
| 83 | 83 | ||
| 84 | # Example | 84 | # Example |
| 85 | 85 | ||
| 86 | Live Streaming | 86 | Live Streaming |
| 87 | 87 | ||
| 88 | ```json | 88 | ```json |
| 89 | { | 89 | { |
| @@ -112,7 +112,7 @@ Live Streaming chat message | |||
| 112 | ```json | 112 | ```json |
| 113 | { | 113 | { |
| 114 | "id": "97aa81798ee6c5637f7b21a411f89e10244e195aa91cb341bf49f718e36c8188", | 114 | "id": "97aa81798ee6c5637f7b21a411f89e10244e195aa91cb341bf49f718e36c8188", |
| 115 | "pubkey": "3f770d65d3a764a9c5cb503ae123e62ec7598ad035d836e2a810f3877a745b24", | 115 | "pubkey": "3f770d65d3a764a9c5cb503ae123e62ec7598ad035d836e2a810f3877a745b24", |
| 116 | "created_at": 1687286726, | 116 | "created_at": 1687286726, |
| 117 | "kind": 1311, | 117 | "kind": 1311, |
| 118 | "tags": [ | 118 | "tags": [ |
| @@ -122,4 +122,3 @@ Live Streaming chat message | |||
| 122 | "sig": "997f62ddfc0827c121043074d50cfce7a528e978c575722748629a4137c45b75bdbc84170bedc723ef0a5a4c3daebf1fef2e93f5e2ddb98e5d685d022c30b622" | 122 | "sig": "997f62ddfc0827c121043074d50cfce7a528e978c575722748629a4137c45b75bdbc84170bedc723ef0a5a4c3daebf1fef2e93f5e2ddb98e5d685d022c30b622" |
| 123 | } | 123 | } |
| 124 | ```` | 124 | ```` |
| 125 | |||