···1+---
2+title: place.stream.live.teleport
3+description: Reference for the place.stream.live.teleport lexicon
4+---
5+6+**Lexicon Version:** 1
7+8+## Definitions
9+10+<a name="main"></a>
11+12+### `main`
13+14+**Type:** `record`
15+16+Record defining a 'teleport', that is active during a certain time.
17+18+**Record Key:** `tid`
19+20+**Record Properties:**
21+22+| Name | Type | Req'd | Description | Constraints |
23+| ----------------- | --------- | ----- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
24+| `streamer` | `string` | ✅ | The DID of the streamer to teleport to. | Format: `did` |
25+| `startsAt` | `string` | ✅ | The time the teleport becomes active. | Format: `datetime` |
26+| `durationSeconds` | `integer` | ❌ | The time limit in seconds for the teleport. If not set, the teleport is permanent. Must be at least 60 seconds, and no more than 32,400 seconds (9 hours). | Min: 60<br/>Max: 32400 |
27+28+---
29+30+## Lexicon Source
31+32+```json
33+{
34+ "lexicon": 1,
35+ "id": "place.stream.live.teleport",
36+ "defs": {
37+ "main": {
38+ "type": "record",
39+ "key": "tid",
40+ "description": "Record defining a 'teleport', that is active during a certain time.",
41+ "record": {
42+ "type": "object",
43+ "required": ["streamer", "startsAt"],
44+ "properties": {
45+ "streamer": {
46+ "type": "string",
47+ "format": "did",
48+ "description": "The DID of the streamer to teleport to."
49+ },
50+ "startsAt": {
51+ "type": "string",
52+ "format": "datetime",
53+ "description": "The time the teleport becomes active."
54+ },
55+ "durationSeconds": {
56+ "type": "integer",
57+ "description": "The time limit in seconds for the teleport. If not set, the teleport is permanent. Must be at least 60 seconds, and no more than 32,400 seconds (9 hours).",
58+ "minimum": 60,
59+ "maximum": 32400
60+ }
61+ }
62+ }
63+ }
64+ }
65+}
66+```
···1+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
2+3+// Lexicon schema: place.stream.live.denyTeleport
4+5+package streamplace
6+7+import (
8+ "context"
9+10+ lexutil "github.com/bluesky-social/indigo/lex/util"
11+)
12+13+// LiveDenyTeleport_Input is the input argument to a place.stream.live.denyTeleport call.
14+type LiveDenyTeleport_Input struct {
15+ // uri: The URI of the teleport record to deny.
16+ Uri string `json:"uri" cborgen:"uri"`
17+}
18+19+// LiveDenyTeleport_Output is the output of a place.stream.live.denyTeleport call.
20+type LiveDenyTeleport_Output struct {
21+ // success: Whether the teleport was successfully denied.
22+ Success bool `json:"success" cborgen:"success"`
23+}
24+25+// LiveDenyTeleport calls the XRPC method "place.stream.live.denyTeleport".
26+func LiveDenyTeleport(ctx context.Context, c lexutil.LexClient, input *LiveDenyTeleport_Input) (*LiveDenyTeleport_Output, error) {
27+ var out LiveDenyTeleport_Output
28+ if err := c.LexDo(ctx, lexutil.Procedure, "application/json", "place.stream.live.denyTeleport", nil, input, &out); err != nil {
29+ return nil, err
30+ }
31+32+ return &out, nil
33+}
+7-7
pkg/streamplace/liveteleport.go
···1// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
23-package streamplace
45-// schema: place.stream.live.teleport
67import (
8- "github.com/bluesky-social/indigo/lex/util"
9)
1011func init() {
12- util.RegisterType("place.stream.live.teleport", &LiveTeleport{})
13-} //
14-// RECORDTYPE: LiveTeleport
15type LiveTeleport struct {
16- LexiconTypeID string `json:"$type,const=place.stream.live.teleport" cborgen:"$type,const=place.stream.live.teleport"`
17 // durationSeconds: The time limit in seconds for the teleport. If not set, the teleport is permanent. Must be at least 60 seconds, and no more than 32,400 seconds (9 hours).
18 DurationSeconds *int64 `json:"durationSeconds,omitempty" cborgen:"durationSeconds,omitempty"`
19 // startsAt: The time the teleport becomes active.
···1// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
23+// Lexicon schema: place.stream.live.teleport
45+package streamplace
67import (
8+ lexutil "github.com/bluesky-social/indigo/lex/util"
9)
1011func init() {
12+ lexutil.RegisterType("place.stream.live.teleport", &LiveTeleport{})
13+}
14+15type LiveTeleport struct {
16+ LexiconTypeID string `json:"$type" cborgen:"$type,const=place.stream.live.teleport"`
17 // durationSeconds: The time limit in seconds for the teleport. If not set, the teleport is permanent. Must be at least 60 seconds, and no more than 32,400 seconds (9 hours).
18 DurationSeconds *int64 `json:"durationSeconds,omitempty" cborgen:"durationSeconds,omitempty"`
19 // startsAt: The time the teleport becomes active.