NIP-53 Text Refinements and formatting fixes (#2052)
This commit is contained in:
parent
8c45ff5d96
commit
3760a6e308
49
53.md
49
53.md
|
@ -6,13 +6,13 @@ Live Activities
|
||||||
|
|
||||||
`draft` `optional`
|
`draft` `optional`
|
||||||
|
|
||||||
Service providers want to offer live activities to the Nostr network in such a way that participants can easily log and query by clients. This NIP describes a general framework to advertise the involvement of pubkeys in such live activities.
|
This NIP introduces event kinds to advertise live spaces and the participation of pubkeys in them.
|
||||||
|
|
||||||
## Concepts
|
## Live Streaming
|
||||||
|
|
||||||
### Live Event
|
A special event with `kind:30311` "Live Streaming Event" is defined as an _addressable event_ whose tags advertise the content and participats of a live stream.
|
||||||
|
|
||||||
A special event with `kind:30311` "Live Event" is defined as an _addressable 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.
|
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:
|
For example:
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ Event `kind:1311` is live chat's channel message. Clients MUST include the `a` t
|
||||||
{
|
{
|
||||||
"kind": 1311,
|
"kind": 1311,
|
||||||
"tags": [
|
"tags": [
|
||||||
["a", "30311:<Community event author pubkey>:<d-identifier of the community>", "<Optional relay url>", "root"],
|
["a", "30311:<Community event author pubkey>:<d-identifier of the community>", "<Optional relay url>"],
|
||||||
],
|
],
|
||||||
"content": "Zaps to live streams is beautiful.",
|
"content": "Zaps to live streams is beautiful.",
|
||||||
// other fields...
|
// other fields...
|
||||||
|
@ -84,13 +84,9 @@ Event `kind:1311` is live chat's channel message. Clients MUST include the `a` t
|
||||||
|
|
||||||
Hosts may choose to pin one or more live chat messages by updating the `pinned` tags in the live event kind `30311`.
|
Hosts may choose to pin one or more live chat messages by updating the `pinned` tags in the live event kind `30311`.
|
||||||
|
|
||||||
## Use Cases
|
### Examples
|
||||||
|
|
||||||
Common use cases include meeting rooms/workshops, watch-together activities, or event spaces, such as [zap.stream](https://zap.stream).
|
#### Live Streaming
|
||||||
|
|
||||||
## Example
|
|
||||||
|
|
||||||
### Live Streaming
|
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
|
@ -114,7 +110,7 @@ Common use cases include meeting rooms/workshops, watch-together activities, or
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Live Streaming chat message
|
#### Live Streaming chat message
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
|
@ -130,18 +126,13 @@ Common use cases include meeting rooms/workshops, watch-together activities, or
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Interactive Rooms and Meetings
|
## Meeting Spaces
|
||||||
-----
|
|
||||||
|
|
||||||
`draft` `optional`
|
Meeting spaces contain one or more video/audio rooms where users can join and participate in the streaming.
|
||||||
|
|
||||||
Service providers want to offer Interactive Rooms to the Nostr network in such a way that participants can easily log and query by clients. This NIP describes a general framework to advertise rooms and their associated events.
|
### Meeting Space Event (kind:30312)
|
||||||
|
|
||||||
## Concepts
|
A special event with `kind:30312` "Space Host" defines the configuration and properties of a virtual interactive space. Each space has a unique identifier and can host multiple events/meetings.
|
||||||
|
|
||||||
### Interactive Room (kind:30312)
|
|
||||||
|
|
||||||
A special event with `kind:30312` "Interactive Room" defines the configuration and properties of a virtual interactive space. Each room has a unique identifier and can host multiple events/meetings.
|
|
||||||
|
|
||||||
```jsonc
|
```jsonc
|
||||||
{
|
{
|
||||||
|
@ -162,19 +153,20 @@ A special event with `kind:30312` "Interactive Room" defines the configuration a
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Room properties:
|
Space properties:
|
||||||
* MUST be either open, private or closed. Closed means the room is not in operation.
|
* MUST be either open, private or closed. Closed means the room is not in operation.
|
||||||
* MAY specify access control policy for private rooms (e.g. invite-only, payment required)
|
* MAY specify access control policy for private rooms (e.g. invite-only, payment required)
|
||||||
* MAY persist when not in use
|
* MAY persist when not in use
|
||||||
* MUST have at least one provider with "Host" role
|
* MUST have at least one provider with "Host" role
|
||||||
* MAY have multiple providers with different roles
|
* MAY have multiple providers with different roles
|
||||||
|
|
||||||
Provider roles (p tags):
|
Provider roles (p tags):
|
||||||
* Host: Full room management capabilities
|
* Host: Full room management capabilities
|
||||||
* Moderator: Room moderation capabilities
|
* Moderator: Room moderation capabilities
|
||||||
* Speaker: Allowed to present/speak
|
* Speaker: Allowed to present/speak
|
||||||
* Optional proof field for role verification
|
* Optional proof field for role verification
|
||||||
|
|
||||||
### Room Meeting (kind:30313)
|
### Meeting Room Events (kind:30313)
|
||||||
|
|
||||||
A special event with kind:30313 represents a scheduled or ongoing meeting within a room. It MUST reference its parent room using the d tag.
|
A special event with kind:30313 represents a scheduled or ongoing meeting within a room. It MUST reference its parent room using the d tag.
|
||||||
|
|
||||||
|
@ -183,7 +175,7 @@ A special event with kind:30313 represents a scheduled or ongoing meeting within
|
||||||
"kind": 30313,
|
"kind": 30313,
|
||||||
"tags": [
|
"tags": [
|
||||||
["d", "<event-unique-identifier>"], // Required: Event identifier
|
["d", "<event-unique-identifier>"], // Required: Event identifier
|
||||||
["a", "30312:<pubkey>:<room-id>", "wss://nostr.example.com"], // Required: Reference to parent room, 'd' from 30312
|
["a", "30312:<pubkey>:<room-id>", "wss://nostr.example.com"], // Required: Reference to parent space, 'd' from 30312
|
||||||
["title", "<meeting-title>"], // Required: Meeting title
|
["title", "<meeting-title>"], // Required: Meeting title
|
||||||
["summary", "<description>"], // Optional: Meeting description
|
["summary", "<description>"], // Optional: Meeting description
|
||||||
["image", "<preview image url>"], // Optional: Meeting image
|
["image", "<preview image url>"], // Optional: Meeting image
|
||||||
|
@ -204,14 +196,15 @@ Event properties:
|
||||||
* MUST have a start time
|
* MUST have a start time
|
||||||
* MAY track participant counts
|
* MAY track participant counts
|
||||||
* MAY include participant roles specific to the event
|
* MAY include participant roles specific to the event
|
||||||
|
|
||||||
Event management:
|
Event management:
|
||||||
* Clients SHOULD update event status regularly when live
|
* Clients SHOULD update event status regularly when live
|
||||||
* Events without updates for 1 hour MAY be considered ended
|
* Events without updates for 1 hour MAY be considered ended
|
||||||
* starts and ends timestamps SHOULD be updated when status changes
|
* starts and ends timestamps SHOULD be updated when status changes
|
||||||
|
|
||||||
Examples
|
### Examples
|
||||||
|
|
||||||
Interactive Room (kind:30312)
|
#### Meeting Space (kind:30312)
|
||||||
|
|
||||||
```jsonc
|
```jsonc
|
||||||
{
|
{
|
||||||
|
@ -233,7 +226,7 @@ Interactive Room (kind:30312)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Conference Event (kind:30313)
|
#### Meeting room (kind:30313)
|
||||||
|
|
||||||
```jsonc
|
```jsonc
|
||||||
{
|
{
|
||||||
|
@ -254,7 +247,7 @@ Conference Event (kind:30313)
|
||||||
"content": ""
|
"content": ""
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## Room Presence
|
### Room Presence
|
||||||
|
|
||||||
New `kind: 10312` provides an event which signals presence of a listener.
|
New `kind: 10312` provides an event which signals presence of a listener.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue