@notidotbot/noti-api-client 1.4.0

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 (115) hide show
  1. package/cname.js +3 -0
  2. package/dist/classes/@me.d.ts +122 -0
  3. package/dist/classes/@me.js +59 -0
  4. package/dist/classes/admin.d.ts +71 -0
  5. package/dist/classes/admin.js +26 -0
  6. package/dist/classes/client.d.ts +156 -0
  7. package/dist/classes/client.js +116 -0
  8. package/dist/classes/emotes.d.ts +31 -0
  9. package/dist/classes/emotes.js +24 -0
  10. package/dist/classes/files.d.ts +36 -0
  11. package/dist/classes/files.js +36 -0
  12. package/dist/classes/guild.d.ts +187 -0
  13. package/dist/classes/guild.js +140 -0
  14. package/dist/classes/guildDrops.d.ts +58 -0
  15. package/dist/classes/guildDrops.js +32 -0
  16. package/dist/classes/guildGiveaway.d.ts +110 -0
  17. package/dist/classes/guildGiveaway.js +76 -0
  18. package/dist/classes/guildPlatform.d.ts +163 -0
  19. package/dist/classes/guildPlatform.js +99 -0
  20. package/dist/classes/guildPlatformAction.d.ts +67 -0
  21. package/dist/classes/guildPlatformAction.js +26 -0
  22. package/dist/classes/guildStarboard.d.ts +66 -0
  23. package/dist/classes/guildStarboard.js +36 -0
  24. package/dist/classes/linked.d.ts +26 -0
  25. package/dist/classes/linked.js +32 -0
  26. package/dist/classes/other.d.ts +83 -0
  27. package/dist/classes/other.js +53 -0
  28. package/dist/classes/platform.d.ts +227 -0
  29. package/dist/classes/platform.js +30 -0
  30. package/dist/classes/premium.d.ts +179 -0
  31. package/dist/classes/premium.js +76 -0
  32. package/dist/classes/sessions.d.ts +42 -0
  33. package/dist/classes/sessions.js +30 -0
  34. package/dist/classes/teams.d.ts +88 -0
  35. package/dist/classes/teams.js +66 -0
  36. package/dist/classes/telemetry.d.ts +32 -0
  37. package/dist/classes/telemetry.js +28 -0
  38. package/dist/classes/user.d.ts +40 -0
  39. package/dist/classes/user.js +30 -0
  40. package/dist/classes/vods.d.ts +55 -0
  41. package/dist/classes/vods.js +38 -0
  42. package/dist/core/manager.d.ts +57 -0
  43. package/dist/core/manager.js +78 -0
  44. package/dist/core/utils.d.ts +4 -0
  45. package/dist/core/utils.js +26 -0
  46. package/dist/index.d.ts +22 -0
  47. package/dist/index.js +42 -0
  48. package/dist/modules/stripe.d.ts +12 -0
  49. package/dist/modules/stripe.js +18 -0
  50. package/dist/other/bitfields.d.ts +283 -0
  51. package/dist/other/bitfields.js +323 -0
  52. package/dist/other/enums.d.ts +2 -0
  53. package/dist/other/enums.js +10 -0
  54. package/dist/other/prisma.d.ts +76 -0
  55. package/dist/other/prisma.js +9 -0
  56. package/dist/other/templates.d.ts +795 -0
  57. package/dist/other/templates.js +706 -0
  58. package/dist/other/types.d.ts +45 -0
  59. package/dist/other/types.js +17 -0
  60. package/dist/other/utils.d.ts +5 -0
  61. package/dist/other/utils.js +51 -0
  62. package/dist/other/zod/client.zod.d.ts +349 -0
  63. package/dist/other/zod/client.zod.js +63 -0
  64. package/dist/other/zod/drops.zod.d.ts +16 -0
  65. package/dist/other/zod/drops.zod.js +93 -0
  66. package/dist/other/zod/giveaways.zod.d.ts +382 -0
  67. package/dist/other/zod/giveaways.zod.js +72 -0
  68. package/dist/other/zod/guild.zod.d.ts +1638 -0
  69. package/dist/other/zod/guild.zod.js +139 -0
  70. package/dist/other/zod/kickStreamer.zod.d.ts +761 -0
  71. package/dist/other/zod/kickStreamer.zod.js +92 -0
  72. package/dist/other/zod/member.zod.d.ts +22 -0
  73. package/dist/other/zod/member.zod.js +15 -0
  74. package/dist/other/zod/r2Storage.zod.d.ts +56 -0
  75. package/dist/other/zod/r2Storage.zod.js +21 -0
  76. package/dist/other/zod/rumbleStreamer.zod.d.ts +530 -0
  77. package/dist/other/zod/rumbleStreamer.zod.js +45 -0
  78. package/dist/other/zod/schema.zod.d.ts +25 -0
  79. package/dist/other/zod/schema.zod.js +168 -0
  80. package/dist/other/zod/starboard.zod.d.ts +167 -0
  81. package/dist/other/zod/starboard.zod.js +46 -0
  82. package/dist/other/zod/team.zod.d.ts +107 -0
  83. package/dist/other/zod/team.zod.js +30 -0
  84. package/dist/other/zod/tiktokStreamer.zod.d.ts +473 -0
  85. package/dist/other/zod/tiktokStreamer.zod.js +46 -0
  86. package/dist/other/zod/twitchStreamer.zod.d.ts +473 -0
  87. package/dist/other/zod/twitchStreamer.zod.js +46 -0
  88. package/dist/other/zod/user.zod.d.ts +678 -0
  89. package/dist/other/zod/user.zod.js +124 -0
  90. package/dist/other/zod/youtubeStreamer.zod.d.ts +476 -0
  91. package/dist/other/zod/youtubeStreamer.zod.js +47 -0
  92. package/dist/other/zod/zod.d.ts +177 -0
  93. package/dist/other/zod/zod.js +60 -0
  94. package/dist/tsconfig.tsbuildinfo +1 -0
  95. package/dist/types.d.ts +37 -0
  96. package/dist/types.js +2 -0
  97. package/package.json +63 -0
  98. package/prisma/generated/index.ts +25 -0
  99. package/prisma/generated/ts-prisma.d.ts +91725 -0
  100. package/prisma/schema/models/client.prisma +89 -0
  101. package/prisma/schema/models/drops.prisma +167 -0
  102. package/prisma/schema/models/giveaways.prisma +82 -0
  103. package/prisma/schema/models/guild.prisma +368 -0
  104. package/prisma/schema/models/kickStreamer.prisma +202 -0
  105. package/prisma/schema/models/member.prisma +10 -0
  106. package/prisma/schema/models/r2Storage.prisma +22 -0
  107. package/prisma/schema/models/rumbleStreamer.prisma +121 -0
  108. package/prisma/schema/models/starboard.prisma +66 -0
  109. package/prisma/schema/models/team.prisma +38 -0
  110. package/prisma/schema/models/tiktokStreamer.prisma +121 -0
  111. package/prisma/schema/models/twitchStreamer.prisma +122 -0
  112. package/prisma/schema/models/user.prisma +212 -0
  113. package/prisma/schema/models/youtubeStreamer.prisma +123 -0
  114. package/prisma/schema/schema.prisma +182 -0
  115. package/prisma.config.ts +6 -0
