@notidotbot/noti-api-client 1.6.3 → 1.6.4

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.
@@ -0,0 +1,105 @@
1
+ // Clip Forwarding — a decoupled, platform-agnostic resource. One row = one channel whose native
2
+ // clips are forwarded to Discord. Independent of the live-notification streamer records. Gated
3
+ // per-platform (KickClipForwarding / TwitchClipForwarding) and capped per tier (defaultKickClips /
4
+ // defaultTwitchClips + addons).
5
+ model GuildClipForward {
6
+ dbId String @id @default(uuid())
7
+
8
+ clipForwardId String @unique // public id for the API/dashboard.
9
+
10
+ guildId String
11
+ platform PlatformEnum // kick | twitch (extensible).
12
+ streamerUserName String // channel slug/login whose clips are forwarded.
13
+
14
+ channelId String?
15
+ pingRoleId String?
16
+
17
+ minViews Int?
18
+ minDuration Int? // seconds.
19
+ maxPerCycle Int? // default 10.
20
+
21
+ allowMature Boolean? // default on.
22
+ includeOffline Boolean? // default off (live-stream clips only).
23
+
24
+ whitelistClippers String[]
25
+ blacklistClippers String[]
26
+
27
+ showNotifyButton Boolean?
28
+ usePerStreamerEmbeds Boolean? // Premium: custom per-forward message.
29
+
30
+ customMessages CFCustomMessage[]
31
+
32
+ lastClipAt DateTime? // Internal dedup: created_at of the most recently forwarded clip.
33
+ lastClipId String? // Internal dedup: id of the most recently forwarded clip (seeded on first check).
34
+
35
+ @@unique([guildId, platform, streamerUserName])
36
+ }
37
+
38
+ model CFCustomMessage {
39
+ dbId String @id @default(uuid())
40
+
41
+ type StreamerMessageTypeEnum
42
+ content String? @db.VarChar(2000)
43
+
44
+ embed CFMessageEmbed?
45
+ buttons CFMessageButton[]
46
+ webhook CFMessageWebhook?
47
+
48
+ clipForwardId String
49
+ clipForward GuildClipForward? @relation(fields: [clipForwardId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
50
+
51
+ @@unique([clipForwardId, type])
52
+ }
53
+
54
+ model CFMessageEmbed {
55
+ dbId String @id @default(uuid())
56
+
57
+ title String? @db.VarChar(256)
58
+ url String?
59
+ description String @db.VarChar(2048)
60
+ color String? @db.VarChar(10)
61
+ footer String? @db.VarChar(1024)
62
+ footerIcon String?
63
+ image String?
64
+ thumbnail String?
65
+ author String? @db.VarChar(256)
66
+ authorIcon String?
67
+ fields CFEmbedField[]
68
+
69
+ cfCustomMessageId String @unique
70
+ cfCustomMessage CFCustomMessage? @relation(fields: [cfCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
71
+ }
72
+
73
+ model CFEmbedField {
74
+ dbId String @id @default(uuid())
75
+
76
+ name String @db.VarChar(256)
77
+ value String? @db.VarChar(1024)
78
+ inline Boolean?
79
+
80
+ cfMessageEmbedId String
81
+ cfMessageEmbed CFMessageEmbed? @relation(fields: [cfMessageEmbedId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
82
+ }
83
+
84
+ model CFMessageButton {
85
+ dbId String @id @default(uuid())
86
+
87
+ title String @db.VarChar(80)
88
+ url String?
89
+
90
+ emojiUnicodeOrId String?
91
+
92
+ cfCustomMessageId String
93
+ cfCustomMessage CFCustomMessage? @relation(fields: [cfCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
94
+ }
95
+
96
+ model CFMessageWebhook {
97
+ dbId String @id @default(uuid())
98
+
99
+ enabled Boolean?
100
+ username String?
101
+ avatarUrl String?
102
+
103
+ cfCustomMessageId String @unique
104
+ cfCustomMessage CFCustomMessage? @relation(fields: [cfCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
105
+ }
@@ -89,6 +89,8 @@ model GuildPremium {
89
89
  additionalTwitchConnections Int @default(0)
90
90
  additionalYoutubeConnections Int @default(0)
91
91
  additionalTiktokConnections Int @default(0)
92
+ additionalKickClips Int @default(0)
93
+ additionalTwitchClips Int @default(0)
92
94
 
93
95
  customBot Boolean @default(false)
94
96
 
@@ -22,10 +22,6 @@ model KickStreamer {
22
22
 
23
23
  whitelistedClipperNames String[] // Filter by clipper usernames
24
24
 
25
- builtInClipsEnabled Boolean?
26
- builtInClipsChannelId String?
27
- builtInClipsPingRoleId String?
28
-
29
25
  vodsChannelId String?
30
26
  vodsPingRoleId String?
31
27
 
@@ -29,7 +29,7 @@ enum SingleMessageTypeEnum {
29
29
 
30
30
  enum StreamerMessageTypeEnum {
31
31
  clip
32
- kickBuiltInClip
32
+ clipForward
33
33
  vod
34
34
  kickLive
35
35
  kickOffline
@@ -58,7 +58,7 @@ enum GuildMessageTypeEnum {
58
58
 
59
59
  // StreamerMessageTypeEnum
60
60
  clip
61
- kickBuiltInClip
61
+ clipForward
62
62
  vod
63
63
  kickLive
64
64
  kickOffline