place.stream.livestream
Lexicon Version: 1
Definitions
Section titled “Definitions”Type: record
Record announcing a livestream is happening
Record Key: tid
Record Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
title | string | ✅ | The title of the livestream, as it will be announced to followers. | Max Length: 1400 Max Graphemes: 140 |
url | string | ❌ | The URL where this stream can be found. This is primarily a hint for other Streamplace nodes to locate and replicate the stream. | Format: uri |
createdAt | string | ✅ | Client-declared timestamp when this livestream started. | Format: datetime |
post | com.atproto.repo.strongRef | ❌ | The post that announced this livestream. | |
agent | string | ❌ | The source of the livestream, if available, in a User Agent format: <product> / <product-version> <comment> e.g. Streamplace/0.7.5 iOS | |
canonicalUrl | string | ❌ | The primary URL where this livestream can be viewed, if available. | Format: uri |
thumb | blob | ❌ | Accept: image/*Max Size: 1000000 bytes | |
notificationSettings | place.stream.livestream#notificationSettings | ❌ |
notificationSettings
Section titled “notificationSettings”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
pushNotification | boolean | ❌ | Whether this livestream should trigger a push notification to followers. |
livestreamView
Section titled “livestreamView”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
uri | string | ✅ | Format: at-uri | |
cid | string | ✅ | Format: cid | |
author | app.bsky.actor.defs#profileViewBasic | ✅ | ||
record | unknown | ✅ | ||
indexedAt | string | ✅ | Format: datetime | |
viewerCount | #viewerCount | ❌ | The number of viewers watching this livestream. Use when you can’t reasonably use #viewerCount directly. |
viewerCount
Section titled “viewerCount”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
count | integer | ✅ |
streamplaceAnything
Section titled “streamplaceAnything”Type: object
Properties:
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
livestream | Union of:#livestreamView#viewerCountplace.stream.defs#blockViewplace.stream.defs#renditionsplace.stream.defs#renditionplace.stream.chat.defs#messageView | ✅ |
Lexicon Source
Section titled “Lexicon Source”{ "lexicon": 1, "id": "place.stream.livestream", "defs": { "main": { "type": "record", "description": "Record announcing a livestream is happening", "key": "tid", "record": { "type": "object", "required": ["title", "createdAt"], "properties": { "title": { "type": "string", "maxLength": 1400, "maxGraphemes": 140, "description": "The title of the livestream, as it will be announced to followers." }, "url": { "type": "string", "format": "uri", "description": "The URL where this stream can be found. This is primarily a hint for other Streamplace nodes to locate and replicate the stream." }, "createdAt": { "type": "string", "format": "datetime", "description": "Client-declared timestamp when this livestream started." }, "post": { "type": "ref", "ref": "com.atproto.repo.strongRef", "description": "The post that announced this livestream." }, "agent": { "type": "string", "description": "The source of the livestream, if available, in a User Agent format: `<product> / <product-version> <comment>` e.g. Streamplace/0.7.5 iOS" }, "canonicalUrl": { "type": "string", "format": "uri", "description": "The primary URL where this livestream can be viewed, if available." }, "thumb": { "type": "blob", "accept": ["image/*"], "maxSize": 1000000 }, "notificationSettings": { "type": "ref", "ref": "place.stream.livestream#notificationSettings" } } } }, "notificationSettings": { "type": "object", "required": [], "properties": { "pushNotification": { "type": "boolean", "description": "Whether this livestream should trigger a push notification to followers." } } }, "livestreamView": { "type": "object", "required": ["uri", "cid", "author", "record", "indexedAt"], "properties": { "uri": { "type": "string", "format": "at-uri" }, "cid": { "type": "string", "format": "cid" }, "author": { "type": "ref", "ref": "app.bsky.actor.defs#profileViewBasic" }, "record": { "type": "unknown" }, "indexedAt": { "type": "string", "format": "datetime" }, "viewerCount": { "type": "ref", "description": "The number of viewers watching this livestream. Use when you can't reasonably use #viewerCount directly.", "ref": "#viewerCount" } } }, "viewerCount": { "type": "object", "required": ["count"], "properties": { "count": { "type": "integer" } } }, "streamplaceAnything": { "type": "object", "required": ["livestream"], "properties": { "livestream": { "type": "union", "refs": [ "#livestreamView", "#viewerCount", "place.stream.defs#blockView", "place.stream.defs#renditions", "place.stream.defs#rendition", "place.stream.chat.defs#messageView" ] } } } }}