@@ -0,0 +1,202 @@
1
+ model KickStreamer {
2
+ dbId String @id @default(uuid())
3
+
4
+ streamerUserName String
5
+ guildId String
6
+
7
+ streamerId String? // Renamed from streamerId
8
+ chatRoomId String? // Renamed from chatRoomId
9
+
10
+ deleteEmbeds Boolean? // Premium
11
+ sendOfflineMessage Boolean?
12
+ usePerStreamerEmbeds Boolean? // Premium
13
+ autoPublishIfAnnouncmentChannel Boolean? // Premium
14
+
15
+ customMessages KSCustomMessage[] // Premium
16
+
17
+ clipEnabled Boolean?
18
+ clipChannelId String?
19
+ clipPingRoleId String?
20
+ clipperNeedsAllCategories Boolean?
21
+ clipperCategories ClipperCategoryEnum[]
22
+
23
+ builtInClipsEnabled Boolean?
24
+ builtInClipsChannelId String?
25
+ builtInClipsPingRoleId String?
26
+
27
+ vodsChannelId String?
28
+ vodsPingRoleId String?
29
+
30
+ notificationChannelId String?
31
+ auditLogsChannelId String? // Premium
32
+ auditLogsEnabled Boolean? // Premium
33
+ showNotifyButton Boolean?
34
+
35
+ leaderBoardChannelId String? // Internal & Premium
36
+ leaderBoardMessageId String? // Internal & Premium
37
+ leaderBoardTypes LeaderBoardTypesEnum[] // Premium
38
+
39
+ pingRoleId String?
40
+ enableVodDownloading Boolean? // Premium
41
+ customCoolDownBeforeNextLive Int? // Premium. In minutes.
42
+
43
+ usersWhoHaveRole KSRoleWithUsers[] // Internal & Premium
44
+ leaderBoardSyncRoles KSLeaderBoardSyncRole[] // Premium
45
+ giftedSubRoles KSGiftedSubRole[] // Premium
46
+
47
+ subscriberRoleId String?
48
+ moderatorRoleId String?
49
+ verifiedRoleId String? // Premium
50
+ founderRoleId String? // Premium
51
+ vipRoleId String?
52
+ ogRoleId String?
53
+
54
+ liveRoleId String?
55
+ usersForLiveRole String[]
56
+ usersWhoHaveLiveRole String[] // Internal
57
+
58
+ statsChannelIds KSStatsChannelId? // Internal
59
+ isCurrentlyLive KSCurrentlyLive? // Internal
60
+
61
+ lastLive DateTime?
62
+
63
+ @@unique([streamerUserName, guildId])
64
+ }
65
+
66
+ model KSCustomMessage {
67
+ dbId String @id @default(uuid())
68
+
69
+ type StreamerMessageTypeEnum
70
+ content String? @db.VarChar(2000)
71
+
72
+ embed KSMessageEmbed?
73
+ buttons KSMessageButton[]
74
+ webhook KSMessageWebhook?
75
+
76
+ kickStreamerId String
77
+ kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
78
+
79
+ @@unique([kickStreamerId, type])
80
+ }
81
+
82
+ model KSMessageEmbed {
83
+ dbId String @id @default(uuid())
84
+
85
+ title String? @db.VarChar(256)
86
+ url String?
87
+ description String @db.VarChar(2048)
88
+ color String? @db.VarChar(10)
89
+ footer String? @db.VarChar(1024)
90
+ footerIcon String?
91
+ image String?
92
+ thumbnail String?
93
+ author String? @db.VarChar(256)
94
+ authorIcon String?
95
+ fields KSEmbedField[]
96
+
97
+ ksCustomMessageId String @unique
98
+ ksCustomMessage KSCustomMessage? @relation(fields: [ksCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
99
+ }
100
+
101
+ model KSEmbedField {
102
+ dbId String @id @default(uuid())
103
+
104
+ name String @db.VarChar(256)
105
+ value String? @db.VarChar(1024)
106
+ inline Boolean?
107
+
108
+ ksMessageEmbedId String
109
+ ksMessageEmbed KSMessageEmbed? @relation(fields: [ksMessageEmbedId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
110
+ }
111
+
112
+ model KSMessageButton {
113
+ dbId String @id @default(uuid())
114
+
115
+ title String @db.VarChar(80)
116
+ url String?
117
+
118
+ emojiUnicodeOrId String?
119
+
120
+ ksCustomMessageId String
121
+ ksCustomMessage KSCustomMessage? @relation(fields: [ksCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
122
+ }
123
+
124
+ model KSMessageWebhook {
125
+ dbId String @id @default(uuid())
126
+
127
+ enabled Boolean?
128
+ username String?
129
+ avatarUrl String?
130
+
131
+ ksCustomMessageId String @unique
132
+ ksCustomMessage KSCustomMessage? @relation(fields: [ksCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
133
+ }
134
+
135
+ model KSRoleWithUsers {
136
+ dbId String @id @default(uuid())
137
+
138
+ roleId String
139
+ userIds String[]
140
+
141
+ kickStreamerId String
142
+ kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
143
+
144
+ @@unique([roleId, kickStreamerId])
145
+ }
146
+
147
+ model KSLeaderBoardSyncRole {
148
+ dbId String @id @default(uuid())
149
+
150
+ type LeaderBoardTypesEnum
151
+ roles KSLeaderBoardRole[]
152
+
153
+ kickStreamerId String
154
+ kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
155
+
156
+ @@unique([type, kickStreamerId])
157
+ }
158
+
159
+ model KSLeaderBoardRole {
160
+ dbId String @id @default(uuid())
161
+
162
+ roleId String
163
+ position Int
164
+
165
+ ksLeaderBoardSyncRoleId String
166
+ ksLeaderBoardSyncRole KSLeaderBoardSyncRole? @relation(fields: [ksLeaderBoardSyncRoleId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
167
+
168
+ @@unique([roleId, ksLeaderBoardSyncRoleId])
169
+ }
170
+
171
+ model KSGiftedSubRole {
172
+ dbId String @id @default(uuid())
173
+
174
+ roleId String
175
+ giftedSubs Int
176
+
177
+ kickStreamerId String
178
+ kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
179
+
180
+ @@unique([roleId, kickStreamerId])
181
+ }
182
+
183
+ model KSStatsChannelId {
184
+ dbId String @id @default(uuid())
185
+
186
+ followers String?
187
+ isLive String?
188
+
189
+ kickStreamerId String @unique
190
+ kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
191
+ }
192
+
193
+ model KSCurrentlyLive {
194
+ dbId String @id @default(uuid())
195
+
196
+ correct Boolean?
197
+ channelId String?
198
+ messageId String?
199
+
200
+ kickStreamerId String @unique
201
+ kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
202
+ }
@@ -0,0 +1,10 @@
1
+ model Member {
2
+ dbId String @id @default(uuid())
3
+
4
+ userId String
5
+ guildId String
6
+
7
+ messagesSent Int @default(0)
8
+
9
+ @@unique([userId, guildId])
10
+ }
@@ -0,0 +1,22 @@
1
+ model R2Storage {
2
+ dbId String @id @default(uuid())
3
+
4
+ key String @unique
5
+
6
+ tempUrl String?
7
+ urlExpiresAt DateTime?
8
+
9
+ guilds R2StorageGuild[]
10
+ }
11
+
12
+ model R2StorageGuild {
13
+ dbId String @id @default(uuid())
14
+
15
+ guildId String
16
+ allowedUntil DateTime?
17
+
18
+ r2StorageId String
19
+ r2Storage R2Storage? @relation(fields: [r2StorageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
20
+
21
+ @@unique([guildId, r2StorageId])
22
+ }
@@ -0,0 +1,121 @@
1
+ model RumbleStreamer {
2
+ dbId String @id @default(uuid())
3
+
4
+ streamerUserName String
5
+ guildId String
6
+
7
+ type RumbleTypeEnum // Renamed from type
8
+
9
+ deleteEmbeds Boolean? // Premium
10
+ sendOfflineMessage Boolean?
11
+ usePerStreamerEmbeds Boolean? // Premium
12
+ autoPublishIfAnnouncmentChannel Boolean? // Premium
13
+
14
+ customMessages RSCustomMessage[] // Premium
15
+
16
+ notificationChannelId String?
17
+ showNotifyButton Boolean?
18
+
19
+ pingRoleId String?
20
+ customCoolDownBeforeNextLive Int? // Premium. In minutes.
21
+
22
+ liveRoleId String?
23
+ usersForLiveRole String[]
24
+ usersWhoHaveLiveRole String[] // Internal
25
+
26
+ statsChannelIds RSStatsChannelId? // Internal
27
+ isCurrentlyLive RSCurrentlyLive? // Internal
28
+
29
+ lastLive DateTime?
30
+
31
+ @@unique([streamerUserName, guildId])
32
+ }
33
+
34
+ model RSCustomMessage {
35
+ dbId String @id @default(uuid())
36
+
37
+ type StreamerMessageTypeEnum
38
+ content String? @db.VarChar(2000)
39
+
40
+ embed RSMessageEmbed?
41
+ buttons RSMessageButton[]
42
+ webhook RSMessageWebhook?
43
+
44
+ rumbleStreamerId String
45
+ rumbleStreamer RumbleStreamer? @relation(fields: [rumbleStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
46
+
47
+ @@unique([rumbleStreamerId, type])
48
+ }
49
+
50
+ model RSMessageEmbed {
51
+ dbId String @id @default(uuid())
52
+
53
+ title String? @db.VarChar(256)
54
+ url String?
55
+ description String @db.VarChar(2048)
56
+ color String? @db.VarChar(10)
57
+ footer String? @db.VarChar(1024)
58
+ footerIcon String?
59
+ image String?
60
+ thumbnail String?
61
+ author String? @db.VarChar(256)
62
+ authorIcon String?
63
+ fields RSEmbedField[]
64
+
65
+ rsCustomMessageId String @unique
66
+ rsCustomMessage RSCustomMessage? @relation(fields: [rsCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
67
+ }
68
+
69
+ model RSEmbedField {
70
+ dbId String @id @default(uuid())
71
+
72
+ name String @db.VarChar(256)
73
+ value String? @db.VarChar(1024)
74
+ inline Boolean?
75
+
76
+ rsMessageEmbedId String
77
+ rsMessageEmbed RSMessageEmbed? @relation(fields: [rsMessageEmbedId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
78
+ }
79
+
80
+ model RSMessageButton {
81
+ dbId String @id @default(uuid())
82
+
83
+ title String @db.VarChar(80)
84
+ url String?
85
+
86
+ emojiUnicodeOrId String?
87
+
88
+ rsCustomMessageId String
89
+ rsCustomMessage RSCustomMessage? @relation(fields: [rsCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
90
+ }
91
+
92
+ model RSMessageWebhook {
93
+ dbId String @id @default(uuid())
94
+
95
+ enabled Boolean?
96
+ username String?
97
+ avatarUrl String?
98
+
99
+ rsCustomMessageId String @unique
100
+ rsCustomMessage RSCustomMessage? @relation(fields: [rsCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
101
+ }
102
+
103
+ model RSStatsChannelId {
104
+ dbId String @id @default(uuid())
105
+
106
+ isLive String?
107
+
108
+ rumbleStreamerId String @unique
109
+ rumbleStreamer RumbleStreamer? @relation(fields: [rumbleStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
110
+ }
111
+
112
+ model RSCurrentlyLive {
113
+ dbId String @id @default(uuid())
114
+
115
+ correct Boolean?
116
+ channelId String?
117
+ messageId String?
118
+
119
+ rumbleStreamerId String @unique
120
+ rumbleStreamer RumbleStreamer? @relation(fields: [rumbleStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
121
+ }
@@ -0,0 +1,66 @@
1
+ model GuildStarboard {
2
+ dbId String @id @default(uuid())
3
+
4
+ channelId String
5
+ guildId String
6
+
7
+ enabled Boolean?
8
+ threshold Int?
9
+
10
+ emojiId String?
11
+ emojiName String?
12
+
13
+ allowNsfw Boolean?
14
+ allowSelfStar Boolean?
15
+ allowBotMessages Boolean?
16
+ deleteIfLost Boolean?
17
+
18
+ rewardRole String?
19
+ openThreadOnStar Boolean?
20
+ filter GuildStarboardFilter?
21
+
22
+ @@unique([channelId, guildId])
23
+ }
24
+
25
+ model GuildStarboardFilter {
26
+ dbId String @id @default(uuid())
27
+
28
+ roleMode FilterEnum?
29
+ roles String[]
30
+
31
+ channelMode FilterEnum?
32
+ channels String[]
33
+
34
+ guildStarboardId String @unique
35
+ guildStarboard GuildStarboard? @relation(fields: [guildStarboardId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
36
+ }
37
+
38
+ // Cant be connected because of include all relations on client.
39
+ // Fully internal.
40
+
41
+ model GuildStarboardMessages {
42
+ dbId String @id @default(uuid())
43
+
44
+ channelId String
45
+ guildId String
46
+
47
+ messages GuildStarboardMessage[]
48
+
49
+ @@unique([channelId, guildId])
50
+ }
51
+
52
+ model GuildStarboardMessage {
53
+ dbId String @id @default(uuid())
54
+
55
+ messageId String
56
+ originalMessageId String
57
+ originalChannelId String
58
+
59
+ currentStars Int
60
+ isTrashed Boolean?
61
+
62
+ guildStarboardMessagesId String
63
+ guildStarboardMessages GuildStarboardMessages? @relation(fields: [guildStarboardMessagesId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
64
+
65
+ @@unique([originalMessageId, originalChannelId])
66
+ }
@@ -0,0 +1,38 @@
1
+ model Team {
2
+ dbId String @id @default(uuid())
3
+
4
+ teamId String @unique
5
+ teamName String
6
+
7
+ teamMembers TeamMember[]
8
+ activeInvites ActiveInvite[]
9
+ }
10
+
11
+ model TeamMember {
12
+ dbId String @id @default(uuid())
13
+
14
+ userId String
15
+ bitfield String
16
+ joinedAt DateTime
17
+
18
+ teamId String
19
+ team Team? @relation(fields: [teamId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
20
+
21
+ @@unique([userId, teamId])
22
+ }
23
+
24
+ model ActiveInvite {
25
+ dbId String @id @default(uuid())
26
+
27
+ code String
28
+ maxUses Int?
29
+ currentUses Int
30
+
31
+ bitfieldToSet String
32
+ expiresAt DateTime?
33
+
34
+ teamId String
35
+ team Team? @relation(fields: [teamId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
36
+
37
+ @@unique([code, teamId])
38
+ }
@@ -0,0 +1,121 @@
1
+ model TiktokStreamer {
2
+ dbId String @id @default(uuid())
3
+
4
+ streamerUserName String
5
+ guildId String
6
+
7
+ deleteEmbeds Boolean? // Premium
8
+ sendOfflineMessage Boolean?
9
+ usePerStreamerEmbeds Boolean? // Premium
10
+ autoPublishIfAnnouncmentChannel Boolean? // Premium
11
+
12
+ customMessages TTSCustomMessage[] // Premium
13
+
14
+ liveNotificationChannelId String?
15
+ videoNotificationChannelId String?
16
+ showNotifyButton Boolean?
17
+
18
+ pingRoleId String?
19
+ customCoolDownBeforeNextLive Int? // Premium. In minutes.
20
+
21
+ liveRoleId String?
22
+ usersForLiveRole String[]
23
+ usersWhoHaveLiveRole String[] // Internal
24
+
25
+ statsChannelIds TTSStatsChannelId? // Internal
26
+ isCurrentlyLive TTSCurrentlyLive? // Internal
27
+
28
+ lastLive DateTime?
29
+ lastVideo DateTime?
30
+
31
+ @@unique([streamerUserName, guildId])
32
+ }
33
+
34
+ model TTSCustomMessage {
35
+ dbId String @id @default(uuid())
36
+
37
+ type StreamerMessageTypeEnum
38
+ content String? @db.VarChar(2000)
39
+
40
+ embed TTSMessageEmbed?
41
+ buttons TTSMessageButton[]
42
+ webhook TTSMessageWebhook?
43
+
44
+ tiktokStreamerId String
45
+ tiktokStreamer TiktokStreamer? @relation(fields: [tiktokStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
46
+
47
+ @@unique([tiktokStreamerId, type])
48
+ }
49
+
50
+ model TTSMessageEmbed {
51
+ dbId String @id @default(uuid())
52
+
53
+ title String? @db.VarChar(256)
54
+ url String?
55
+ description String @db.VarChar(2048)
56
+ color String? @db.VarChar(10)
57
+ footer String? @db.VarChar(1024)
58
+ footerIcon String?
59
+ image String?
60
+ thumbnail String?
61
+ author String? @db.VarChar(256)
62
+ authorIcon String?
63
+ fields TTSEmbedField[]
64
+
65
+ ttsCustomMessageId String @unique
66
+ ttsCustomMessage TTSCustomMessage? @relation(fields: [ttsCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
67
+ }
68
+
69
+ model TTSEmbedField {
70
+ dbId String @id @default(uuid())
71
+
72
+ name String @db.VarChar(256)
73
+ value String? @db.VarChar(1024)
74
+ inline Boolean?
75
+
76
+ ttsMessageEmbedId String
77
+ ttsMessageEmbed TTSMessageEmbed? @relation(fields: [ttsMessageEmbedId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
78
+ }
79
+
80
+ model TTSMessageButton {
81
+ dbId String @id @default(uuid())
82
+
83
+ title String @db.VarChar(80)
84
+ url String?
85
+
86
+ emojiUnicodeOrId String?
87
+
88
+ ttsCustomMessageId String
89
+ ttsCustomMessage TTSCustomMessage? @relation(fields: [ttsCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
90
+ }
91
+
92
+ model TTSMessageWebhook {
93
+ dbId String @id @default(uuid())
94
+
95
+ enabled Boolean?
96
+ username String?
97
+ avatarUrl String?
98
+
99
+ ttsCustomMessageId String @unique
100
+ ttsCustomMessage TTSCustomMessage? @relation(fields: [ttsCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
101
+ }
102
+
103
+ model TTSStatsChannelId {
104
+ dbId String @id @default(uuid())
105
+
106
+ isLive String?
107
+
108
+ tiktokStreamerId String @unique
109
+ tiktokStreamer TiktokStreamer? @relation(fields: [tiktokStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
110
+ }
111
+
112
+ model TTSCurrentlyLive {
113
+ dbId String @id @default(uuid())
114
+
115
+ correct Boolean?
116
+ channelId String?
117
+ messageId String?
118
+
119
+ tiktokStreamerId String @unique
120
+ tiktokStreamer TiktokStreamer? @relation(fields: [tiktokStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
121
+ }
@@ -0,0 +1,122 @@
1
+ model TwitchStreamer {
2
+ dbId String @id @default(uuid())
3
+
4
+ streamerUserName String
5
+ guildId String
6
+
7
+ streamerId String? // Renamed from streamerId
8
+ chatRoomId String? // Renamed from chatRoomId
9
+
10
+ deleteEmbeds Boolean? // Premium
11
+ sendOfflineMessage Boolean?
12
+ usePerStreamerEmbeds Boolean? // Premium
13
+ autoPublishIfAnnouncmentChannel Boolean? // Premium
14
+
15
+ customMessages TSCustomMessage[] // Premium
16
+
17
+ notificationChannelId String?
18
+ showNotifyButton Boolean?
19
+
20
+ pingRoleId String?
21
+ customCoolDownBeforeNextLive Int? // Premium. In minutes.
22
+
23
+ liveRoleId String?
24
+ usersForLiveRole String[]
25
+ usersWhoHaveLiveRole String[] // Internal
26
+
27
+ statsChannelIds TSStatsChannelId? // Internal
28
+ isCurrentlyLive TSCurrentlyLive? // Internal
29
+
30
+ lastLive DateTime?
31
+
32
+ @@unique([streamerUserName, guildId])
33
+ }
34
+
35
+ model TSCustomMessage {
36
+ dbId String @id @default(uuid())
37
+
38
+ type StreamerMessageTypeEnum
39
+ content String? @db.VarChar(2000)
40
+
41
+ embed TSMessageEmbed?
42
+ buttons TSMessageButton[]
43
+ webhook TSMessageWebhook?
44
+
45
+ twitchStreamerId String
46
+ twitchStreamer TwitchStreamer? @relation(fields: [twitchStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
47
+
48
+ @@unique([twitchStreamerId, type])
49
+ }
50
+
51
+ model TSMessageEmbed {
52
+ dbId String @id @default(uuid())
53
+
54
+ title String? @db.VarChar(256)
55
+ url String?
56
+ description String @db.VarChar(2048)
57
+ color String? @db.VarChar(10)
58
+ footer String? @db.VarChar(1024)
59
+ footerIcon String?
60
+ image String?
61
+ thumbnail String?
62
+ author String? @db.VarChar(256)
63
+ authorIcon String?
64
+ fields TSEmbedField[]
65
+
66
+ tsCustomMessageId String @unique
67
+ tsCustomMessage TSCustomMessage? @relation(fields: [tsCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
68
+ }
69
+
70
+ model TSEmbedField {
71
+ dbId String @id @default(uuid())
72
+
73
+ name String @db.VarChar(256)
74
+ value String? @db.VarChar(1024)
75
+ inline Boolean?
76
+
77
+ tsMessageEmbedId String
78
+ tsMessageEmbed TSMessageEmbed? @relation(fields: [tsMessageEmbedId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
79
+ }
80
+
81
+ model TSMessageButton {
82
+ dbId String @id @default(uuid())
83
+
84
+ title String @db.VarChar(80)
85
+ url String?
86
+
87
+ emojiUnicodeOrId String?
88
+
89
+ tsCustomMessageId String
90
+ tsCustomMessage TSCustomMessage? @relation(fields: [tsCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
91
+ }
92
+
93
+ model TSMessageWebhook {
94
+ dbId String @id @default(uuid())
95
+
96
+ enabled Boolean?
97
+ username String?
98
+ avatarUrl String?
99
+
100
+ tsCustomMessageId String @unique
101
+ tsCustomMessage TSCustomMessage? @relation(fields: [tsCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
102
+ }
103
+
104
+ model TSStatsChannelId {
105
+ dbId String @id @default(uuid())
106
+
107
+ isLive String?
108
+
109
+ twitchStreamerId String @unique
110
+ twitchStreamer TwitchStreamer? @relation(fields: [twitchStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
111
+ }
112
+
113
+ model TSCurrentlyLive {
114
+ dbId String @id @default(uuid())
115
+
116
+ correct Boolean?
117
+ channelId String?
118
+ messageId String?
119
+
120
+ twitchStreamerId String @unique
121
+ twitchStreamer TwitchStreamer? @relation(fields: [twitchStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
122
+ }