@notidotbot/noti-api-client 1.4.11 → 1.4.12

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.
@@ -15,6 +15,7 @@ export declare class APIPremium {
15
15
  changeSubscriptionTier({ auth, body }: PremiumFunctionsInput<never>['changeSubscriptionTier']): Promise<import("../types").WebResponse<string>>;
16
16
  changeSubscriptionAddons({ auth, body }: PremiumFunctionsInput<never>['changeSubscriptionAddons']): Promise<import("../types").WebResponse<string>>;
17
17
  cancelSubscription({ auth, subscriptionId }: PremiumFunctionsInput<never>['cancelSubscription']): Promise<import("../types").WebResponse<string>>;
18
+ syncStripeSubscriptions({ auth }: PremiumFunctionsInput<never>['syncStripeSubscriptions']): Promise<import("../types").WebResponse<SyncSubscriptionsResponse>>;
18
19
  }
19
20
  export type PremiumFunctionsInput<T extends 'guild' | 'user' = never, I extends boolean = never> = {
20
21
  'getPremumData': {
@@ -58,6 +59,9 @@ export type PremiumFunctionsInput<T extends 'guild' | 'user' = never, I extends
58
59
  auth: string;
59
60
  subscriptionId: string;
60
61
  };
62
+ 'syncStripeSubscriptions': {
63
+ auth: string;
64
+ };
61
65
  };
62
66
  export type PremiumReturnTypes = {
63
67
  'getPremumDataRaw': Awaited<ReturnType<APIPremium['getPremumData']>>;
@@ -80,6 +84,8 @@ export type PremiumReturnTypes = {
80
84
  'changeSubscriptionAddonsSuccess': CancelOutWebResponses<Awaited<ReturnType<APIPremium['changeSubscriptionAddons']>>>;
81
85
  'cancelSubscriptionRaw': Awaited<ReturnType<APIPremium['cancelSubscription']>>;
82
86
  'cancelSubscriptionSuccess': CancelOutWebResponses<Awaited<ReturnType<APIPremium['cancelSubscription']>>>;
87
+ 'syncStripeSubscriptionsRaw': Awaited<ReturnType<APIPremium['syncStripeSubscriptions']>>;
88
+ 'syncStripeSubscriptionsSuccess': CancelOutWebResponses<Awaited<ReturnType<APIPremium['syncStripeSubscriptions']>>>;
83
89
  };
84
90
  export type CreateCheckoutSessionBody<T extends 'guild' | 'user'> = T extends 'guild' ? {
85
91
  email: string;
@@ -177,3 +183,21 @@ export type ChangeSubscriptionAddonsBody = {
177
183
  quantity: number;
178
184
  }[];
179
185
  };
186
+ export type SyncSubscriptionsResponse = {
187
+ status: 200;
188
+ message: string;
189
+ synced: number;
190
+ created: number;
191
+ updated: number;
192
+ alreadyCorrect: number;
193
+ errors?: Array<{
194
+ guildId: string;
195
+ subscriptionId: string;
196
+ error: string;
197
+ }>;
198
+ subscriptions: Array<{
199
+ guildId: string;
200
+ subscriptionId: string;
201
+ status: 'created' | 'already_exists' | 'updated';
202
+ }>;
203
+ };
@@ -72,5 +72,11 @@ class APIPremium {
72
72
  endpoint: this.web.qp('/stripe/subscriptions/' + subscriptionId),
73
73
  });
74
74
  }
75
+ async syncStripeSubscriptions({ auth }) {
76
+ return await this.web.request({
77
+ method: 'POST', auth,
78
+ endpoint: this.web.qp('/stripe/sync-subscriptions'),
79
+ });
80
+ }
75
81
  }
76
82
  exports.APIPremium = APIPremium;
@@ -13,6 +13,7 @@ exports.addonKeys = [
13
13
  'additionalTwitchConnections',
14
14
  'additionalYoutubeConnections',
15
15
  'additionalTiktokConnections',
16
+ 'customBot'
16
17
  ];
17
18
  exports.addonNames = exports.addonKeys.map((k) => k.replace('additional', ''));
18
19
  exports.defaultAddons = exports.addonNames.map((k) => `default${k}`);
@@ -1,47 +1,31 @@
1
1
  import { PartialZodObject } from './schema.zod';
