@notidotbot/noti-api-client 1.9.72 → 1.9.74
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.
- package/dist/classes/guildStatChannels.d.ts +18 -6
- package/dist/classes/guildStatChannels.js +4 -3
- package/dist/index.d.ts +2 -0
- package/dist/index.js +8 -1
- package/dist/other/bitfields.d.ts +8 -2
- package/dist/other/bitfields.js +6 -0
- package/dist/other/features.d.ts +1 -1
- package/dist/other/features.js +2 -0
- package/dist/other/multiDestination.d.ts +89 -0
- package/dist/other/multiDestination.js +109 -0
- package/dist/other/templates.d.ts +180 -0
- package/dist/other/templates.js +194 -0
- package/dist/other/zod/clubStreamer.zod.d.ts +7 -0
- package/dist/other/zod/clubStreamer.zod.js +3 -0
- package/dist/other/zod/kickStreamer.zod.d.ts +17 -0
- package/dist/other/zod/kickStreamer.zod.js +4 -0
- package/dist/other/zod/rumbleStreamer.zod.d.ts +19 -0
- package/dist/other/zod/rumbleStreamer.zod.js +10 -0
- package/dist/other/zod/tiktokStreamer.zod.d.ts +18 -0
- package/dist/other/zod/tiktokStreamer.zod.js +4 -0
- package/dist/other/zod/twitchStreamer.zod.d.ts +18 -0
- package/dist/other/zod/twitchStreamer.zod.js +10 -0
- package/dist/other/zod/twitterStreamer.zod.d.ts +19 -0
- package/dist/other/zod/twitterStreamer.zod.js +10 -0
- package/dist/other/zod/youtubeStreamer.zod.d.ts +21 -0
- package/dist/other/zod/youtubeStreamer.zod.js +5 -0
- package/dist/other/zod/zod.d.ts +15 -0
- package/dist/other/zod/zod.js +12 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/prisma/schema/models/clubStreamer.prisma +4 -0
- package/prisma/schema/models/kickStreamer.prisma +6 -0
- package/prisma/schema/models/rumbleStreamer.prisma +7 -0
- package/prisma/schema/models/tiktokStreamer.prisma +6 -0
- package/prisma/schema/models/twitchStreamer.prisma +7 -0
- package/prisma/schema/models/twitterStreamer.prisma +7 -0
- package/prisma/schema/models/youtubeStreamer.prisma +9 -1
|
@@ -78,6 +78,7 @@ export declare const placeholders: {
|
|
|
78
78
|
streamThumbnail: string;
|
|
79
79
|
pingRole: string;
|
|
80
80
|
randomMessage: string;
|
|
81
|
+
member: string;
|
|
81
82
|
};
|
|
82
83
|
twitch: {
|
|
83
84
|
platform: string;
|
|
@@ -88,7 +89,9 @@ export declare const placeholders: {
|
|
|
88
89
|
streamTitle: string;
|
|
89
90
|
streamThumbnail: string;
|
|
90
91
|
pingRole: string;
|
|
92
|
+
startTime: string;
|
|
91
93
|
randomMessage: string;
|
|
94
|
+
member: string;
|
|
92
95
|
};
|
|
93
96
|
rumble: {
|
|
94
97
|
platform: string;
|
|
@@ -100,7 +103,9 @@ export declare const placeholders: {
|
|
|
100
103
|
pingRole: string;
|
|
101
104
|
followers: string;
|
|
102
105
|
viewers: string;
|
|
106
|
+
startTime: string;
|
|
103
107
|
randomMessage: string;
|
|
108
|
+
member: string;
|
|
104
109
|
};
|
|
105
110
|
tiktok: {
|
|
106
111
|
platform: string;
|
|
@@ -111,7 +116,9 @@ export declare const placeholders: {
|
|
|
111
116
|
pingRole: string;
|
|
112
117
|
followers: string;
|
|
113
118
|
verified: string;
|
|
119
|
+
startTime: string;
|
|
114
120
|
randomMessage: string;
|
|
121
|
+
member: string;
|
|
115
122
|
};
|
|
116
123
|
youtube: {
|
|
117
124
|
platform: string;
|
|
@@ -126,6 +133,7 @@ export declare const placeholders: {
|
|
|
126
133
|
views: string;
|
|
127
134
|
saves: string;
|
|
128
135
|
randomMessage: string;
|
|
136
|
+
member: string;
|
|
129
137
|
};
|
|
130
138
|
whatnot: {
|
|
131
139
|
platform: string;
|
|
@@ -135,7 +143,9 @@ export declare const placeholders: {
|
|
|
135
143
|
streamThumbnail: string;
|
|
136
144
|
pingRole: string;
|
|
137
145
|
orders: string;
|
|
146
|
+
startTime: string;
|
|
138
147
|
randomMessage: string;
|
|
148
|
+
member: string;
|
|
139
149
|
};
|
|
140
150
|
twitter: {
|
|
141
151
|
platform: string;
|
|
@@ -145,7 +155,9 @@ export declare const placeholders: {
|
|
|
145
155
|
streamThumbnail: string;
|
|
146
156
|
pingRole: string;
|
|
147
157
|
viewers: string;
|
|
158
|
+
startTime: string;
|
|
148
159
|
randomMessage: string;
|
|
160
|
+
member: string;
|
|
149
161
|
};
|
|
150
162
|
};
|
|
151
163
|
offline: {
|
|
@@ -169,6 +181,8 @@ export declare const placeholders: {
|
|
|
169
181
|
streamTitle: string;
|
|
170
182
|
streamThumbnail: string;
|
|
171
183
|
pingRole: string;
|
|
184
|
+
category: string;
|
|
185
|
+
streamUrl: string;
|
|
172
186
|
randomMessage: string;
|
|
173
187
|
};
|
|
174
188
|
rumble: {
|
|
@@ -181,6 +195,7 @@ export declare const placeholders: {
|
|
|
181
195
|
pingRole: string;
|
|
182
196
|
followers: string;
|
|
183
197
|
description: string;
|
|
198
|
+
category: string;
|
|
184
199
|
randomMessage: string;
|
|
185
200
|
};
|
|
186
201
|
tiktok: {
|
|
@@ -193,6 +208,8 @@ export declare const placeholders: {
|
|
|
193
208
|
pingRole: string;
|
|
194
209
|
followers: string;
|
|
195
210
|
verified: string;
|
|
211
|
+
category: string;
|
|
212
|
+
description: string;
|
|
196
213
|
randomMessage: string;
|
|
197
214
|
};
|
|
198
215
|
whatnot: {
|
|
@@ -203,6 +220,7 @@ export declare const placeholders: {
|
|
|
203
220
|
duration: string;
|
|
204
221
|
pingRole: string;
|
|
205
222
|
orders: string;
|
|
223
|
+
streamTitle: string;
|
|
206
224
|
randomMessage: string;
|
|
207
225
|
};
|
|
208
226
|
twitter: {
|
|
@@ -237,6 +255,7 @@ export declare const placeholders: {
|
|
|
237
255
|
comments: string;
|
|
238
256
|
duration: string;
|
|
239
257
|
randomMessage: string;
|
|
258
|
+
member: string;
|
|
240
259
|
};
|
|
241
260
|
youtube: {
|
|
242
261
|
platform: string;
|
|
@@ -250,7 +269,10 @@ export declare const placeholders: {
|
|
|
250
269
|
saves: string;
|
|
251
270
|
comments: string;
|
|
252
271
|
duration: string;
|
|
272
|
+
title: string;
|
|
273
|
+
uploadDate: string;
|
|
253
274
|
randomMessage: string;
|
|
275
|
+
member: string;
|
|
254
276
|
};
|
|
255
277
|
rumble: {
|
|
256
278
|
platform: string;
|
|
@@ -261,6 +283,7 @@ export declare const placeholders: {
|
|
|
261
283
|
thumbnail: string;
|
|
262
284
|
uploadDate: string;
|
|
263
285
|
randomMessage: string;
|
|
286
|
+
member: string;
|
|
264
287
|
};
|
|
265
288
|
};
|
|
266
289
|
post: {
|
|
@@ -273,6 +296,7 @@ export declare const placeholders: {
|
|
|
273
296
|
thumbnail: string;
|
|
274
297
|
publishDate: string;
|
|
275
298
|
randomMessage: string;
|
|
299
|
+
member: string;
|
|
276
300
|
};
|
|
277
301
|
twitter: {
|
|
278
302
|
platform: string;
|
|
@@ -285,6 +309,7 @@ export declare const placeholders: {
|
|
|
285
309
|
fxUrl: string;
|
|
286
310
|
publishDate: string;
|
|
287
311
|
randomMessage: string;
|
|
312
|
+
member: string;
|
|
288
313
|
};
|
|
289
314
|
};
|
|
290
315
|
birthday: {
|
|
@@ -349,6 +374,153 @@ export declare const placeholders: {
|
|
|
349
374
|
userAvatar: string;
|
|
350
375
|
guildMemberCount: string;
|
|
351
376
|
};
|
|
377
|
+
clipperClip: {
|
|
378
|
+
streamerName: string;
|
|
379
|
+
clipperName: string;
|
|
380
|
+
duration: string;
|
|
381
|
+
kickBotUrl: string;
|
|
382
|
+
downloadUrl: string;
|
|
383
|
+
clipThumbnail: string;
|
|
384
|
+
pingRole: string;
|
|
385
|
+
streamerUrl: string;
|
|
386
|
+
clipperUrl: string;
|
|
387
|
+
};
|
|
388
|
+
clipForward: {
|
|
389
|
+
streamerName: string;
|
|
390
|
+
clipTitle: string;
|
|
391
|
+
clipperName: string;
|
|
392
|
+
duration: string;
|
|
393
|
+
views: string;
|
|
394
|
+
category: string;
|
|
395
|
+
clipUrl: string;
|
|
396
|
+
clipThumbnail: string;
|
|
397
|
+
pingRole: string;
|
|
398
|
+
streamerUrl: string;
|
|
399
|
+
clipperUrl: string;
|
|
400
|
+
};
|
|
401
|
+
replay: {
|
|
402
|
+
youtube: {
|
|
403
|
+
platform: string;
|
|
404
|
+
videoUrl: string;
|
|
405
|
+
streamerName: string;
|
|
406
|
+
streamTitle: string;
|
|
407
|
+
thumbnail: string;
|
|
408
|
+
views: string;
|
|
409
|
+
duration: string;
|
|
410
|
+
randomMessage: string;
|
|
411
|
+
};
|
|
412
|
+
};
|
|
413
|
+
giveawayClaim: {
|
|
414
|
+
name: string;
|
|
415
|
+
pending: string;
|
|
416
|
+
status: string;
|
|
417
|
+
winners: string;
|
|
418
|
+
round: string;
|
|
419
|
+
};
|
|
420
|
+
giveawayClaimDM: {
|
|
421
|
+
claimLink: string;
|
|
422
|
+
deadline: string;
|
|
423
|
+
};
|
|
424
|
+
drops: {
|
|
425
|
+
kick: {
|
|
426
|
+
dropName: string;
|
|
427
|
+
gameName: string;
|
|
428
|
+
organizationName: string;
|
|
429
|
+
startTime: string;
|
|
430
|
+
endTime: string;
|
|
431
|
+
dropUrl: string;
|
|
432
|
+
dropImage: string;
|
|
433
|
+
gameImage: string;
|
|
434
|
+
pingRole: string;
|
|
435
|
+
status: string;
|
|
436
|
+
};
|
|
437
|
+
twitch: {
|
|
438
|
+
dropName: string;
|
|
439
|
+
gameName: string;
|
|
440
|
+
organizationName: string;
|
|
441
|
+
startTime: string;
|
|
442
|
+
endTime: string;
|
|
443
|
+
dropUrl: string;
|
|
444
|
+
dropImage: string;
|
|
445
|
+
gameImage: string;
|
|
446
|
+
pingRole: string;
|
|
447
|
+
status: string;
|
|
448
|
+
};
|
|
449
|
+
};
|
|
450
|
+
liveDrops: {
|
|
451
|
+
kick: {
|
|
452
|
+
dropName: string;
|
|
453
|
+
gameName: string;
|
|
454
|
+
gameEmoji: string;
|
|
455
|
+
gameImage: string;
|
|
456
|
+
startsAt: string;
|
|
457
|
+
endsAt: string;
|
|
458
|
+
streamerName: string;
|
|
459
|
+
pingRole: string;
|
|
460
|
+
rewardName: string;
|
|
461
|
+
rewardImage: string;
|
|
462
|
+
watchtime: string;
|
|
463
|
+
streamerNames: string;
|
|
464
|
+
};
|
|
465
|
+
};
|
|
466
|
+
badges: {
|
|
467
|
+
kick: {
|
|
468
|
+
pingRole: string;
|
|
469
|
+
rewardName: string;
|
|
470
|
+
rewardImage: string;
|
|
471
|
+
gameName: string;
|
|
472
|
+
campaignName: string;
|
|
473
|
+
requirement: string;
|
|
474
|
+
startsAt: string;
|
|
475
|
+
endsAt: string;
|
|
476
|
+
claimUrl: string;
|
|
477
|
+
headerText: string;
|
|
478
|
+
gameLabel: string;
|
|
479
|
+
campaignLabel: string;
|
|
480
|
+
startsLabel: string;
|
|
481
|
+
endsLabel: string;
|
|
482
|
+
getBadgeLabel: string;
|
|
483
|
+
};
|
|
484
|
+
twitch: {
|
|
485
|
+
pingRole: string;
|
|
486
|
+
rewardName: string;
|
|
487
|
+
rewardImage: string;
|
|
488
|
+
gameName: string;
|
|
489
|
+
campaignName: string;
|
|
490
|
+
requirement: string;
|
|
491
|
+
startsAt: string;
|
|
492
|
+
endsAt: string;
|
|
493
|
+
claimUrl: string;
|
|
494
|
+
headerText: string;
|
|
495
|
+
gameLabel: string;
|
|
496
|
+
campaignLabel: string;
|
|
497
|
+
startsLabel: string;
|
|
498
|
+
endsLabel: string;
|
|
499
|
+
getBadgeLabel: string;
|
|
500
|
+
};
|
|
501
|
+
};
|
|
502
|
+
bounties: {
|
|
503
|
+
kick: {
|
|
504
|
+
pingRole: string;
|
|
505
|
+
bountyName: string;
|
|
506
|
+
bountyUrl: string;
|
|
507
|
+
subheading: string;
|
|
508
|
+
image: string;
|
|
509
|
+
endsAt: string;
|
|
510
|
+
prize: string;
|
|
511
|
+
gameMode: string;
|
|
512
|
+
playerType: string;
|
|
513
|
+
statusLine: string;
|
|
514
|
+
postedAt: string;
|
|
515
|
+
headerText: string;
|
|
516
|
+
endDateLabel: string;
|
|
517
|
+
prizeLabel: string;
|
|
518
|
+
gameModeLabel: string;
|
|
519
|
+
playerTypeLabel: string;
|
|
520
|
+
statusLabel: string;
|
|
521
|
+
footerText: string;
|
|
522
|
+
};
|
|
523
|
+
};
|
|
352
524
|
};
|
|
353
525
|
export declare const randomMessages: {
|
|
354
526
|
live: string[];
|
|
@@ -446,6 +618,14 @@ export declare const statChannels: {
|
|
|
446
618
|
followersFormatted: string;
|
|
447
619
|
};
|
|
448
620
|
};
|
|
621
|
+
youtubeSubscribers: {
|
|
622
|
+
name: string;
|
|
623
|
+
placeholders: {
|
|
624
|
+
username: string;
|
|
625
|
+
followers: string;
|
|
626
|
+
followersFormatted: string;
|
|
627
|
+
};
|
|
628
|
+
};
|
|
449
629
|
};
|
|
450
630
|
export declare const messages: {
|
|
451
631
|
vod: {
|
package/dist/other/templates.js
CHANGED
|
@@ -81,6 +81,7 @@ exports.placeholders = {
|
|
|
81
81
|
'streamThumbnail': 'https://example.com',
|
|
82
82
|
'pingRole': '<@&123456789>',
|
|
83
83
|
'randomMessage': 'Example Message',
|
|
84
|
+
'member': '<@123456789>',
|
|
84
85
|
},
|
|
85
86
|
twitch: {
|
|
86
87
|
'platform': 'Twitch',
|
|
@@ -91,7 +92,9 @@ exports.placeholders = {
|
|
|
91
92
|
'streamTitle': 'Example Stream Title',
|
|
92
93
|
'streamThumbnail': 'https://example.com',
|
|
93
94
|
'pingRole': '<@&123456789>',
|
|
95
|
+
'startTime': '<t:1640995200:R>',
|
|
94
96
|
'randomMessage': 'Example Message',
|
|
97
|
+
'member': '<@123456789>',
|
|
95
98
|
},
|
|
96
99
|
rumble: {
|
|
97
100
|
'platform': 'Rumble',
|
|
@@ -103,7 +106,9 @@ exports.placeholders = {
|
|
|
103
106
|
'pingRole': '<@&123456789>',
|
|
104
107
|
'followers': '239879',
|
|
105
108
|
'viewers': '239.9K',
|
|
109
|
+
'startTime': '<t:1640995200:R>',
|
|
106
110
|
'randomMessage': 'Example Message',
|
|
111
|
+
'member': '<@123456789>',
|
|
107
112
|
},
|
|
108
113
|
tiktok: {
|
|
109
114
|
'platform': 'TikTok',
|
|
@@ -114,7 +119,9 @@ exports.placeholders = {
|
|
|
114
119
|
'pingRole': '<@&123456789>',
|
|
115
120
|
'followers': '239879',
|
|
116
121
|
'verified': 'Verified / Not Verified',
|
|
122
|
+
'startTime': '<t:1640995200:R>',
|
|
117
123
|
'randomMessage': 'Example Message',
|
|
124
|
+
'member': '<@123456789>',
|
|
118
125
|
},
|
|
119
126
|
youtube: {
|
|
120
127
|
'platform': 'YouTube',
|
|
@@ -129,6 +136,7 @@ exports.placeholders = {
|
|
|
129
136
|
'views': '239.9K',
|
|
130
137
|
'saves': '239.9K',
|
|
131
138
|
'randomMessage': 'Example Message',
|
|
139
|
+
'member': '<@123456789>',
|
|
132
140
|
},
|
|
133
141
|
whatnot: {
|
|
134
142
|
'platform': 'Whatnot',
|
|
@@ -138,7 +146,9 @@ exports.placeholders = {
|
|
|
138
146
|
'streamThumbnail': 'https://example.com',
|
|
139
147
|
'pingRole': '<@&123456789>',
|
|
140
148
|
'orders': '42',
|
|
149
|
+
'startTime': '<t:1640995200:R>',
|
|
141
150
|
'randomMessage': 'Example Message',
|
|
151
|
+
'member': '<@123456789>',
|
|
142
152
|
},
|
|
143
153
|
twitter: {
|
|
144
154
|
'platform': 'X',
|
|
@@ -148,7 +158,9 @@ exports.placeholders = {
|
|
|
148
158
|
'streamThumbnail': 'https://example.com',
|
|
149
159
|
'pingRole': '<@&123456789>',
|
|
150
160
|
'viewers': '42',
|
|
161
|
+
'startTime': '<t:1640995200:R>',
|
|
151
162
|
'randomMessage': 'Example Message',
|
|
163
|
+
'member': '<@123456789>',
|
|
152
164
|
},
|
|
153
165
|
},
|
|
154
166
|
offline: {
|
|
@@ -172,6 +184,9 @@ exports.placeholders = {
|
|
|
172
184
|
'streamTitle': 'Example Stream Title',
|
|
173
185
|
'streamThumbnail': 'https://example.com',
|
|
174
186
|
'pingRole': '<@&123456789>',
|
|
187
|
+
'category': 'Example Category',
|
|
188
|
+
// The ended stream's VOD when Twitch matched one, else the channel.
|
|
189
|
+
'streamUrl': 'https://example.com',
|
|
175
190
|
'randomMessage': 'Example Message',
|
|
176
191
|
},
|
|
177
192
|
rumble: {
|
|
@@ -184,6 +199,7 @@ exports.placeholders = {
|
|
|
184
199
|
'pingRole': '<@&123456789>',
|
|
185
200
|
'followers': '239879',
|
|
186
201
|
'description': 'Example Description',
|
|
202
|
+
'category': 'Example Category',
|
|
187
203
|
'randomMessage': 'Example Message',
|
|
188
204
|
},
|
|
189
205
|
tiktok: {
|
|
@@ -196,6 +212,8 @@ exports.placeholders = {
|
|
|
196
212
|
'pingRole': '<@&123456789>',
|
|
197
213
|
'followers': '239879',
|
|
198
214
|
'verified': 'Verified / Not Verified',
|
|
215
|
+
'category': 'Example Category',
|
|
216
|
+
'description': 'Example Description',
|
|
199
217
|
'randomMessage': 'Example Message',
|
|
200
218
|
},
|
|
201
219
|
whatnot: {
|
|
@@ -206,6 +224,7 @@ exports.placeholders = {
|
|
|
206
224
|
'duration': '4h 20m',
|
|
207
225
|
'pingRole': '<@&123456789>',
|
|
208
226
|
'orders': '42',
|
|
227
|
+
'streamTitle': 'Example Stream Title',
|
|
209
228
|
'randomMessage': 'Example Message',
|
|
210
229
|
},
|
|
211
230
|
twitter: {
|
|
@@ -245,6 +264,7 @@ exports.placeholders = {
|
|
|
245
264
|
'comments': '239.9K',
|
|
246
265
|
'duration': '4h 20m',
|
|
247
266
|
'randomMessage': 'Example Message',
|
|
267
|
+
'member': '<@123456789>',
|
|
248
268
|
},
|
|
249
269
|
youtube: {
|
|
250
270
|
'platform': 'YouTube',
|
|
@@ -258,7 +278,10 @@ exports.placeholders = {
|
|
|
258
278
|
'saves': '239.9K',
|
|
259
279
|
'comments': '239.9K',
|
|
260
280
|
'duration': '4h 20m',
|
|
281
|
+
'title': 'Example Video Title',
|
|
282
|
+
'uploadDate': '<t:1640995200:R>',
|
|
261
283
|
'randomMessage': 'Example Message',
|
|
284
|
+
'member': '<@123456789>',
|
|
262
285
|
},
|
|
263
286
|
rumble: {
|
|
264
287
|
'platform': 'Rumble',
|
|
@@ -269,6 +292,7 @@ exports.placeholders = {
|
|
|
269
292
|
'thumbnail': 'https://example.com',
|
|
270
293
|
'uploadDate': '<t:1640995200:R>',
|
|
271
294
|
'randomMessage': 'Example Message',
|
|
295
|
+
'member': '<@123456789>',
|
|
272
296
|
},
|
|
273
297
|
},
|
|
274
298
|
post: {
|
|
@@ -281,6 +305,7 @@ exports.placeholders = {
|
|
|
281
305
|
'thumbnail': 'https://example.com',
|
|
282
306
|
'publishDate': '<t:1640995200:R>',
|
|
283
307
|
'randomMessage': 'Example Message',
|
|
308
|
+
'member': '<@123456789>',
|
|
284
309
|
},
|
|
285
310
|
twitter: {
|
|
286
311
|
'platform': 'X',
|
|
@@ -293,6 +318,7 @@ exports.placeholders = {
|
|
|
293
318
|
'fxUrl': 'https://fixupx.com/example/status/123',
|
|
294
319
|
'publishDate': '<t:1640995200:R>',
|
|
295
320
|
'randomMessage': 'Example Message',
|
|
321
|
+
'member': '<@123456789>',
|
|
296
322
|
},
|
|
297
323
|
},
|
|
298
324
|
birthday: {
|
|
@@ -357,6 +383,165 @@ exports.placeholders = {
|
|
|
357
383
|
'userAvatar': 'https://example.com',
|
|
358
384
|
'guildMemberCount': '123',
|
|
359
385
|
},
|
|
386
|
+
clipperClip: {
|
|
387
|
+
'streamerName': 'Example',
|
|
388
|
+
'clipperName': 'Example',
|
|
389
|
+
'duration': '4h 20m',
|
|
390
|
+
'kickBotUrl': 'https://example.com',
|
|
391
|
+
'downloadUrl': 'https://example.com',
|
|
392
|
+
'clipThumbnail': 'https://example.com',
|
|
393
|
+
'pingRole': '<@&123456789>',
|
|
394
|
+
'streamerUrl': 'https://example.com',
|
|
395
|
+
'clipperUrl': 'https://example.com',
|
|
396
|
+
},
|
|
397
|
+
clipForward: {
|
|
398
|
+
'streamerName': 'Example',
|
|
399
|
+
'clipTitle': 'Example Clip Title',
|
|
400
|
+
'clipperName': 'Example',
|
|
401
|
+
'duration': '0m 30s',
|
|
402
|
+
'views': '239.9K',
|
|
403
|
+
'category': 'Just Chatting',
|
|
404
|
+
'clipUrl': 'https://example.com',
|
|
405
|
+
'clipThumbnail': 'https://example.com',
|
|
406
|
+
'pingRole': '<@&123456789>',
|
|
407
|
+
'streamerUrl': 'https://example.com',
|
|
408
|
+
'clipperUrl': 'https://example.com',
|
|
409
|
+
},
|
|
410
|
+
// The replay of a stream we announced live, once YouTube reports it ended (actualEndTime). YouTube
|
|
411
|
+
// only: the one platform whose replay is a separate, later event. No pingRole on purpose - a replay
|
|
412
|
+
// never pings.
|
|
413
|
+
replay: {
|
|
414
|
+
youtube: {
|
|
415
|
+
'platform': 'YouTube',
|
|
416
|
+
'videoUrl': 'https://example.com',
|
|
417
|
+
'streamerName': 'Example',
|
|
418
|
+
'streamTitle': 'Example Stream Title',
|
|
419
|
+
'thumbnail': 'https://example.com',
|
|
420
|
+
'views': '239.9K',
|
|
421
|
+
'duration': '4h 20m',
|
|
422
|
+
'randomMessage': 'Example Message',
|
|
423
|
+
},
|
|
424
|
+
},
|
|
425
|
+
// Claim to win (phases/giveaway-claims/). Not editable in v1 - there is no message-editor surface for it.
|
|
426
|
+
giveawayClaim: {
|
|
427
|
+
'name': 'Example Giveaway',
|
|
428
|
+
'pending': '<@123456789>',
|
|
429
|
+
'status': 'Winners, press **Claim** before <t:1640995200:R> or the prize is rerolled.',
|
|
430
|
+
'winners': '> ✅ <@123456789>\n> ⏳ <@123456789>',
|
|
431
|
+
'round': '1',
|
|
432
|
+
},
|
|
433
|
+
giveawayClaimDM: {
|
|
434
|
+
'claimLink': 'https://discord.com/...',
|
|
435
|
+
'deadline': '<t:1640995200:R>',
|
|
436
|
+
},
|
|
437
|
+
drops: {
|
|
438
|
+
kick: {
|
|
439
|
+
'dropName': 'Example Drop',
|
|
440
|
+
'gameName': 'Example Game',
|
|
441
|
+
'organizationName': 'Example Organization',
|
|
442
|
+
'startTime': '<t:1640995200:R>',
|
|
443
|
+
'endTime': '<t:1640995200:R>',
|
|
444
|
+
'dropUrl': 'https://example.com',
|
|
445
|
+
'dropImage': 'https://example.com',
|
|
446
|
+
'gameImage': 'https://example.com',
|
|
447
|
+
'pingRole': '<@&123456789>',
|
|
448
|
+
'status': 'active',
|
|
449
|
+
},
|
|
450
|
+
twitch: {
|
|
451
|
+
'dropName': 'Example Drop',
|
|
452
|
+
'gameName': 'Example Game',
|
|
453
|
+
'organizationName': 'Example Organization',
|
|
454
|
+
'startTime': '<t:1640995200:R>',
|
|
455
|
+
'endTime': '<t:1640995200:R>',
|
|
456
|
+
'dropUrl': 'https://example.com',
|
|
457
|
+
'dropImage': 'https://example.com',
|
|
458
|
+
'gameImage': 'https://example.com',
|
|
459
|
+
'pingRole': '<@&123456789>',
|
|
460
|
+
'status': 'active',
|
|
461
|
+
},
|
|
462
|
+
},
|
|
463
|
+
liveDrops: {
|
|
464
|
+
kick: {
|
|
465
|
+
'dropName': 'Example Drop',
|
|
466
|
+
'gameName': 'Example Game',
|
|
467
|
+
'gameEmoji': '<:game:1172238670955294790>',
|
|
468
|
+
'gameImage': 'https://example.com',
|
|
469
|
+
'startsAt': '<t:1640995200:F>',
|
|
470
|
+
'endsAt': '<t:1640995200:R>',
|
|
471
|
+
'streamerName': 'Example',
|
|
472
|
+
'pingRole': '<@&123456789>',
|
|
473
|
+
'rewardName': 'Example Reward',
|
|
474
|
+
'rewardImage': 'https://example.com',
|
|
475
|
+
'watchtime': '4 Hours',
|
|
476
|
+
'streamerNames': 'Example, Example2',
|
|
477
|
+
},
|
|
478
|
+
},
|
|
479
|
+
// Mirrors messages.badges key-for-key. Every token a badge template uses is supplied here, and the
|
|
480
|
+
// runtime builder must supply each one (TS1360 if it does not).
|
|
481
|
+
badges: {
|
|
482
|
+
kick: {
|
|
483
|
+
'pingRole': '<@&123456789>',
|
|
484
|
+
'rewardName': 'Example Chat Badge',
|
|
485
|
+
'rewardImage': 'https://example.com',
|
|
486
|
+
'gameName': 'Example Game',
|
|
487
|
+
'campaignName': 'Example Campaign',
|
|
488
|
+
'requirement': '- **Watchtime**: 2 Hours\n',
|
|
489
|
+
'startsAt': '<t:1640995200:f> (<t:1640995200:R>)',
|
|
490
|
+
'endsAt': '<t:1643587200:f> (<t:1643587200:R>)',
|
|
491
|
+
'claimUrl': 'https://example.com',
|
|
492
|
+
// The template's own words, in the server's language (i18n/Main/notifications.json `badges`).
|
|
493
|
+
'headerText': 'NEW KICK BADGE',
|
|
494
|
+
'gameLabel': 'Game',
|
|
495
|
+
'campaignLabel': 'Campaign',
|
|
496
|
+
'startsLabel': 'Starts',
|
|
497
|
+
'endsLabel': 'Ends',
|
|
498
|
+
'getBadgeLabel': 'Get the badge',
|
|
499
|
+
},
|
|
500
|
+
twitch: {
|
|
501
|
+
'pingRole': '<@&123456789>',
|
|
502
|
+
'rewardName': 'Example Chat Badge',
|
|
503
|
+
'rewardImage': 'https://example.com',
|
|
504
|
+
'gameName': 'Example Game',
|
|
505
|
+
'campaignName': 'Example Campaign',
|
|
506
|
+
'requirement': '- **Watchtime**: 2 Hours\n',
|
|
507
|
+
'startsAt': '<t:1640995200:f> (<t:1640995200:R>)',
|
|
508
|
+
'endsAt': '<t:1643587200:f> (<t:1643587200:R>)',
|
|
509
|
+
'claimUrl': 'https://example.com',
|
|
510
|
+
// The template's own words, in the server's language (i18n/Main/notifications.json `badges`).
|
|
511
|
+
'headerText': 'NEW TWITCH BADGE',
|
|
512
|
+
'gameLabel': 'Game',
|
|
513
|
+
'campaignLabel': 'Campaign',
|
|
514
|
+
'startsLabel': 'Starts',
|
|
515
|
+
'endsLabel': 'Ends',
|
|
516
|
+
'getBadgeLabel': 'Get the badge',
|
|
517
|
+
},
|
|
518
|
+
},
|
|
519
|
+
// Mirrors messages.bounties key-for-key. Supplied by src/modules/bounties/render.ts, whose builder
|
|
520
|
+
// `satisfies Placeholders['bounties']['kick']`. `statusLine` is '' while a bounty is open - the renderer
|
|
521
|
+
// drops a field whose value comes out empty.
|
|
522
|
+
bounties: {
|
|
523
|
+
kick: {
|
|
524
|
+
'pingRole': '<@&123456789>',
|
|
525
|
+
'bountyName': 'Example Bounty',
|
|
526
|
+
'bountyUrl': 'https://bounties.kick.com/bounty/1-example',
|
|
527
|
+
'subheading': 'Clip a streamer doing something great.',
|
|
528
|
+
'image': 'https://example.com',
|
|
529
|
+
'endsAt': '<t:1640995200:F> (<t:1640995200:R>)',
|
|
530
|
+
'prize': '5 x 10,000 KICKs',
|
|
531
|
+
'gameMode': 'Chance',
|
|
532
|
+
'playerType': 'Viewer',
|
|
533
|
+
'statusLine': 'Claimed by [Example](https://kick.com/example)',
|
|
534
|
+
'postedAt': '2026-09-24T23:46:25.000Z',
|
|
535
|
+
// The template's own words, in the server's language (i18n/Main/notifications.json `bounties`).
|
|
536
|
+
'headerText': 'KICK BOUNTIES',
|
|
537
|
+
'endDateLabel': 'End Date',
|
|
538
|
+
'prizeLabel': 'Prize',
|
|
539
|
+
'gameModeLabel': 'Game Mode',
|
|
540
|
+
'playerTypeLabel': 'Player Type',
|
|
541
|
+
'statusLabel': 'Status',
|
|
542
|
+
'footerText': 'Noti · Kick Bounties',
|
|
543
|
+
},
|
|
544
|
+
},
|
|
360
545
|
};
|
|
361
546
|
exports.randomMessages = {
|
|
362
547
|
live: [
|
|
@@ -494,6 +679,15 @@ exports.statChannels = {
|
|
|
494
679
|
'followersFormatted': '239.9K',
|
|
495
680
|
},
|
|
496
681
|
},
|
|
682
|
+
// The YouTube subscriber counter's default name. Same tokens as kickFollowers - the count rides in `followers`.
|
|
683
|
+
youtubeSubscribers: {
|
|
684
|
+
name: '{username} • {followersFormatted} Subscribers',
|
|
685
|
+
placeholders: {
|
|
686
|
+
'username': 'Example',
|
|
687
|
+
'followers': '239000',
|
|
688
|
+
'followersFormatted': '239K',
|
|
689
|
+
},
|
|
690
|
+
},
|
|
497
691
|
};
|
|
498
692
|
exports.messages = {
|
|
499
693
|
vod: {
|
|
@@ -10,6 +10,13 @@ export declare const ClubStreamerZod: {
|
|
|
10
10
|
guildId: z.ZodString;
|
|
11
11
|
usePerStreamerEmbeds: z.ZodNullable<z.ZodBoolean>;
|
|
12
12
|
autoPublishIfAnnouncmentChannel: z.ZodNullable<z.ZodBoolean>;
|
|
13
|
+
extraDestinations: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
14
|
+
channelId: z.ZodString;
|
|
15
|
+
pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
|
|
16
|
+
types: z.ZodArray<z.ZodEnum<{
|
|
17
|
+
post: "post";
|
|
18
|
+
}>>;
|
|
19
|
+
}, z.core.$strip>>>;
|
|
13
20
|
customMessages: z.ZodArray<z.ZodLazy<z.ZodObject<{
|
|
14
21
|
content: z.ZodNullable<z.ZodString>;
|
|
15
22
|
showInviteButton: z.ZodNullable<z.ZodBoolean>;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ClubStreamerZodPartial = exports.ClubStreamerZod = void 0;
|
|
4
4
|
const schema_zod_1 = require("./schema.zod");
|
|
5
|
+
const multiDestination_1 = require("../multiDestination");
|
|
5
6
|
const zod_1 = require("./zod");
|
|
6
7
|
const zod_2 = require("zod");
|
|
7
8
|
const ClubStreamerSchema = zod_2.z.object({
|
|
@@ -9,6 +10,8 @@ const ClubStreamerSchema = zod_2.z.object({
|
|
|
9
10
|
guildId: zod_1.SnowFlake,
|
|
10
11
|
usePerStreamerEmbeds: zod_2.z.boolean().nullable(),
|
|
11
12
|
autoPublishIfAnnouncmentChannel: zod_2.z.boolean().nullable(),
|
|
13
|
+
/** Premium Plus (`MultiDestination`): up to 2 extra channels, each with its own ping role and post types. */
|
|
14
|
+
extraDestinations: zod_1.CentralZod.ExtraDestinations(multiDestination_1.DESTINATION_TYPES.club).nullable(),
|
|
12
15
|
customMessages: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.lazy(() => CSCustomMessageSchema)), ['type']),
|
|
13
16
|
notificationChannelId: zod_1.SnowFlake.nullable(),
|
|
14
17
|
showNotifyButton: zod_2.z.boolean().nullable(),
|
|
@@ -14,6 +14,13 @@ export declare const KickStreamerZod: {
|
|
|
14
14
|
sendOfflineMessage: z.ZodNullable<z.ZodBoolean>;
|
|
15
15
|
usePerStreamerEmbeds: z.ZodNullable<z.ZodBoolean>;
|
|
16
16
|
autoPublishIfAnnouncmentChannel: z.ZodNullable<z.ZodBoolean>;
|
|
17
|
+
extraDestinations: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
18
|
+
channelId: z.ZodString;
|
|
19
|
+
pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
|
|
20
|
+
types: z.ZodArray<z.ZodEnum<{
|
|
21
|
+
live: "live";
|
|
22
|
+
}>>;
|
|
23
|
+
}, z.core.$strip>>>;
|
|
17
24
|
customMessages: z.ZodArray<z.ZodLazy<z.ZodObject<{
|
|
18
25
|
content: z.ZodNullable<z.ZodString>;
|
|
19
26
|
showInviteButton: z.ZodNullable<z.ZodBoolean>;
|
|
@@ -133,6 +140,11 @@ export declare const KickStreamerZod: {
|
|
|
133
140
|
correct: z.ZodNullable<z.ZodBoolean>;
|
|
134
141
|
channelId: z.ZodNullable<z.ZodString>;
|
|
135
142
|
messageId: z.ZodNullable<z.ZodString>;
|
|
143
|
+
extraPosts: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
144
|
+
channelId: z.ZodString;
|
|
145
|
+
messageId: z.ZodString;
|
|
146
|
+
pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
|
|
147
|
+
}, z.core.$strip>>>;
|
|
136
148
|
}, z.core.$strip>>>;
|
|
137
149
|
lastLive: z.ZodNullable<z.ZodDate>;
|
|
138
150
|
thumbnailWaitSeconds: z.ZodNullable<z.ZodNumber>;
|
|
@@ -223,6 +235,11 @@ export declare const KickStreamerZod: {
|
|
|
223
235
|
correct: z.ZodNullable<z.ZodBoolean>;
|
|
224
236
|
channelId: z.ZodNullable<z.ZodString>;
|
|
225
237
|
messageId: z.ZodNullable<z.ZodString>;
|
|
238
|
+
extraPosts: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
239
|
+
channelId: z.ZodString;
|
|
240
|
+
messageId: z.ZodString;
|
|
241
|
+
pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
|
|
242
|
+
}, z.core.$strip>>>;
|
|
226
243
|
}, z.core.$strip>;
|
|
227
244
|
};
|
|
228
245
|
export declare const KickStreamerZodPartial: PartialZodObject<typeof KickStreamerZod>;
|