tentacle-sdk 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +169 -0
  3. package/dist/index.cjs +889 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +1562 -0
  6. package/dist/index.d.ts +1562 -0
  7. package/dist/index.js +884 -0
  8. package/dist/index.js.map +1 -0
  9. package/docs/api/classes/DeviceAuthFlow.md +107 -0
  10. package/docs/api/classes/FileCredentialStore.md +95 -0
  11. package/docs/api/classes/TentacleClient.md +118 -0
  12. package/docs/api/classes/TentacleError.md +69 -0
  13. package/docs/api/index.md +117 -0
  14. package/docs/api/interfaces/AppJson.md +20 -0
  15. package/docs/api/interfaces/ChatMessageEmoji.md +16 -0
  16. package/docs/api/interfaces/ChatMessageEmote.md +16 -0
  17. package/docs/api/interfaces/ChatMessagePosition.md +14 -0
  18. package/docs/api/interfaces/CommonChatMessage.md +27 -0
  19. package/docs/api/interfaces/CommonEventJson.md +32 -0
  20. package/docs/api/interfaces/CredentialStore.md +55 -0
  21. package/docs/api/interfaces/DeviceAuthInitResult.md +17 -0
  22. package/docs/api/interfaces/DeviceAuthOptions.md +18 -0
  23. package/docs/api/interfaces/DeviceAuthPollResult.md +14 -0
  24. package/docs/api/interfaces/DonationUnlock.md +16 -0
  25. package/docs/api/interfaces/FileCredentialStoreOptions.md +13 -0
  26. package/docs/api/interfaces/GiftedSubUnlock.md +15 -0
  27. package/docs/api/interfaces/KickBadge.md +15 -0
  28. package/docs/api/interfaces/KickChatMessageJson.md +35 -0
  29. package/docs/api/interfaces/KickEventJson_ChannelFollow.md +25 -0
  30. package/docs/api/interfaces/KickEventJson_ChannelSubscriptionGifts.md +25 -0
  31. package/docs/api/interfaces/KickEventJson_ChannelSubscriptionNew.md +25 -0
  32. package/docs/api/interfaces/KickEventJson_ChannelSubscriptionRenewal.md +25 -0
  33. package/docs/api/interfaces/KickEventJson_LivestreamStatusUpdated.md +24 -0
  34. package/docs/api/interfaces/RealtimeEvent_StreamChatMessage.md +14 -0
  35. package/docs/api/interfaces/RealtimeEvent_StreamEvent.md +14 -0
  36. package/docs/api/interfaces/RealtimeEvent_StreamViewerActivity.md +14 -0
  37. package/docs/api/interfaces/RealtimeSubscribeOptions.md +16 -0
  38. package/docs/api/interfaces/StreamViewerActivityJson.md +16 -0
  39. package/docs/api/interfaces/SubUnlock.md +15 -0
  40. package/docs/api/interfaces/SubathonStats_Donations.md +23 -0
  41. package/docs/api/interfaces/SubathonStats_GiftedSubscriptions.md +22 -0
  42. package/docs/api/interfaces/SubathonStats_Subscriptions.md +20 -0
  43. package/docs/api/interfaces/TentacleClientConfig.md +14 -0
  44. package/docs/api/interfaces/TentacleClientCreateOptions.md +15 -0
  45. package/docs/api/interfaces/TwitchChatMessageJson.md +41 -0
  46. package/docs/api/interfaces/TwitchEventJson_Cheer.md +29 -0
  47. package/docs/api/interfaces/TwitchEventJson_Follow.md +27 -0
  48. package/docs/api/interfaces/TwitchEventJson_Raid.md +27 -0
  49. package/docs/api/interfaces/TwitchEventJson_RedemptionAdd.md +34 -0
  50. package/docs/api/interfaces/TwitchEventJson_StreamOnline.md +26 -0
  51. package/docs/api/interfaces/TwitchEventJson_Subscription.md +28 -0
  52. package/docs/api/interfaces/TwitchEventJson_SubscriptionGift.md +30 -0
  53. package/docs/api/interfaces/TwitchUserInfo.md +24 -0
  54. package/docs/api/interfaces/ViewerActionJson.md +18 -0
  55. package/docs/api/interfaces/ViewerJson.md +23 -0
  56. package/docs/api/interfaces/ViewerKickJson.md +25 -0
  57. package/docs/api/interfaces/ViewerMiniJson.md +21 -0
  58. package/docs/api/interfaces/ViewerPropertyJsonBase.md +22 -0
  59. package/docs/api/interfaces/ViewerPropertyJson_Bool.md +22 -0
  60. package/docs/api/interfaces/ViewerPropertyJson_Number.md +22 -0
  61. package/docs/api/interfaces/ViewerPropertyJson_String.md +22 -0
  62. package/docs/api/interfaces/ViewerTwitchJson.md +24 -0
  63. package/docs/api/interfaces/ViewersByPropertyOutput.md +17 -0
  64. package/docs/api/type-aliases/DateIsoString.md +9 -0
  65. package/docs/api/type-aliases/KickEventJson.md +9 -0
  66. package/docs/api/type-aliases/OrderDirection.md +9 -0
  67. package/docs/api/type-aliases/RealtimeEvent.md +36 -0
  68. package/docs/api/type-aliases/StreamChatMessageJson.md +9 -0
  69. package/docs/api/type-aliases/StreamEventJson.md +9 -0
  70. package/docs/api/type-aliases/StreamPlatform.md +9 -0
  71. package/docs/api/type-aliases/TwitchEventJson.md +9 -0
  72. package/docs/api/type-aliases/TwitchEventType.md +9 -0
  73. package/docs/api/type-aliases/UnsubscribeFunction.md +22 -0
  74. package/docs/api/type-aliases/ViewerPropertyJson.md +9 -0
  75. package/docs/api/type-aliases/ViewerPropertyType.md +9 -0
  76. package/docs/overview.md +160 -0
  77. package/package.json +54 -0