2
- import { TSPrisma } from '@prisma/client';
3
2
  import { RemoveProperties } from '../prisma';
3
+ import { TSPrisma } from '@prisma/client';
4
4
  import { z } from 'zod';
5
5
  export type RT<T extends TSPrisma.AllModelNames> = z.ZodType<RemoveProperties<TSPrisma.TSPrismaModelsFull[T], ClientRelations>>;
6
6
  export type ClientRelations = 'db' | 'client';
7
7
  export declare const ClientZod: {
8
8
  readonly ClientSchema: z.ZodObject<{
9
- clientId: z.ZodEffects<z.ZodString, string, string>;
9
+ clientId: z.ZodString;
10
10
  totalGiveaways: z.ZodNullable<z.ZodNumber>;
11
11
  totalNotifications: z.ZodNullable<z.ZodNumber>;
12
12
  statChannels: z.ZodNullable<z.ZodNumber>;
13
13
  statusRoles: z.ZodNullable<z.ZodNumber>;
14
14
  totalClips: z.ZodNullable<z.ZodNumber>;
15
15
  totalVods: z.ZodNullable<z.ZodNumber>;
16
- recentWhitelist: z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>;
17
- dashWhitelist: z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>;
18
- staff: z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>;
19
- faq: z.ZodEffects<z.ZodArray<z.ZodLazy<z.ZodObject<{
16
+ recentWhitelist: z.ZodArray<z.ZodString>;
17
+ dashWhitelist: z.ZodArray<z.ZodString>;
18
+ staff: z.ZodArray<z.ZodString>;
19
+ faq: z.ZodArray<z.ZodLazy<z.ZodObject<{
20
20
  identifier: z.ZodString;
21
21
  question: z.ZodNullable<z.ZodString>;
22
22
  answer: z.ZodNullable<z.ZodString>;
23
- }, "strip", z.ZodTypeAny, {
24
- identifier: string;
25
- question: string | null;
26
- answer: string | null;
27
- }, {
28
- identifier: string;
29
- question: string | null;
30
- answer: string | null;
31
- }>>, "many">, {
32
- identifier: string;
33
- question: string | null;
34
- answer: string | null;
35
- }[], {
36
- identifier: string;
37
- question: string | null;
38
- answer: string | null;
39
- }[]>;
40
- blogs: z.ZodEffects<z.ZodArray<z.ZodLazy<z.ZodObject<{
23
+ }, z.core.$strip>>>;
24
+ blogs: z.ZodArray<z.ZodLazy<z.ZodObject<{
41
25
  identifier: z.ZodString;
42
26
  title: z.ZodString;
43
27
  isPinned: z.ZodBoolean;
44
- tags: z.ZodArray<z.ZodString, "many">;
28
+ tags: z.ZodArray<z.ZodString>;
45
29
  content: z.ZodString;
46
30
  thumbnail: z.ZodNullable<z.ZodString>;
47
31
  authorName: z.ZodString;
@@ -49,251 +33,65 @@ export declare const ClientZod: {
49
33
  createdAt: z.ZodDate;
50
34
  lastEdited: z.ZodDate;
51
35
  views: z.ZodNumber;
52
- reactions: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">, string[], string[]>;
36
+ reactions: z.ZodArray<z.ZodString>;
53
37
  reactionsCount: z.ZodNumber;
54
38
  isPublic: z.ZodBoolean;
55
- }, "strip", z.ZodTypeAny, {
56
- title: string;
57
- content: string;
58
- thumbnail: string | null;
59
- authorIcon: string;
60
- identifier: string;
61
- isPinned: boolean;
62
- views: number;
63
- reactions: string[];
64
- reactionsCount: number;
65
- tags: string[];
66
- authorName: string;
67
- createdAt: Date;
68
- lastEdited: Date;
69
- isPublic: boolean;
70
- }, {
71
- title: string;
72
- content: string;
73
- thumbnail: string | null;
74
- authorIcon: string;
75
- identifier: string;
76
- isPinned: boolean;
77
- views: number;
78
- reactions: string[];
79
- reactionsCount: number;
80
- tags: string[];
81
- authorName: string;
82
- createdAt: Date;
83
- lastEdited: Date;
84
- isPublic: boolean;
85
- }>>, "many">, {
86
- title: string;
87
- content: string;
88
- thumbnail: string | null;
89
- authorIcon: string;
90
- identifier: string;
91
- isPinned: boolean;
92
- views: number;
93
- reactions: string[];
94
- reactionsCount: number;
95
- tags: string[];
96
- authorName: string;
97
- createdAt: Date;
98
- lastEdited: Date;
99
- isPublic: boolean;
100
- }[], {
101
- title: string;
102
- content: string;
103
- thumbnail: string | null;
104
- authorIcon: string;
105
- identifier: string;
106
- isPinned: boolean;
107
- views: number;
108
- reactions: string[];
109
- reactionsCount: number;
110
- tags: string[];
111
- authorName: string;
112
- createdAt: Date;
113
- lastEdited: Date;
114
- isPublic: boolean;
115
- }[]>;
116
- changelogs: z.ZodEffects<z.ZodArray<z.ZodLazy<z.ZodObject<{
39
+ }, z.core.$strip>>>;
40
+ changelogs: z.ZodArray<z.ZodLazy<z.ZodObject<{
117
41
  identifier: z.ZodString;
118
42
  date: z.ZodDate;
119
- changes: z.ZodArray<z.ZodString, "many">;
43
+ changes: z.ZodArray<z.ZodString>;
120
44
  title: z.ZodString;
121
45
  isPublic: z.ZodBoolean;
122
46
  thumbnail: z.ZodNullable<z.ZodString>;
123
- }, "strip", z.ZodTypeAny, {
124
- date: Date;
125
- title: string;
126
- thumbnail: string | null;
127
- identifier: string;
128
- isPublic: boolean;
129
- changes: string[];
130
- }, {
131
- date: Date;
132
- title: string;
133
- thumbnail: string | null;
134
- identifier: string;
135
- isPublic: boolean;
136
- changes: string[];
137
- }>>, "many">, {
138
- date: Date;
139
- title: string;
140
- thumbnail: string | null;
141
- identifier: string;
142
- isPublic: boolean;
143
- changes: string[];
144
- }[], {
145
- date: Date;
146
- title: string;
147
- thumbnail: string | null;
148
- identifier: string;
149
- isPublic: boolean;
150
- changes: string[];
151
- }[]>;
152
- logRawDataFor: z.ZodEffects<z.ZodArray<z.ZodLazy<z.ZodObject<{
47
+ }, z.core.$strip>>>;
48
+ logRawDataFor: z.ZodArray<z.ZodLazy<z.ZodObject<{
153
49
  username: z.ZodString;
154
- platform: z.ZodEnum<["kick", "twitch", "rumble", "tiktok", "youtube"]>;
155
- }, "strip", z.ZodTypeAny, {
156
- username: string;
157
- platform: "kick" | "twitch" | "rumble" | "tiktok" | "youtube";
158
- }, {
159
- username: string;
160
- platform: "kick" | "twitch" | "rumble" | "tiktok" | "youtube";
161
- }>>, "many">, {
162
- username: string;
163
- platform: "kick" | "twitch" | "rumble" | "tiktok" | "youtube";
164
- }[], {
165
- username: string;
166
- platform: "kick" | "twitch" | "rumble" | "tiktok" | "youtube";
167
- }[]>;
168
- }, "strip", z.ZodTypeAny, {
169
- statusRoles: number | null;
170
- faq: {
171
- identifier: string;
172
- question: string | null;
173
- answer: string | null;
174
- }[];
175
- blogs: {
176
- title: string;
177
- content: string;
178
- thumbnail: string | null;
179
- authorIcon: string;
180
- identifier: string;
181
- isPinned: boolean;
182
- views: number;
183
- reactions: string[];
184
- reactionsCount: number;
185
- tags: string[];
186
- authorName: string;
187
- createdAt: Date;
188
- lastEdited: Date;
189
- isPublic: boolean;
190
- }[];
191
- changelogs: {
192
- date: Date;
193
- title: string;
194
- thumbnail: string | null;
195
- identifier: string;
196
- isPublic: boolean;
197
- changes: string[];
198
- }[];
199
- logRawDataFor: {
200
- username: string;
201
- platform: "kick" | "twitch" | "rumble" | "tiktok" | "youtube";
202
- }[];
203
- clientId: string;
204
- totalGiveaways: number | null;
205
- totalNotifications: number | null;
206
- statChannels: number | null;
207
- totalClips: number | null;
208
- totalVods: number | null;
209
- recentWhitelist: string[];
210
- dashWhitelist: string[];
211
- staff: string[];
212
- }, {
213
- statusRoles: number | null;
214
- faq: {
215
- identifier: string;
216
- question: string | null;
217
- answer: string | null;
218
- }[];
219
- blogs: {
220
- title: string;
221
- content: string;
222
- thumbnail: string | null;
223
- authorIcon: string;
224
- identifier: string;
225
- isPinned: boolean;
226
- views: number;
227
- reactions: string[];
228
- reactionsCount: number;
229
- tags: string[];
230
- authorName: string;
231
- createdAt: Date;
232
- lastEdited: Date;
233
- isPublic: boolean;
234
- }[];
235
- changelogs: {
236
- date: Date;
237
- title: string;
238
- thumbnail: string | null;
239
- identifier: string;
240
- isPublic: boolean;
241
- changes: string[];
242
- }[];
243
- logRawDataFor: {
244
- username: string;
245
- platform: "kick" | "twitch" | "rumble" | "tiktok" | "youtube";
246
- }[];
247
- clientId: string;
248
- totalGiveaways: number | null;
249
- totalNotifications: number | null;
250
- statChannels: number | null;
251
- totalClips: number | null;
252
- totalVods: number | null;
253
- recentWhitelist: string[];
254
- dashWhitelist: string[];
255
- staff: string[];
256
- }>;
50
+ platform: z.ZodEnum<{
51
+ kick: "kick";
52
+ twitch: "twitch";
53
+ rumble: "rumble";
54
+ tiktok: "tiktok";
55
+ youtube: "youtube";
56
+ }>;
57
+ }, z.core.$strip>>>;
58
+ twitchCredentials: z.ZodNullable<z.ZodLazy<z.ZodObject<{
59
+ twitchGqlClientId: z.ZodString;
60
+ twitchGqlAuthToken: z.ZodString;
61
+ twitchGqlClientIntegrity: z.ZodNullable<z.ZodString>;
62
+ twitchGqlClientSessionId: z.ZodNullable<z.ZodString>;
63
+ twitchGqlClientVersion: z.ZodNullable<z.ZodString>;
64
+ updatedAt: z.ZodDate;
65
+ createdAt: z.ZodDate;
66
+ }, z.core.$strip>>>;
67
+ }, z.core.$strip>;
68
+ readonly ClientTwitchSchema: z.ZodObject<{
69
+ twitchGqlClientId: z.ZodString;
70
+ twitchGqlAuthToken: z.ZodString;
71
+ twitchGqlClientIntegrity: z.ZodNullable<z.ZodString>;
72
+ twitchGqlClientSessionId: z.ZodNullable<z.ZodString>;
73
+ twitchGqlClientVersion: z.ZodNullable<z.ZodString>;
74
+ updatedAt: z.ZodDate;
75
+ createdAt: z.ZodDate;
76
+ }, z.core.$strip>;
257
77
  readonly ClientFAQSchema: z.ZodObject<{
258
78
  identifier: z.ZodString;
259
79
  question: z.ZodNullable<z.ZodString>;
260
80
  answer: z.ZodNullable<z.ZodString>;
261
- }, "strip", z.ZodTypeAny, {
262
- identifier: string;
263
- question: string | null;
264
- answer: string | null;
265
- }, {
266
- identifier: string;
267
- question: string | null;
268
- answer: string | null;
269
- }>;
81
+ }, z.core.$strip>;
270
82
  readonly ClientChangelogSchema: z.ZodObject<{
271
83
  identifier: z.ZodString;
272
84
  date: z.ZodDate;
273
- changes: z.ZodArray<z.ZodString, "many">;
85
+ changes: z.ZodArray<z.ZodString>;
274
86
  title: z.ZodString;
275
87
  isPublic: z.ZodBoolean;
276
88
  thumbnail: z.ZodNullable<z.ZodString>;
277
- }, "strip", z.ZodTypeAny, {
278
- date: Date;
279
- title: string;
280
- thumbnail: string | null;
281
- identifier: string;
282
- isPublic: boolean;
283
- changes: string[];
284
- }, {
285
- date: Date;
286
- title: string;
287
- thumbnail: string | null;
288
- identifier: string;
289
- isPublic: boolean;
290
- changes: string[];
291
- }>;
89
+ }, z.core.$strip>;
292
90
  readonly ClientBlogSchema: z.ZodObject<{
293
91
  identifier: z.ZodString;
294
92
  title: z.ZodString;
295
93
  isPinned: z.ZodBoolean;
296
- tags: z.ZodArray<z.ZodString, "many">;
94
+ tags: z.ZodArray<z.ZodString>;
297
95
  content: z.ZodString;
298
96
  thumbnail: z.ZodNullable<z.ZodString>;
299
97
  authorName: z.ZodString;
@@ -301,49 +99,19 @@ export declare const ClientZod: {
301
99
  createdAt: z.ZodDate;
302
100
  lastEdited: z.ZodDate;
303
101
  views: z.ZodNumber;
304
- reactions: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">, string[], string[]>;
102
+ reactions: z.ZodArray<z.ZodString>;
305
103
  reactionsCount: z.ZodNumber;
306
104
  isPublic: z.ZodBoolean;
307
- }, "strip", z.ZodTypeAny, {
308
- title: string;
309
- content: string;
310
- thumbnail: string | null;
311
- authorIcon: string;
312
- identifier: string;
313
- isPinned: boolean;
314
- views: number;
315
- reactions: string[];
316
- reactionsCount: number;
317
- tags: string[];
318
- authorName: string;
319
- createdAt: Date;
320
- lastEdited: Date;
321
- isPublic: boolean;
322
- }, {
323
- title: string;
324
- content: string;
325
- thumbnail: string | null;
326
- authorIcon: string;
327
- identifier: string;
328
- isPinned: boolean;
329
- views: number;
330
- reactions: string[];
331
- reactionsCount: number;
332
- tags: string[];
333
- authorName: string;
334
- createdAt: Date;
335
- lastEdited: Date;
336
- isPublic: boolean;
337
- }>;
105
+ }, z.core.$strip>;
338
106
  readonly ClientLogRawDataSchema: z.ZodObject<{
339
107
  username: z.ZodString;
340
- platform: z.ZodEnum<["kick", "twitch", "rumble", "tiktok", "youtube"]>;
341
- }, "strip", z.ZodTypeAny, {
342
- username: string;
343
- platform: "kick" | "twitch" | "rumble" | "tiktok" | "youtube";
344
- }, {
345
- username: string;
346
- platform: "kick" | "twitch" | "rumble" | "tiktok" | "youtube";
347
- }>;
108
+ platform: z.ZodEnum<{
109
+ kick: "kick";
110
+ twitch: "twitch";
111
+ rumble: "rumble";
112
+ tiktok: "tiktok";
113
+ youtube: "youtube";
114
+ }>;
115
+ }, z.core.$strip>;
348
116
  };
349
117
  export declare const ClientZodPartial: PartialZodObject<typeof ClientZod>;
@@ -19,6 +19,16 @@ const ClientSchema = zod_2.z.object({
19
19
  blogs: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.lazy(() => ClientBlogSchema)), ['identifier']),
20
20
  changelogs: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.lazy(() => ClientChangelogSchema)), ['identifier']),
21
21
  logRawDataFor: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.lazy(() => ClientLogRawDataSchema)), ['username']),
22
+ twitchCredentials: zod_2.z.lazy(() => ClientTwitchSchema).nullable(),
23
+ });
24
+ const ClientTwitchSchema = zod_2.z.object({
25
+ twitchGqlClientId: zod_2.z.string(),
26
+ twitchGqlAuthToken: zod_2.z.string(),
27
+ twitchGqlClientIntegrity: zod_2.z.string().nullable(),
28
+ twitchGqlClientSessionId: zod_2.z.string().nullable(),
29
+ twitchGqlClientVersion: zod_2.z.string().nullable(),
30
+ updatedAt: zod_2.z.date(),
31
+ createdAt: zod_2.z.date(),
22
32
  });
23
33
  const ClientFAQSchema = zod_2.z.object({
24
34
  identifier: zod_2.z.string(),
@@ -55,6 +65,7 @@ const ClientLogRawDataSchema = zod_2.z.object({
55
65
  });
56
66
  exports.ClientZod = {
57
67
  ClientSchema,
68
+ ClientTwitchSchema,
58
69
  ClientFAQSchema,
59
70
  ClientChangelogSchema,
60
71
  ClientBlogSchema,
@@ -5,12 +5,12 @@ import { z } from 'zod';
5
5
  export type RT<T extends TSPrisma.AllModelNames> = z.ZodType<RemoveProperties<TSPrisma.TSPrismaModelsFull[T], DropsRelations>>;
6
6
  export type DropsRelations = 'db' | 'game' | 'sentDrops' | 'drops' | 'guildDropsGames' | 'webhook' | 'games' | 'guildDrops' | 'guildDropsGame';
7
7
  export declare const DropsZod: {
8
- readonly DropSchema: z.ZodType<any, z.ZodTypeDef, any>;
9
- readonly DropGameSchema: z.ZodType<any, z.ZodTypeDef, any>;
10
- readonly GuildDropsSchema: z.ZodType<any, z.ZodTypeDef, any>;
11
- readonly GuildDropsWebhookSchema: z.ZodType<any, z.ZodTypeDef, any>;
12
- readonly GuildDropsGameSchema: z.ZodType<any, z.ZodTypeDef, any>;
13
- readonly GuildDropsGameWebhookSchema: z.ZodType<any, z.ZodTypeDef, any>;
14
- readonly SentDropSchema: z.ZodType<any, z.ZodTypeDef, any>;
8
+ readonly DropSchema: z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>;
9
+ readonly DropGameSchema: z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>;
10
+ readonly GuildDropsSchema: z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>;
11
+ readonly GuildDropsWebhookSchema: z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>;
12
+ readonly GuildDropsGameSchema: z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>;
13
+ readonly GuildDropsGameWebhookSchema: z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>;
14
+ readonly SentDropSchema: z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>;
15
15
  };
16
16
  export declare const DropsZodPartial: PartialZodObject<typeof DropsZod>;
@@ -31,6 +31,7 @@ const DropGameSchema = zod_2.z.object({
31
31
  slug: zod_2.z.string().nullable(),
32
32
  imageUrl: zod_2.z.string().url().nullable(),
33
33
  description: zod_2.z.string().max(2000).nullable(),
34
+ ignored: zod_2.z.boolean().default(false),
34
35
  platformData: zod_2.z.any().nullable(),
35
36
  createdAt: zod_2.z.date(),
36
37
  updatedAt: zod_2.z.date(),
@@ -42,14 +43,15 @@ const GuildDropsSchema = zod_2.z.object({
42
43
  kickEnabled: zod_2.z.boolean(),
43
44
  twitchEnabled: zod_2.z.boolean(),
44
45
  liveNotifications: zod_2.z.boolean(),
45
- kickChannelId: zod_1.SnowFlake.nullable(),
46
- kickRoleId: zod_1.SnowFlakeOrEveryone.nullable(),
47
- kickLiveNotificationChannelId: zod_1.SnowFlake.nullable(),
48
- kickLiveNotificationRoleId: zod_1.SnowFlakeOrEveryone.nullable(),
49
- twitchLiveNotificationChannelId: zod_1.SnowFlake.nullable(),
50
- twitchLiveNotificationRoleId: zod_1.SnowFlakeOrEveryone.nullable(),
51
- twitchChannelId: zod_1.SnowFlake.nullable(),
52
- twitchRoleId: zod_1.SnowFlakeOrEveryone.nullable(),
46
+ kickChannelId: zod_2.z.string().nullable(),
47
+ kickRoleId: zod_2.z.string().nullable(),
48
+ twitchChannelId: zod_2.z.string().nullable(),
49
+ twitchRoleId: zod_2.z.string().nullable(),
50
+ // Platform-specific live notification overrides
51
+ kickLiveNotificationChannelId: zod_2.z.string().nullable(),
52
+ kickLiveNotificationRoleId: zod_2.z.string().nullable(),
53
+ twitchLiveNotificationChannelId: zod_2.z.string().nullable(),
54
+ twitchLiveNotificationRoleId: zod_2.z.string().nullable(),
53
55
  games: zod_2.z.array(zod_2.z.lazy(() => GuildDropsGameSchema)),
54
56
  webhook: zod_2.z.lazy(() => GuildDropsWebhookSchema).nullable(),
55
57
  createdAt: zod_2.z.date(),