@@ -0,0 +1,15 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: TentacleClientCreateOptions
6
+
7
+ Options for creating a TentacleClient with automatic authentication.
8
+
9
+ ## Properties
10
+
11
+ | Property | Type | Description |
12
+ | ------ | ------ | ------ |
13
+ | <a id="baseurl"></a> `baseUrl` | `string` | Base URL of the Tentacle API. **Example** `"https://api.tentacle.live"` |
14
+ | <a id="credentialstore"></a> `credentialStore` | [`CredentialStore`](CredentialStore.md) | Credential store for persisting access tokens. The SDK will check for a cached token and use it if valid. |
15
+ | <a id="deviceauthoptions"></a> `deviceAuthOptions` | [`DeviceAuthOptions`](DeviceAuthOptions.md) | Options for the device authorization flow. Used when no valid cached token is available. |
@@ -0,0 +1,41 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: TwitchChatMessageJson
6
+
7
+ Twitch chat message.
8
+
9
+ ## Extends
10
+
11
+ - [`CommonChatMessage`](CommonChatMessage.md)
12
+
13
+ ## Properties
14
+
15
+ | Property | Type |
16
+ | ------ | ------ |
17
+ | <a id="command"></a> `$command` | `string` \| `null` |
18
+ | <a id="commandargs"></a> `$commandArgs` | `string`[] |
19
+ | <a id="createdat"></a> `$createdAt` | `string` |
20
+ | <a id="emojis"></a> `$emojis` | `Record`\<`string`, [`ChatMessageEmoji`](ChatMessageEmoji.md)\> |
21
+ | <a id="emotes"></a> `$emotes` | `Record`\<`string`, [`ChatMessageEmote`](ChatMessageEmote.md)\> |
22
+ | <a id="html"></a> `$html` | `string` |
23
+ | <a id="id"></a> `$id` | `string` |
24
+ | <a id="kind"></a> `$kind` | `"ChatMessageJson"` |
25
+ | <a id="platform"></a> `$platform` | `"twitch"` |
26
+ | <a id="text"></a> `$text` | `string` |
27
+ | <a id="type"></a> `$type` | `"chat.message"` |
28
+ | <a id="viewerid"></a> `$viewerId` | `string` |
29
+ | <a id="bits"></a> `bits` | `number` |
30
+ | <a id="channelid"></a> `channelId` | `string` |
31
+ | <a id="color"></a> `color` | `string` \| `null` |
32
+ | <a id="emoteonly"></a> `emoteOnly` | `boolean` |
33
+ | <a id="id-1"></a> `id` | `string` |
34
+ | <a id="ischeer"></a> `isCheer` | `boolean` |
35
+ | <a id="isfirst"></a> `isFirst` | `boolean` |
36
+ | <a id="ishighlight"></a> `isHighlight` | `boolean` |
37
+ | <a id="isredemption"></a> `isRedemption` | `boolean` |
38
+ | <a id="isreply"></a> `isReply` | `boolean` |
39
+ | <a id="isreturningchatter"></a> `isReturningChatter` | `boolean` |
40
+ | <a id="message"></a> `message` | `string` |
41
+ | <a id="userinfo"></a> `userInfo` | [`TwitchUserInfo`](TwitchUserInfo.md) \| `null` |
@@ -0,0 +1,29 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: TwitchEventJson\_Cheer
6
+
7
+ Twitch cheer event.
8
+
9
+ ## Extends
10
+
11
+ - [`CommonEventJson`](CommonEventJson.md)
12
+
13
+ ## Properties
14
+
15
+ | Property | Type |
16
+ | ------ | ------ |
17
+ | <a id="createdat"></a> `$createdAt` | `string` |
18
+ | <a id="id"></a> `$id` | `string` |
19
+ | <a id="kind"></a> `$kind` | `"EventJson"` |
20
+ | <a id="platform"></a> `$platform` | `"twitch"` |
21
+ | <a id="type"></a> `$type` | `"channel.cheer"` |
22
+ | <a id="userid"></a> `$userId` | `string` |
23
+ | <a id="viewerid"></a> `$viewerId` | `string` \| `null` |
24
+ | <a id="bits"></a> `bits` | `number` |
25
+ | <a id="isanonymous"></a> `isAnonymous` | `boolean` |
26
+ | <a id="message"></a> `message` | `string` |
27
+ | <a id="userdisplayname"></a> `userDisplayName` | `string` \| `null` |
28
+ | <a id="userid-1"></a> `userId` | `string` \| `null` |
29
+ | <a id="username"></a> `userName` | `string` \| `null` |
@@ -0,0 +1,27 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: TwitchEventJson\_Follow
6
+
7
+ Twitch follow event.
8
+
9
+ ## Extends
10
+
11
+ - [`CommonEventJson`](CommonEventJson.md)
12
+
13
+ ## Properties
14
+
15
+ | Property | Type |
16
+ | ------ | ------ |
17
+ | <a id="createdat"></a> `$createdAt` | `string` |
18
+ | <a id="id"></a> `$id` | `string` |
19
+ | <a id="kind"></a> `$kind` | `"EventJson"` |
20
+ | <a id="platform"></a> `$platform` | `"twitch"` |
21
+ | <a id="type"></a> `$type` | `"channel.follow"` |
22
+ | <a id="userid"></a> `$userId` | `string` |
23
+ | <a id="viewerid"></a> `$viewerId` | `string` \| `null` |
24
+ | <a id="followedat"></a> `followedAt` | `string` |
25
+ | <a id="userdisplayname"></a> `userDisplayName` | `string` |
26
+ | <a id="userid-1"></a> `userId` | `string` |
27
+ | <a id="username"></a> `userName` | `string` |
@@ -0,0 +1,27 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: TwitchEventJson\_Raid
6
+
7
+ Twitch raid event.
8
+
9
+ ## Extends
10
+
11
+ - [`CommonEventJson`](CommonEventJson.md)
12
+
13
+ ## Properties
14
+
15
+ | Property | Type |
16
+ | ------ | ------ |
17
+ | <a id="createdat"></a> `$createdAt` | `string` |
18
+ | <a id="id"></a> `$id` | `string` |
19
+ | <a id="kind"></a> `$kind` | `"EventJson"` |
20
+ | <a id="platform"></a> `$platform` | `"twitch"` |
21
+ | <a id="type"></a> `$type` | `"channel.raid"` |
22
+ | <a id="userid"></a> `$userId` | `string` |
23
+ | <a id="viewerid"></a> `$viewerId` | `string` \| `null` |
24
+ | <a id="frombroadcasteruserdisplayname"></a> `fromBroadcasterUserDisplayName` | `string` |
25
+ | <a id="frombroadcasteruserid"></a> `fromBroadcasterUserId` | `string` |
26
+ | <a id="frombroadcasterusername"></a> `fromBroadcasterUserName` | `string` |
27
+ | <a id="viewers"></a> `viewers` | `number` |
@@ -0,0 +1,34 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: TwitchEventJson\_RedemptionAdd
6
+
7
+ Twitch channel point redemption event.
8
+
9
+ ## Extends
10
+
11
+ - [`CommonEventJson`](CommonEventJson.md)
12
+
13
+ ## Properties
14
+
15
+ | Property | Type |
16
+ | ------ | ------ |
17
+ | <a id="createdat"></a> `$createdAt` | `string` |
18
+ | <a id="id"></a> `$id` | `string` |
19
+ | <a id="kind"></a> `$kind` | `"EventJson"` |
20
+ | <a id="platform"></a> `$platform` | `"twitch"` |
21
+ | <a id="type"></a> `$type` | `"channel.channel_points_custom_reward_redemption.add"` |
22
+ | <a id="userid"></a> `$userId` | `string` |
23
+ | <a id="viewerid"></a> `$viewerId` | `string` \| `null` |
24
+ | <a id="id-1"></a> `id` | `string` |
25
+ | <a id="redeemedat"></a> `redeemedAt` | `string` |
26
+ | <a id="rewardcost"></a> `rewardCost` | `number` |
27
+ | <a id="rewardid"></a> `rewardId` | `string` |
28
+ | <a id="rewardprompt"></a> `rewardPrompt` | `string` |
29
+ | <a id="rewardtitle"></a> `rewardTitle` | `string` |
30
+ | <a id="status"></a> `status` | `string` |
31
+ | <a id="userdisplayname"></a> `userDisplayName` | `string` |
32
+ | <a id="userid-1"></a> `userId` | `string` |
33
+ | <a id="userinput"></a> `userInput` | `string` |
34
+ | <a id="username"></a> `userName` | `string` |
@@ -0,0 +1,26 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: TwitchEventJson\_StreamOnline
6
+
7
+ Twitch stream online event.
8
+
9
+ ## Extends
10
+
11
+ - [`CommonEventJson`](CommonEventJson.md)
12
+
13
+ ## Properties
14
+
15
+ | Property | Type |
16
+ | ------ | ------ |
17
+ | <a id="createdat"></a> `$createdAt` | `string` |
18
+ | <a id="id"></a> `$id` | `string` |
19
+ | <a id="kind"></a> `$kind` | `"EventJson"` |
20
+ | <a id="platform"></a> `$platform` | `"twitch"` |
21
+ | <a id="type"></a> `$type` | `"stream.online"` |
22
+ | <a id="userid"></a> `$userId` | `string` |
23
+ | <a id="viewerid"></a> `$viewerId` | `string` \| `null` |
24
+ | <a id="id-1"></a> `id` | `string` |
25
+ | <a id="startedat"></a> `startedAt` | `string` |
26
+ | <a id="type-1"></a> `type` | `string` |
@@ -0,0 +1,28 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: TwitchEventJson\_Subscription
6
+
7
+ Twitch subscription event.
8
+
9
+ ## Extends
10
+
11
+ - [`CommonEventJson`](CommonEventJson.md)
12
+
13
+ ## Properties
14
+
15
+ | Property | Type |
16
+ | ------ | ------ |
17
+ | <a id="createdat"></a> `$createdAt` | `string` |
18
+ | <a id="id"></a> `$id` | `string` |
19
+ | <a id="kind"></a> `$kind` | `"EventJson"` |
20
+ | <a id="platform"></a> `$platform` | `"twitch"` |
21
+ | <a id="type"></a> `$type` | `"channel.subscribe"` |
22
+ | <a id="userid"></a> `$userId` | `string` |
23
+ | <a id="viewerid"></a> `$viewerId` | `string` \| `null` |
24
+ | <a id="isgift"></a> `isGift` | `boolean` |
25
+ | <a id="tier"></a> `tier` | `string` |
26
+ | <a id="userdisplayname"></a> `userDisplayName` | `string` |
27
+ | <a id="userid-1"></a> `userId` | `string` |
28
+ | <a id="username"></a> `userName` | `string` |
@@ -0,0 +1,30 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: TwitchEventJson\_SubscriptionGift
6
+
7
+ Twitch subscription gift event.
8
+
9
+ ## Extends
10
+
11
+ - [`CommonEventJson`](CommonEventJson.md)
12
+
13
+ ## Properties
14
+
15
+ | Property | Type |
16
+ | ------ | ------ |
17
+ | <a id="createdat"></a> `$createdAt` | `string` |
18
+ | <a id="id"></a> `$id` | `string` |
19
+ | <a id="kind"></a> `$kind` | `"EventJson"` |
20
+ | <a id="platform"></a> `$platform` | `"twitch"` |
21
+ | <a id="type"></a> `$type` | `"channel.subscription.gift"` |
22
+ | <a id="userid"></a> `$userId` | `string` |
23
+ | <a id="viewerid"></a> `$viewerId` | `string` \| `null` |
24
+ | <a id="cumulativetotal"></a> `cumulativeTotal` | `number` \| `null` |
25
+ | <a id="isanonymous"></a> `isAnonymous` | `boolean` |
26
+ | <a id="tier"></a> `tier` | `string` |
27
+ | <a id="total"></a> `total` | `number` |
28
+ | <a id="userdisplayname"></a> `userDisplayName` | `string` \| `null` |
29
+ | <a id="userid-1"></a> `userId` | `string` \| `null` |
30
+ | <a id="username"></a> `userName` | `string` \| `null` |
@@ -0,0 +1,24 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: TwitchUserInfo
6
+
7
+ Twitch user info.
8
+
9
+ ## Properties
10
+
11
+ | Property | Type |
12
+ | ------ | ------ |
13
+ | <a id="badgeinfo"></a> `badgeInfo` | `Record`\<`string`, `string`\> |
14
+ | <a id="badges"></a> `badges` | `Record`\<`string`, `string`\> |
15
+ | <a id="color"></a> `color` | `string` \| `null` |
16
+ | <a id="displayname"></a> `displayName` | `string` |
17
+ | <a id="id"></a> `id` | `string` |
18
+ | <a id="isbroadcaster"></a> `isBroadcaster` | `boolean` |
19
+ | <a id="isfounder"></a> `isFounder` | `boolean` |
20
+ | <a id="ismod"></a> `isMod` | `boolean` |
21
+ | <a id="issubscriber"></a> `isSubscriber` | `boolean` |
22
+ | <a id="isvip"></a> `isVip` | `boolean` |
23
+ | <a id="name"></a> `name` | `string` |
24
+ | <a id="usertype"></a> `userType` | `string` \| `null` |
@@ -0,0 +1,18 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: ViewerActionJson
6
+
7
+ Viewer action.
8
+
9
+ ## Properties
10
+
11
+ | Property | Type |
12
+ | ------ | ------ |
13
+ | <a id="appid"></a> `appId` | `string` |
14
+ | <a id="createdat"></a> `createdAt` | `string` |
15
+ | <a id="data"></a> `data` | `unknown` |
16
+ | <a id="id"></a> `id` | `string` |
17
+ | <a id="name"></a> `name` | `string` |
18
+ | <a id="viewerid"></a> `viewerId` | `string` |
@@ -0,0 +1,23 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: ViewerJson
6
+
7
+ Viewer (full).
8
+
9
+ ## Extends
10
+
11
+ - [`ViewerMiniJson`](ViewerMiniJson.md)
12
+
13
+ ## Properties
14
+
15
+ | Property | Type |
16
+ | ------ | ------ |
17
+ | <a id="createdat"></a> `createdAt` | `string` |
18
+ | <a id="id"></a> `id` | `string` |
19
+ | <a id="ismock"></a> `isMock?` | `boolean` |
20
+ | <a id="kick"></a> `kick?` | [`ViewerKickJson`](ViewerKickJson.md) \| `null` |
21
+ | <a id="properties"></a> `properties?` | `Record`\<`string`, [`ViewerPropertyJson`](../type-aliases/ViewerPropertyJson.md)\> \| `null` |
22
+ | <a id="twitch"></a> `twitch?` | [`ViewerTwitchJson`](ViewerTwitchJson.md) \| `null` |
23
+ | <a id="updatedat"></a> `updatedAt` | `string` |
@@ -0,0 +1,25 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: ViewerKickJson
6
+
7
+ Viewer Kick data.
8
+
9
+ ## Properties
10
+
11
+ | Property | Type |
12
+ | ------ | ------ |
13
+ | <a id="badges"></a> `badges?` | [`KickBadge`](KickBadge.md)[] \| `null` |
14
+ | <a id="createdat"></a> `createdAt` | `string` |
15
+ | <a id="id"></a> `id` | `number` |
16
+ | <a id="isbroadcaster"></a> `isBroadcaster` | `boolean` |
17
+ | <a id="ismoderator"></a> `isModerator` | `boolean` |
18
+ | <a id="isowner"></a> `isOwner` | `boolean` |
19
+ | <a id="isstaff"></a> `isStaff` | `boolean` |
20
+ | <a id="issubscriber"></a> `isSubscriber` | `boolean` |
21
+ | <a id="isverified"></a> `isVerified` | `boolean` |
22
+ | <a id="isvip"></a> `isVip` | `boolean` |
23
+ | <a id="updatedat"></a> `updatedAt` | `string` |
24
+ | <a id="username"></a> `username` | `string` |
25
+ | <a id="viewerid"></a> `viewerId` | `string` |
@@ -0,0 +1,21 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: ViewerMiniJson
6
+
7
+ Viewer (mini).
8
+
9
+ ## Extended by
10
+
11
+ - [`ViewerJson`](ViewerJson.md)
12
+
13
+ ## Properties
14
+
15
+ | Property | Type |
16
+ | ------ | ------ |
17
+ | <a id="createdat"></a> `createdAt` | `string` |
18
+ | <a id="id"></a> `id` | `string` |
19
+ | <a id="kick"></a> `kick?` | [`ViewerKickJson`](ViewerKickJson.md) \| `null` |
20
+ | <a id="twitch"></a> `twitch?` | [`ViewerTwitchJson`](ViewerTwitchJson.md) \| `null` |
21
+ | <a id="updatedat"></a> `updatedAt` | `string` |
@@ -0,0 +1,22 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: ViewerPropertyJsonBase
6
+
7
+ Base viewer property fields.
8
+
9
+ ## Extended by
10
+
11
+ - [`ViewerPropertyJson_Number`](ViewerPropertyJson_Number.md)
12
+ - [`ViewerPropertyJson_Bool`](ViewerPropertyJson_Bool.md)
13
+ - [`ViewerPropertyJson_String`](ViewerPropertyJson_String.md)
14
+
15
+ ## Properties
16
+
17
+ | Property | Type |
18
+ | ------ | ------ |
19
+ | <a id="appid"></a> `appId` | `string` |
20
+ | <a id="id"></a> `id` | `string` |
21
+ | <a id="name"></a> `name` | `string` |
22
+ | <a id="viewerid"></a> `viewerId` | `string` |
@@ -0,0 +1,22 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: ViewerPropertyJson\_Bool
6
+
7
+ Boolean viewer property.
8
+
9
+ ## Extends
10
+
11
+ - [`ViewerPropertyJsonBase`](ViewerPropertyJsonBase.md)
12
+
13
+ ## Properties
14
+
15
+ | Property | Type |
16
+ | ------ | ------ |
17
+ | <a id="appid"></a> `appId` | `string` |
18
+ | <a id="id"></a> `id` | `string` |
19
+ | <a id="name"></a> `name` | `string` |
20
+ | <a id="type"></a> `type` | `"bool"` |
21
+ | <a id="value"></a> `value` | `boolean` |
22
+ | <a id="viewerid"></a> `viewerId` | `string` |
@@ -0,0 +1,22 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: ViewerPropertyJson\_Number
6
+
7
+ Number viewer property.
8
+
9
+ ## Extends
10
+
11
+ - [`ViewerPropertyJsonBase`](ViewerPropertyJsonBase.md)
12
+
13
+ ## Properties
14
+
15
+ | Property | Type |
16
+ | ------ | ------ |
17
+ | <a id="appid"></a> `appId` | `string` |
18
+ | <a id="id"></a> `id` | `string` |
19
+ | <a id="name"></a> `name` | `string` |
20
+ | <a id="type"></a> `type` | `"number"` |
21
+ | <a id="value"></a> `value` | `number` |
22
+ | <a id="viewerid"></a> `viewerId` | `string` |
@@ -0,0 +1,22 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: ViewerPropertyJson\_String
6
+
7
+ String viewer property.
8
+
9
+ ## Extends
10
+
11
+ - [`ViewerPropertyJsonBase`](ViewerPropertyJsonBase.md)
12
+
13
+ ## Properties
14
+
15
+ | Property | Type |
16
+ | ------ | ------ |
17
+ | <a id="appid"></a> `appId` | `string` |
18
+ | <a id="id"></a> `id` | `string` |
19
+ | <a id="name"></a> `name` | `string` |
20
+ | <a id="type"></a> `type` | `"string"` |
21
+ | <a id="value"></a> `value` | `string` |
22
+ | <a id="viewerid"></a> `viewerId` | `string` |
@@ -0,0 +1,24 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: ViewerTwitchJson
6
+
7
+ Viewer Twitch data.
8
+
9
+ ## Properties
10
+
11
+ | Property | Type |
12
+ | ------ | ------ |
13
+ | <a id="createdat"></a> `createdAt` | `string` |
14
+ | <a id="displayname"></a> `displayName` | `string` |
15
+ | <a id="id"></a> `id` | `string` |
16
+ | <a id="isbroadcaster"></a> `isBroadcaster` | `boolean` |
17
+ | <a id="isfounder"></a> `isFounder` | `boolean` |
18
+ | <a id="ismod"></a> `isMod` | `boolean` |
19
+ | <a id="issubscriber"></a> `isSubscriber` | `boolean` |
20
+ | <a id="isvip"></a> `isVip` | `boolean` |
21
+ | <a id="profileimageurl"></a> `profileImageUrl?` | `string` \| `null` |
22
+ | <a id="updatedat"></a> `updatedAt` | `string` |
23
+ | <a id="username"></a> `username` | `string` |
24
+ | <a id="viewerid"></a> `viewerId` | `string` |
@@ -0,0 +1,17 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Interface: ViewersByPropertyOutput
6
+
7
+ Viewers by property response.
8
+
9
+ ## Properties
10
+
11
+ | Property | Type |
12
+ | ------ | ------ |
13
+ | <a id="property"></a> `property` | `object` |
14
+ | `property.appId` | `string` |
15
+ | `property.name` | `string` |
16
+ | `property.type` | [`ViewerPropertyType`](../type-aliases/ViewerPropertyType.md) |
17
+ | <a id="viewers"></a> `viewers` | [`ViewerMiniJson`](ViewerMiniJson.md) & `object`[] |
@@ -0,0 +1,9 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Type Alias: DateIsoString
6
+
7
+ > **DateIsoString** = `string`
8
+
9
+ ISO 8601 date string.
@@ -0,0 +1,9 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Type Alias: KickEventJson
6
+
7
+ > **KickEventJson** = [`KickEventJson_ChannelFollow`](../interfaces/KickEventJson_ChannelFollow.md) \| [`KickEventJson_ChannelSubscriptionNew`](../interfaces/KickEventJson_ChannelSubscriptionNew.md) \| [`KickEventJson_ChannelSubscriptionRenewal`](../interfaces/KickEventJson_ChannelSubscriptionRenewal.md) \| [`KickEventJson_ChannelSubscriptionGifts`](../interfaces/KickEventJson_ChannelSubscriptionGifts.md) \| [`KickEventJson_LivestreamStatusUpdated`](../interfaces/KickEventJson_LivestreamStatusUpdated.md)
8
+
9
+ All Kick event types.
@@ -0,0 +1,9 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Type Alias: OrderDirection
6
+
7
+ > **OrderDirection** = `"asc"` \| `"desc"`
8
+
9
+ Order direction for pagination.
@@ -0,0 +1,36 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Type Alias: RealtimeEvent
6
+
7
+ > **RealtimeEvent** = [`RealtimeEvent_StreamChatMessage`](../interfaces/RealtimeEvent_StreamChatMessage.md) \| [`RealtimeEvent_StreamEvent`](../interfaces/RealtimeEvent_StreamEvent.md) \| [`RealtimeEvent_StreamViewerActivity`](../interfaces/RealtimeEvent_StreamViewerActivity.md)
8
+
9
+ Realtime event from the Tentacle server.
10
+
11
+ This is a discriminated union - use `event.kind` to determine the event type:
12
+ - `StreamChatMessage`: Chat message from Twitch or Kick
13
+ - `StreamEvent`: Stream event (follow, sub, raid, cheer, etc.)
14
+ - `StreamViewerActivity`: Viewer activity update
15
+
16
+ ## Example
17
+
18
+ ```typescript
19
+ client.realtime.subscribe({
20
+ onEvent: (event) => {
21
+ switch (event.kind) {
22
+ case 'StreamChatMessage':
23
+ console.log(`[${event.payload.$platform}] ${event.payload.$text}`)
24
+ break
25
+ case 'StreamEvent':
26
+ if (event.payload.$platform === 'twitch' && event.payload.$type === 'channel.follow') {
27
+ console.log(`New follower: ${event.payload.userDisplayName}`)
28
+ }
29
+ break
30
+ case 'StreamViewerActivity':
31
+ console.log(`Viewer ${event.payload.viewerId} active`)
32
+ break
33
+ }
34
+ }
35
+ })
36
+ ```
@@ -0,0 +1,9 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Type Alias: StreamChatMessageJson
6
+
7
+ > **StreamChatMessageJson** = [`TwitchChatMessageJson`](../interfaces/TwitchChatMessageJson.md) \| [`KickChatMessageJson`](../interfaces/KickChatMessageJson.md)
8
+
9
+ Chat message from Twitch or Kick.
@@ -0,0 +1,9 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Type Alias: StreamEventJson
6
+
7
+ > **StreamEventJson** = [`TwitchEventJson`](TwitchEventJson.md) \| [`KickEventJson`](KickEventJson.md)
8
+
9
+ Stream event from Twitch or Kick.
@@ -0,0 +1,9 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Type Alias: StreamPlatform
6
+
7
+ > **StreamPlatform** = `"twitch"` \| `"kick"`
8
+
9
+ Stream platform.
@@ -0,0 +1,9 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Type Alias: TwitchEventJson
6
+
7
+ > **TwitchEventJson** = [`TwitchEventJson_Follow`](../interfaces/TwitchEventJson_Follow.md) \| [`TwitchEventJson_Subscription`](../interfaces/TwitchEventJson_Subscription.md) \| [`TwitchEventJson_SubscriptionGift`](../interfaces/TwitchEventJson_SubscriptionGift.md) \| [`TwitchEventJson_Cheer`](../interfaces/TwitchEventJson_Cheer.md) \| [`TwitchEventJson_Raid`](../interfaces/TwitchEventJson_Raid.md) \| [`TwitchEventJson_RedemptionAdd`](../interfaces/TwitchEventJson_RedemptionAdd.md) \| [`TwitchEventJson_StreamOnline`](../interfaces/TwitchEventJson_StreamOnline.md)
8
+
9
+ All Twitch event types.
@@ -0,0 +1,9 @@
1
+ [**tentacle-sdk**](../index.md)
2
+
3
+ ***
4
+
5
+ # Type Alias: TwitchEventType
6
+
7
+ > **TwitchEventType** = `"channel.ban"` \| `"channel.cheer"` \| `"channel.follow"` \| `"channel.raid"` \| `"channel.channel_points_custom_reward_redemption.add"` \| `"channel.shield_mode.begin"` \| `"channel.shield_mode.end"` \| `"channel.shoutout.receive"` \| `"channel.subscribe"` \| `"channel.subscription.gift"` \| `"channel.subscription.message"` \| `"stream.online"` \| `"stream.offline"`
8
+
9
+ Twitch event types.