@notidotbot/noti-api-client 1.9.73 → 1.9.75

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 (59) hide show
  1. package/dist/classes/@me.d.ts +45 -0
  2. package/dist/classes/@me.js +25 -0
  3. package/dist/classes/guildInGame.d.ts +259 -0
  4. package/dist/classes/guildInGame.js +114 -0
  5. package/dist/classes/guildInfluencerPanel.d.ts +13 -0
  6. package/dist/classes/guildMessageScheduler.d.ts +15 -1
  7. package/dist/classes/publicGiveaways.d.ts +1 -1
  8. package/dist/classes/publicGiveaways.js +1 -1
  9. package/dist/core/manager.d.ts +2 -0
  10. package/dist/core/manager.js +2 -0
  11. package/dist/index.d.ts +6 -0
  12. package/dist/index.js +19 -1
  13. package/dist/other/bitfields.d.ts +8 -2
  14. package/dist/other/bitfields.js +6 -0
  15. package/dist/other/features.d.ts +1 -1
  16. package/dist/other/features.js +2 -0
  17. package/dist/other/inGameAlerts.d.ts +83 -0
  18. package/dist/other/inGameAlerts.js +65 -0
  19. package/dist/other/inGameMiniMessage.d.ts +14 -0
  20. package/dist/other/inGameMiniMessage.js +135 -0
  21. package/dist/other/multiDestination.d.ts +89 -0
  22. package/dist/other/multiDestination.js +109 -0
  23. package/dist/other/types.d.ts +2 -0
  24. package/dist/other/zod/clubStreamer.zod.d.ts +12 -0
  25. package/dist/other/zod/clubStreamer.zod.js +10 -0
  26. package/dist/other/zod/giveaways.zod.d.ts +17 -0
  27. package/dist/other/zod/giveaways.zod.js +8 -0
  28. package/dist/other/zod/kickStreamer.zod.d.ts +23 -0
  29. package/dist/other/zod/kickStreamer.zod.js +11 -0
  30. package/dist/other/zod/rumbleStreamer.zod.d.ts +25 -0
  31. package/dist/other/zod/rumbleStreamer.zod.js +11 -0
  32. package/dist/other/zod/scheduledMessage.zod.d.ts +10 -2
  33. package/dist/other/zod/scheduledMessage.zod.js +29 -5
  34. package/dist/other/zod/schema.zod.d.ts +6 -0
  35. package/dist/other/zod/schema.zod.js +7 -1
  36. package/dist/other/zod/tiktokStreamer.zod.d.ts +25 -0
  37. package/dist/other/zod/tiktokStreamer.zod.js +11 -0
  38. package/dist/other/zod/twitchStreamer.zod.d.ts +23 -0
  39. package/dist/other/zod/twitchStreamer.zod.js +11 -0
  40. package/dist/other/zod/twitterStreamer.zod.d.ts +25 -0
  41. package/dist/other/zod/twitterStreamer.zod.js +11 -0
  42. package/dist/other/zod/youtubeStreamer.zod.d.ts +26 -0
  43. package/dist/other/zod/youtubeStreamer.zod.js +11 -0
  44. package/dist/other/zod/zod.d.ts +15 -0
  45. package/dist/other/zod/zod.js +12 -0
  46. package/dist/tsconfig.tsbuildinfo +1 -1
  47. package/package.json +1 -1
  48. package/prisma/generated/ts-prisma.d.ts +129 -0
  49. package/prisma/schema/models/clubStreamer.prisma +9 -0
  50. package/prisma/schema/models/giveaways.prisma +9 -0
  51. package/prisma/schema/models/inGame.prisma +77 -0
  52. package/prisma/schema/models/kickStreamer.prisma +11 -0
  53. package/prisma/schema/models/rumbleStreamer.prisma +12 -0
  54. package/prisma/schema/models/scheduledMessage.prisma +10 -1
  55. package/prisma/schema/models/tiktokStreamer.prisma +11 -0
  56. package/prisma/schema/models/twitchStreamer.prisma +12 -0
  57. package/prisma/schema/models/twitterStreamer.prisma +12 -0
  58. package/prisma/schema/models/youtubeStreamer.prisma +11 -0
  59. package/prisma/schema/schema.prisma +16 -0
@@ -50,6 +50,7 @@ export declare const GuildGiveawayZod: {
50
50
  messageCount: z.ZodNullable<z.ZodNumber>;
51
51
  roles: z.ZodArray<z.ZodString>;
52
52
  minAccountAgeDays: z.ZodNullable<z.ZodNumber>;
53
+ minecraftLinked: z.ZodNullable<z.ZodBoolean>;
53
54
  }, z.core.$strip>>>>;
54
55
  bypassRequirementsRoles: z.ZodOptional<z.ZodArray<z.ZodString>>;
55
56
  claimWindowMinutes: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodLiteral<number>, z.ZodLiteral<number>, ...z.ZodLiteral<number>[]]>>>;
@@ -60,6 +61,13 @@ export declare const GuildGiveawayZod: {
60
61
  winnerRoleRemoveAfterDays: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
61
62
  dmWinners: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
62
63
  publicListing: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
64
+ inGameMode: z.ZodOptional<z.ZodEnum<{
65
+ off: "off";
66
+ announce: "announce";
67
+ enter: "enter";
68
+ }>>;
69
+ inGameRewardPreset: z.ZodOptional<z.ZodNullable<z.ZodString>>;
70
+ inGameRewardServerId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
63
71
  }, z.core.$strip>;
64
72
  readonly GuildGiveawaySchema: z.ZodObject<{
65
73
  giveawayId: z.ZodString;
@@ -106,6 +114,7 @@ export declare const GuildGiveawayZod: {
106
114
  messageCount: z.ZodNullable<z.ZodNumber>;
107
115
  roles: z.ZodArray<z.ZodString>;
108
116
  minAccountAgeDays: z.ZodNullable<z.ZodNumber>;
117
+ minecraftLinked: z.ZodNullable<z.ZodBoolean>;
109
118
  }, z.core.$strip>>>;
110
119
  bypassRequirementsRoles: z.ZodArray<z.ZodString>;
111
120
  claimWindowMinutes: z.ZodNullable<z.ZodUnion<[z.ZodLiteral<number>, z.ZodLiteral<number>, ...z.ZodLiteral<number>[]]>>;
@@ -116,6 +125,13 @@ export declare const GuildGiveawayZod: {
116
125
  winnerRoleRemoveAfterDays: z.ZodNullable<z.ZodNumber>;
117
126
  dmWinners: z.ZodNullable<z.ZodBoolean>;
118
127
  publicListing: z.ZodNullable<z.ZodBoolean>;
128
+ inGameMode: z.ZodEnum<{
129
+ off: "off";
130
+ announce: "announce";
131
+ enter: "enter";
132
+ }>;
133
+ inGameRewardPreset: z.ZodNullable<z.ZodString>;
134
+ inGameRewardServerId: z.ZodNullable<z.ZodString>;
119
135
  }, z.core.$strip>;
120
136
  readonly GuildGiveawayFilterSchema: z.ZodObject<{
121
137
  roleMode: z.ZodEnum<{
@@ -135,6 +151,7 @@ export declare const GuildGiveawayZod: {
135
151
  messageCount: z.ZodNullable<z.ZodNumber>;
136
152
  roles: z.ZodArray<z.ZodString>;
137
153
  minAccountAgeDays: z.ZodNullable<z.ZodNumber>;
154
+ minecraftLinked: z.ZodNullable<z.ZodBoolean>;
138
155
  }, z.core.$strip>;
139
156
  };
140
157
  export declare const GuildGiveawayZodPartial: PartialZodObject<typeof GuildGiveawayZod>;
@@ -39,6 +39,12 @@ const mainSchemaFields = {
39
39
  dmWinners: zod_2.z.boolean().nullable(),
40
40
  // Public giveaways page: null follows the server, true/false overrides it.
41
41
  publicListing: zod_2.z.boolean().nullable(),
42
+ // Minecraft (in-game P7). The `inGame` flag gates setting them; a preset also needs InGameRewards.
43
+ inGameMode: schema_zod_1.GiveawayInGameModeEnum,
44
+ // A preset name from a connected server's rewards.yml.
45
+ inGameRewardPreset: zod_2.z.string().max(32).regex(/^[a-z0-9_-]+$/, 'A reward preset name is lowercase letters, digits, _ and -.').nullable(),
46
+ // Which connected server pays; null = the guild's only one.
47
+ inGameRewardServerId: zod_2.z.string().uuid().nullable(),
42
48
  };
43
49
  const GuildGiveawaySchema = zod_2.z.object({
44
50
  ...mainSchemaFields,
@@ -73,6 +79,8 @@ const GuildGiveawayRequirementsSchema = zod_2.z.object({
73
79
  messageCount: zod_2.z.number().min(1).nullable(),
74
80
  roles: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_1.SnowFlake)),
75
81
  minAccountAgeDays: zod_2.z.number().int().min(1).max(giveawayClaims_1.GIVEAWAY_MIN_ACCOUNT_AGE_MAX_DAYS).nullable(),
82
+ // The entrant linked a Minecraft account in this server (in-game P7).
83
+ minecraftLinked: zod_2.z.boolean().nullable(),
76
84
  });
77
85
  exports.GuildGiveawayZod = {
78
86
  GuildGiveawayCreateSchema,
@@ -14,6 +14,19 @@ 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>>>;
24
+ inGame: z.ZodBoolean;
25
+ inGameTypes: z.ZodArray<z.ZodEnum<{
26
+ live: "live";
27
+ offline: "offline";
28
+ }>>;
29
+ inGameServerIds: z.ZodArray<z.ZodString>;
17
30
  customMessages: z.ZodArray<z.ZodLazy<z.ZodObject<{
18
31
  content: z.ZodNullable<z.ZodString>;
19
32
  showInviteButton: z.ZodNullable<z.ZodBoolean>;
@@ -133,6 +146,11 @@ export declare const KickStreamerZod: {
133
146
  correct: z.ZodNullable<z.ZodBoolean>;
134
147
  channelId: z.ZodNullable<z.ZodString>;
135
148
  messageId: z.ZodNullable<z.ZodString>;
149
+ extraPosts: z.ZodNullable<z.ZodArray<z.ZodObject<{
150
+ channelId: z.ZodString;
151
+ messageId: z.ZodString;
152
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
153
+ }, z.core.$strip>>>;
136
154
  }, z.core.$strip>>>;
137
155
  lastLive: z.ZodNullable<z.ZodDate>;
138
156
  thumbnailWaitSeconds: z.ZodNullable<z.ZodNumber>;
@@ -223,6 +241,11 @@ export declare const KickStreamerZod: {
223
241
  correct: z.ZodNullable<z.ZodBoolean>;
224
242
  channelId: z.ZodNullable<z.ZodString>;
225
243
  messageId: z.ZodNullable<z.ZodString>;
244
+ extraPosts: z.ZodNullable<z.ZodArray<z.ZodObject<{
245
+ channelId: z.ZodString;
246
+ messageId: z.ZodString;
247
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
248
+ }, z.core.$strip>>>;
226
249
  }, z.core.$strip>;
227
250
  };
228
251
  export declare const KickStreamerZodPartial: PartialZodObject<typeof KickStreamerZod>;
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.KickStreamerZodPartial = exports.KickStreamerZod = void 0;
4
4
  const schema_zod_1 = require("./schema.zod");
5
+ const multiDestination_1 = require("../multiDestination");
6
+ const inGameAlerts_1 = require("../inGameAlerts");
5
7
  const zod_1 = require("./zod");
6
8
  const offlineGrace_1 = require("../offlineGrace");
7
9
  const zod_2 = require("zod");
@@ -14,6 +16,14 @@ const KickStreamerSchema = zod_2.z.object({
14
16
  sendOfflineMessage: zod_2.z.boolean().nullable(),
15
17
  usePerStreamerEmbeds: zod_2.z.boolean().nullable(),
16
18
  autoPublishIfAnnouncmentChannel: zod_2.z.boolean().nullable(),
19
+ /** Premium Plus (`MultiDestination`): up to 2 extra channels, each with its own ping role and post types. */
20
+ extraDestinations: zod_1.CentralZod.ExtraDestinations(multiDestination_1.DESTINATION_TYPES.kick).nullable(),
21
+ /** Minecraft (`inGame` launch flag): show this creator's notifications on connected game servers. Off by default. */
22
+ inGame: zod_2.z.boolean(),
23
+ /** Which notifications show in Minecraft; empty = every type in `IN_GAME_TYPES.kick`. */
24
+ inGameTypes: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.enum(inGameAlerts_1.IN_GAME_TYPES.kick))),
25
+ /** Which connected servers (InGameServer.id); empty = every active one. Max 10. */
26
+ inGameServerIds: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.string().uuid())).max(inGameAlerts_1.MAX_IN_GAME_SERVER_PICKS),
17
27
  customMessages: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.lazy(() => KSCustomMessageSchema)), ['type']),
18
28
  clipEnabled: zod_2.z.boolean().nullable(),
19
29
  clipChannelId: zod_1.SnowFlake.nullable(),
@@ -91,6 +101,7 @@ const KSCurrentlyLiveSchema = zod_2.z.object({
91
101
  correct: zod_2.z.boolean().nullable(),
92
102
  channelId: zod_1.SnowFlake.nullable(),
93
103
  messageId: zod_1.SnowFlake.nullable(),
104
+ extraPosts: zod_1.CentralZod.ExtraPosts().nullable(),
94
105
  });
95
106
  exports.KickStreamerZod = {
96
107
  KickStreamerSchema,
@@ -17,6 +17,21 @@ export declare const RumbleStreamerZod: {
17
17
  usePerStreamerEmbeds: z.ZodNullable<z.ZodBoolean>;
18
18
  autoPublishIfAnnouncmentChannel: z.ZodNullable<z.ZodBoolean>;
19
19
  updateLivePost: z.ZodNullable<z.ZodBoolean>;
20
+ extraDestinations: z.ZodNullable<z.ZodArray<z.ZodObject<{
21
+ channelId: z.ZodString;
22
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
23
+ types: z.ZodArray<z.ZodEnum<{
24
+ live: "live";
25
+ video: "video";
26
+ }>>;
27
+ }, z.core.$strip>>>;
28
+ inGame: z.ZodBoolean;
29
+ inGameTypes: z.ZodArray<z.ZodEnum<{
30
+ live: "live";
31
+ video: "video";
32
+ offline: "offline";
33
+ }>>;
34
+ inGameServerIds: z.ZodArray<z.ZodString>;
20
35
  customMessages: z.ZodArray<z.ZodLazy<z.ZodObject<{
21
36
  content: z.ZodNullable<z.ZodString>;
22
37
  showInviteButton: z.ZodNullable<z.ZodBoolean>;
@@ -90,6 +105,11 @@ export declare const RumbleStreamerZod: {
90
105
  correct: z.ZodNullable<z.ZodBoolean>;
91
106
  channelId: z.ZodNullable<z.ZodString>;
92
107
  messageId: z.ZodNullable<z.ZodString>;
108
+ extraPosts: z.ZodNullable<z.ZodArray<z.ZodObject<{
109
+ channelId: z.ZodString;
110
+ messageId: z.ZodString;
111
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
112
+ }, z.core.$strip>>>;
93
113
  }, z.core.$strip>>>;
94
114
  lastLive: z.ZodNullable<z.ZodDate>;
95
115
  lastVideo: z.ZodNullable<z.ZodDate>;
@@ -157,6 +177,11 @@ export declare const RumbleStreamerZod: {
157
177
  correct: z.ZodNullable<z.ZodBoolean>;
158
178
  channelId: z.ZodNullable<z.ZodString>;
159
179
  messageId: z.ZodNullable<z.ZodString>;
180
+ extraPosts: z.ZodNullable<z.ZodArray<z.ZodObject<{
181
+ channelId: z.ZodString;
182
+ messageId: z.ZodString;
183
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
184
+ }, z.core.$strip>>>;
160
185
  }, z.core.$strip>;
161
186
  };
162
187
  export declare const RumbleStreamerZodPartial: PartialZodObject<typeof RumbleStreamerZod>;
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RumbleStreamerZodPartial = exports.RumbleStreamerZod = void 0;
4
4
  const schema_zod_1 = require("./schema.zod");
5
+ const multiDestination_1 = require("../multiDestination");
6
+ const inGameAlerts_1 = require("../inGameAlerts");
5
7
  const zod_1 = require("./zod");
6
8
  const offlineGrace_1 = require("../offlineGrace");
7
9
  const zod_2 = require("zod");
@@ -19,6 +21,14 @@ const RumbleStreamerSchema = zod_2.z.object({
19
21
  * this on save and never edits.
20
22
  */
21
23
  updateLivePost: zod_2.z.boolean().nullable(),
24
+ /** Premium Plus (`MultiDestination`): up to 2 extra channels, each with its own ping role and post types. */
25
+ extraDestinations: zod_1.CentralZod.ExtraDestinations(multiDestination_1.DESTINATION_TYPES.rumble).nullable(),
26
+ /** Minecraft (`inGame` launch flag): show this creator's notifications on connected game servers. Off by default. */
27
+ inGame: zod_2.z.boolean(),
28
+ /** Which notifications show in Minecraft; empty = every type in `IN_GAME_TYPES.rumble`. */
29
+ inGameTypes: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.enum(inGameAlerts_1.IN_GAME_TYPES.rumble))),
30
+ /** Which connected servers (InGameServer.id); empty = every active one. Max 10. */
31
+ inGameServerIds: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.string().uuid())).max(inGameAlerts_1.MAX_IN_GAME_SERVER_PICKS),
22
32
  customMessages: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.lazy(() => RSCustomMessageSchema)), ['type']),
23
33
  notificationChannelId: zod_1.SnowFlake.nullable(),
24
34
  videoNotificationChannelId: zod_1.SnowFlake.nullable(),
@@ -50,6 +60,7 @@ const RSCurrentlyLiveSchema = zod_2.z.object({
50
60
  correct: zod_2.z.boolean().nullable(),
51
61
  channelId: zod_1.SnowFlake.nullable(),
52
62
  messageId: zod_1.SnowFlake.nullable(),
63
+ extraPosts: zod_1.CentralZod.ExtraPosts().nullable(),
53
64
  });
54
65
  exports.RumbleStreamerZod = {
55
66
  RumbleStreamerSchema,
@@ -12,9 +12,12 @@ export declare const ScheduledMessageZod: {
12
12
  readonly GuildScheduledMessageSchema: z.ZodObject<{
13
13
  messageId: z.ZodString;
14
14
  guildId: z.ZodString;
15
- channelId: z.ZodString;
15
+ channelId: z.ZodNullable<z.ZodString>;
16
16
  creatorId: z.ZodString;
17
17
  content: z.ZodString;
18
+ sendToDiscord: z.ZodBoolean;
19
+ sendToInGame: z.ZodBoolean;
20
+ minecraftContent: z.ZodNullable<z.ZodString>;
18
21
  trigger: z.ZodEnum<{
19
22
  time: "time";
20
23
  stage: "stage";
@@ -42,7 +45,10 @@ export declare const ScheduledMessageZod: {
42
45
  createdAt: z.ZodDate;
43
46
  }, z.core.$strip>;
44
47
  readonly ScheduledMessageCreateSchema: z.ZodObject<{
45
- channelId: z.ZodString;
48
+ channelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
49
+ sendToDiscord: z.ZodDefault<z.ZodBoolean>;
50
+ sendToInGame: z.ZodDefault<z.ZodBoolean>;
51
+ minecraftContent: z.ZodPipe<z.ZodDefault<z.ZodNullable<z.ZodString>>, z.ZodTransform<string | null, string | null>>;
46
52
  content: z.ZodDefault<z.ZodString>;
47
53
  embed: z.ZodPipe<z.ZodDefault<z.ZodNullable<z.ZodObject<{
48
54
  title: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -126,6 +132,8 @@ export declare const ScheduledMessageZod: {
126
132
  }, z.core.$strip>;
127
133
  readonly ScheduledMessageEditSchema: z.ZodObject<{
128
134
  content: z.ZodOptional<z.ZodString>;
135
+ sendToInGame: z.ZodOptional<z.ZodBoolean>;
136
+ minecraftContent: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodString>>, z.ZodTransform<string | null | undefined, string | null | undefined>>;
129
137
  embed: z.ZodPipe<z.ZodOptional<z.ZodNullable<z.ZodObject<{
130
138
  title: z.ZodDefault<z.ZodNullable<z.ZodString>>;
131
139
  url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ScheduledMessageZodPartial = exports.ScheduledMessageZod = exports.ScheduledMessageTimingEnum = void 0;
4
4
  const schema_zod_1 = require("./schema.zod");
5
5
  const zod_1 = require("./zod");
6
+ const inGameMiniMessage_1 = require("../inGameMiniMessage");
6
7
  const zod_2 = require("zod");
7
8
  exports.ScheduledMessageTimingEnum = zod_2.z.enum([
8
9
  'on',
@@ -11,9 +12,13 @@ exports.ScheduledMessageTimingEnum = zod_2.z.enum([
11
12
  const GuildScheduledMessageSchema = zod_2.z.object({
12
13
  messageId: zod_1.SnowFlake,
13
14
  guildId: zod_1.SnowFlake,
14
- channelId: zod_1.SnowFlake,
15
+ // Null for a Minecraft-only message.
16
+ channelId: zod_1.SnowFlake.nullable(),
15
17
  creatorId: zod_1.SnowFlake,
16
18
  content: zod_2.z.string().max(2000),
19
+ sendToDiscord: zod_2.z.boolean(),
20
+ sendToInGame: zod_2.z.boolean(),
21
+ minecraftContent: zod_2.z.string().max(2000).nullable(),
17
22
  trigger: schema_zod_1.ScheduledMessageTriggerEnum,
18
23
  recurrence: schema_zod_1.ScheduledMessageRecurrenceEnum,
19
24
  daysOfWeek: zod_2.z.array(zod_2.z.number().int().min(0).max(6)),
@@ -68,8 +73,19 @@ const ScheduledButtonSchema = zod_2.z.object({
68
73
  url: zod_2.z.string().max(2000).nullable().default(null),
69
74
  emojiUnicodeOrId: zod_2.z.string().nullable().default(null),
70
75
  });
76
+ /** Restricted MiniMessage for Minecraft: colours, formatting, hover text and http(s) links only. */
77
+ const MinecraftContent = zod_2.z.string().max(2000).superRefine((text, ctx) => {
78
+ const tag = (0, inGameMiniMessage_1.forbiddenMiniMessageTag)(text);
79
+ if (tag)
80
+ ctx.addIssue({ code: zod_2.z.ZodIssueCode.custom, message: `Minecraft text cannot use ${tag}. Colours, formatting, hover text and web links only.` });
81
+ });
71
82
  const ScheduledMessageCreateSchema = zod_2.z.object({
72
- channelId: zod_1.SnowFlake,
83
+ // Null only for a Minecraft-only message (sendToDiscord false).
84
+ channelId: zod_1.SnowFlake.nullable().default(null),
85
+ sendToDiscord: zod_2.z.boolean().default(true),
86
+ sendToInGame: zod_2.z.boolean().default(false),
87
+ // Blank = the Discord content converted for Minecraft.
88
+ minecraftContent: MinecraftContent.nullable().default(null).transform((v) => (v?.trim() ? v : null)),
73
89
  content: zod_2.z.string().max(2000).default(''),
74
90
  embed: ScheduledEmbedSchema.nullable().default(null).transform((e) => (e && embedHasContent(e) ? e : null)),
75
91
  buttons: zod_2.z.array(ScheduledButtonSchema).max(5).default([]),
@@ -85,12 +101,20 @@ const ScheduledMessageCreateSchema = zod_2.z.object({
85
101
  webhookEnabled: zod_2.z.boolean().default(false),
86
102
  webhookUsername: zod_2.z.string().min(1).max(80).nullable().default(null),
87
103
  webhookAvatarUrl: zod_2.z.string().url().max(2000).nullable().default(null),
88
- }).refine((d) => d.content.trim().length > 0 || !!d.embed, {
89
- message: 'A scheduled message needs content, an embed, or both.',
90
- path: ['content'],
104
+ }).superRefine((d, ctx) => {
105
+ if (!d.sendToDiscord && !d.sendToInGame)
106
+ ctx.addIssue({ code: zod_2.z.ZodIssueCode.custom, message: 'A scheduled message needs somewhere to go: Discord, Minecraft, or both.', path: ['sendToDiscord'] });
107
+ if (d.sendToDiscord && !d.channelId)
108
+ ctx.addIssue({ code: zod_2.z.ZodIssueCode.custom, message: 'Pick a channel to send it to in Discord.', path: ['channelId'] });
109
+ const hasDiscordText = d.content.trim().length > 0 || !!d.embed;
110
+ if (d.sendToDiscord ? !hasDiscordText : !(hasDiscordText || d.minecraftContent)) {
111
+ ctx.addIssue({ code: zod_2.z.ZodIssueCode.custom, message: 'A scheduled message needs content, an embed, or both.', path: ['content'] });
112
+ }
91
113
  });
92
114
  const ScheduledMessageEditSchema = zod_2.z.object({
93
115
  content: zod_2.z.string().max(2000).optional(),
116
+ sendToInGame: zod_2.z.boolean().optional(),
117
+ minecraftContent: MinecraftContent.nullable().optional().transform((v) => (v === undefined ? undefined : v?.trim() ? v : null)),
94
118
  embed: ScheduledEmbedSchema.nullable().optional().transform((e) => (e === undefined ? undefined : (e && embedHasContent(e) ? e : null))),
95
119
  buttons: zod_2.z.array(ScheduledButtonSchema).max(5).optional(),
96
120
  webhookEnabled: zod_2.z.boolean().optional(),
@@ -163,6 +163,12 @@ export declare const RoleBonusEnum: z.ZodEnum<{
163
163
  stackable: "stackable";
164
164
  highest: "highest";
165
165
  }>;
166
+ /** How a giveaway shows in Minecraft (in-game P7): not at all, announced, or announced and enterable in game. */
167
+ export declare const GiveawayInGameModeEnum: z.ZodEnum<{
168
+ off: "off";
169
+ announce: "announce";
170
+ enter: "enter";
171
+ }>;
166
172
  export declare const UserNotificationSeverityEnum: z.ZodEnum<{
167
173
  info: "info";
168
174
  warning: "warning";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ScheduledMessageTriggerEnum = exports.ScheduledMessageRecurrenceEnum = exports.GameRobloxKindEnum = exports.NotificationDeliveryEnum = exports.GameDeliveryEnum = exports.GameFlagEnum = exports.GameKindEnum = exports.GameStoreEnum = exports.UserNotificationSeverityEnum = exports.RoleBonusEnum = exports.MediaShareCommandsEnum = exports.MediaShareTypesEnum = exports.FilterEnum = exports.StreamRoleSourceEnum = exports.QueryInEnum = exports.RumbleTypeEnum = exports.PlatformsWithVideosEnum = exports.UserMediaSharePermissionsEnum = exports.ClipperCategoryEnum = exports.ClipForwardPlatformEnum = exports.PlatformEnum = exports.OverrideTypeEnum = exports.OverridesEnum = exports.GuildSingleMessageTypeEnum = exports.GuildMessageTypeEnum = exports.StreamerMessageTypeEnum = exports.SingleMessageTypeEnum = exports.LeaderBoardTypesEnum = void 0;
3
+ exports.ScheduledMessageTriggerEnum = exports.ScheduledMessageRecurrenceEnum = exports.GameRobloxKindEnum = exports.NotificationDeliveryEnum = exports.GameDeliveryEnum = exports.GameFlagEnum = exports.GameKindEnum = exports.GameStoreEnum = exports.UserNotificationSeverityEnum = exports.GiveawayInGameModeEnum = exports.RoleBonusEnum = exports.MediaShareCommandsEnum = exports.MediaShareTypesEnum = exports.FilterEnum = exports.StreamRoleSourceEnum = exports.QueryInEnum = exports.RumbleTypeEnum = exports.PlatformsWithVideosEnum = exports.UserMediaSharePermissionsEnum = exports.ClipperCategoryEnum = exports.ClipForwardPlatformEnum = exports.PlatformEnum = exports.OverrideTypeEnum = exports.OverridesEnum = exports.GuildSingleMessageTypeEnum = exports.GuildMessageTypeEnum = exports.StreamerMessageTypeEnum = exports.SingleMessageTypeEnum = exports.LeaderBoardTypesEnum = void 0;
4
4
  exports.deepPartialify = deepPartialify;
5
5
  const zod_1 = require("zod");
6
6
  function deepPartialify(schema) {
@@ -217,6 +217,12 @@ exports.RoleBonusEnum = zod_1.z.enum([
217
217
  'stackable',
218
218
  'highest',
219
219
  ]);
220
+ /** How a giveaway shows in Minecraft (in-game P7): not at all, announced, or announced and enterable in game. */
221
+ exports.GiveawayInGameModeEnum = zod_1.z.enum([
222
+ 'off',
223
+ 'announce',
224
+ 'enter',
225
+ ]);
220
226
  exports.UserNotificationSeverityEnum = zod_1.z.enum([
221
227
  'info',
222
228
  'warning',
@@ -12,6 +12,21 @@ export declare const TiktokStreamerZod: {
12
12
  sendOfflineMessage: z.ZodNullable<z.ZodBoolean>;
13
13
  usePerStreamerEmbeds: z.ZodNullable<z.ZodBoolean>;
14
14
  autoPublishIfAnnouncmentChannel: z.ZodNullable<z.ZodBoolean>;
15
+ extraDestinations: z.ZodNullable<z.ZodArray<z.ZodObject<{
16
+ channelId: z.ZodString;
17
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
18
+ types: z.ZodArray<z.ZodEnum<{
19
+ live: "live";
20
+ video: "video";
21
+ }>>;
22
+ }, z.core.$strip>>>;
23
+ inGame: z.ZodBoolean;
24
+ inGameTypes: z.ZodArray<z.ZodEnum<{
25
+ live: "live";
26
+ video: "video";
27
+ offline: "offline";
28
+ }>>;
29
+ inGameServerIds: z.ZodArray<z.ZodString>;
15
30
  customMessages: z.ZodArray<z.ZodLazy<z.ZodObject<{
16
31
  content: z.ZodNullable<z.ZodString>;
17
32
  showInviteButton: z.ZodNullable<z.ZodBoolean>;
@@ -84,6 +99,11 @@ export declare const TiktokStreamerZod: {
84
99
  correct: z.ZodNullable<z.ZodBoolean>;
85
100
  channelId: z.ZodNullable<z.ZodString>;
86
101
  messageId: z.ZodNullable<z.ZodString>;
102
+ extraPosts: z.ZodNullable<z.ZodArray<z.ZodObject<{
103
+ channelId: z.ZodString;
104
+ messageId: z.ZodString;
105
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
106
+ }, z.core.$strip>>>;
87
107
  }, z.core.$strip>>>;
88
108
  lastLive: z.ZodNullable<z.ZodDate>;
89
109
  lastVideo: z.ZodNullable<z.ZodDate>;
@@ -150,6 +170,11 @@ export declare const TiktokStreamerZod: {
150
170
  correct: z.ZodNullable<z.ZodBoolean>;
151
171
  channelId: z.ZodNullable<z.ZodString>;
152
172
  messageId: z.ZodNullable<z.ZodString>;
173
+ extraPosts: z.ZodNullable<z.ZodArray<z.ZodObject<{
174
+ channelId: z.ZodString;
175
+ messageId: z.ZodString;
176
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
177
+ }, z.core.$strip>>>;
153
178
  }, z.core.$strip>;
154
179
  };
155
180
  export declare const TiktokStreamerZodPartial: PartialZodObject<typeof TiktokStreamerZod>;
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TiktokStreamerZodPartial = exports.TiktokStreamerZod = void 0;
4
4
  const schema_zod_1 = require("./schema.zod");
5
+ const multiDestination_1 = require("../multiDestination");
6
+ const inGameAlerts_1 = require("../inGameAlerts");
5
7
  const zod_1 = require("./zod");
6
8
  const offlineGrace_1 = require("../offlineGrace");
7
9
  const zod_2 = require("zod");
@@ -12,6 +14,14 @@ const TiktokStreamerSchema = zod_2.z.object({
12
14
  sendOfflineMessage: zod_2.z.boolean().nullable(),
13
15
  usePerStreamerEmbeds: zod_2.z.boolean().nullable(),
14
16
  autoPublishIfAnnouncmentChannel: zod_2.z.boolean().nullable(),
17
+ /** Premium Plus (`MultiDestination`): up to 2 extra channels, each with its own ping role and post types. */
18
+ extraDestinations: zod_1.CentralZod.ExtraDestinations(multiDestination_1.DESTINATION_TYPES.tiktok).nullable(),
19
+ /** Minecraft (`inGame` launch flag): show this creator's notifications on connected game servers. Off by default. */
20
+ inGame: zod_2.z.boolean(),
21
+ /** Which notifications show in Minecraft; empty = every type in `IN_GAME_TYPES.tiktok`. */
22
+ inGameTypes: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.enum(inGameAlerts_1.IN_GAME_TYPES.tiktok))),
23
+ /** Which connected servers (InGameServer.id); empty = every active one. Max 10. */
24
+ inGameServerIds: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.string().uuid())).max(inGameAlerts_1.MAX_IN_GAME_SERVER_PICKS),
15
25
  customMessages: zod_2.z.array(zod_2.z.lazy(() => TTSCustomMessageSchema)),
16
26
  liveNotificationChannelId: zod_1.SnowFlake.nullable(),
17
27
  videoNotificationChannelId: zod_1.SnowFlake.nullable(),
@@ -42,6 +52,7 @@ const TTSCurrentlyLiveSchema = zod_2.z.object({
42
52
  correct: zod_2.z.boolean().nullable(),
43
53
  channelId: zod_1.SnowFlake.nullable(),
44
54
  messageId: zod_1.SnowFlake.nullable(),
55
+ extraPosts: zod_1.CentralZod.ExtraPosts().nullable(),
45
56
  });
46
57
  exports.TiktokStreamerZod = {
47
58
  TiktokStreamerSchema,
@@ -15,6 +15,19 @@ export declare const TwitchStreamerZod: {
15
15
  usePerStreamerEmbeds: z.ZodNullable<z.ZodBoolean>;
16
16
  autoPublishIfAnnouncmentChannel: z.ZodNullable<z.ZodBoolean>;
17
17
  updateLivePost: z.ZodNullable<z.ZodBoolean>;
18
+ extraDestinations: z.ZodNullable<z.ZodArray<z.ZodObject<{
19
+ channelId: z.ZodString;
20
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
21
+ types: z.ZodArray<z.ZodEnum<{
22
+ live: "live";
23
+ }>>;
24
+ }, z.core.$strip>>>;
25
+ inGame: z.ZodBoolean;
26
+ inGameTypes: z.ZodArray<z.ZodEnum<{
27
+ live: "live";
28
+ offline: "offline";
29
+ }>>;
30
+ inGameServerIds: z.ZodArray<z.ZodString>;
18
31
  customMessages: z.ZodArray<z.ZodLazy<z.ZodObject<{
19
32
  content: z.ZodNullable<z.ZodString>;
20
33
  showInviteButton: z.ZodNullable<z.ZodBoolean>;
@@ -85,6 +98,11 @@ export declare const TwitchStreamerZod: {
85
98
  correct: z.ZodNullable<z.ZodBoolean>;
86
99
  channelId: z.ZodNullable<z.ZodString>;
87
100
  messageId: z.ZodNullable<z.ZodString>;
101
+ extraPosts: z.ZodNullable<z.ZodArray<z.ZodObject<{
102
+ channelId: z.ZodString;
103
+ messageId: z.ZodString;
104
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
105
+ }, z.core.$strip>>>;
88
106
  }, z.core.$strip>>>;
89
107
  lastLive: z.ZodNullable<z.ZodDate>;
90
108
  }, z.core.$strip>;
@@ -150,6 +168,11 @@ export declare const TwitchStreamerZod: {
150
168
  correct: z.ZodNullable<z.ZodBoolean>;
151
169
  channelId: z.ZodNullable<z.ZodString>;
152
170
  messageId: z.ZodNullable<z.ZodString>;
171
+ extraPosts: z.ZodNullable<z.ZodArray<z.ZodObject<{
172
+ channelId: z.ZodString;
173
+ messageId: z.ZodString;
174
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
175
+ }, z.core.$strip>>>;
153
176
  }, z.core.$strip>;
154
177
  };
155
178
  export declare const TwitchStreamerZodPartial: PartialZodObject<typeof TwitchStreamerZod>;
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TwitchStreamerZodPartial = exports.TwitchStreamerZod = void 0;
4
4
  const schema_zod_1 = require("./schema.zod");
5
+ const multiDestination_1 = require("../multiDestination");
6
+ const inGameAlerts_1 = require("../inGameAlerts");
5
7
  const zod_1 = require("./zod");
6
8
  const offlineGrace_1 = require("../offlineGrace");
7
9
  const zod_2 = require("zod");
@@ -20,6 +22,14 @@ const TwitchStreamerSchema = zod_2.z.object({
20
22
  * this on save and never edits.
21
23
  */
22
24
  updateLivePost: zod_2.z.boolean().nullable(),
25
+ /** Premium Plus (`MultiDestination`): up to 2 extra channels, each with its own ping role and post types. */
26
+ extraDestinations: zod_1.CentralZod.ExtraDestinations(multiDestination_1.DESTINATION_TYPES.twitch).nullable(),
27
+ /** Minecraft (`inGame` launch flag): show this creator's notifications on connected game servers. Off by default. */
28
+ inGame: zod_2.z.boolean(),
29
+ /** Which notifications show in Minecraft; empty = every type in `IN_GAME_TYPES.twitch`. */
30
+ inGameTypes: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.enum(inGameAlerts_1.IN_GAME_TYPES.twitch))),
31
+ /** Which connected servers (InGameServer.id); empty = every active one. Max 10. */
32
+ inGameServerIds: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.string().uuid())).max(inGameAlerts_1.MAX_IN_GAME_SERVER_PICKS),
23
33
  customMessages: zod_2.z.array(zod_2.z.lazy(() => TSCustomMessageSchema)),
24
34
  notificationChannelId: zod_1.SnowFlake.nullable(),
25
35
  showNotifyButton: zod_2.z.boolean().nullable(),
@@ -46,6 +56,7 @@ const TSCurrentlyLiveSchema = zod_2.z.object({
46
56
  correct: zod_2.z.boolean().nullable(),
47
57
  channelId: zod_1.SnowFlake.nullable(),
48
58
  messageId: zod_1.SnowFlake.nullable(),
59
+ extraPosts: zod_1.CentralZod.ExtraPosts().nullable(),
49
60
  });
50
61
  exports.TwitchStreamerZod = {
51
62
  TwitchStreamerSchema,
@@ -11,6 +11,21 @@ export declare const TwitterStreamerZod: {
11
11
  streamerId: z.ZodNullable<z.ZodString>;
12
12
  usePerStreamerEmbeds: z.ZodNullable<z.ZodBoolean>;
13
13
  autoPublishIfAnnouncmentChannel: z.ZodNullable<z.ZodBoolean>;
14
+ extraDestinations: z.ZodNullable<z.ZodArray<z.ZodObject<{
15
+ channelId: z.ZodString;
16
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
17
+ types: z.ZodArray<z.ZodEnum<{
18
+ live: "live";
19
+ post: "post";
20
+ }>>;
21
+ }, z.core.$strip>>>;
22
+ inGame: z.ZodBoolean;
23
+ inGameTypes: z.ZodArray<z.ZodEnum<{
24
+ live: "live";
25
+ post: "post";
26
+ offline: "offline";
27
+ }>>;
28
+ inGameServerIds: z.ZodArray<z.ZodString>;
14
29
  customMessages: z.ZodArray<z.ZodLazy<z.ZodObject<{
15
30
  content: z.ZodNullable<z.ZodString>;
16
31
  showInviteButton: z.ZodNullable<z.ZodBoolean>;
@@ -89,6 +104,11 @@ export declare const TwitterStreamerZod: {
89
104
  correct: z.ZodNullable<z.ZodBoolean>;
90
105
  channelId: z.ZodNullable<z.ZodString>;
91
106
  messageId: z.ZodNullable<z.ZodString>;
107
+ extraPosts: z.ZodNullable<z.ZodArray<z.ZodObject<{
108
+ channelId: z.ZodString;
109
+ messageId: z.ZodString;
110
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
111
+ }, z.core.$strip>>>;
92
112
  }, z.core.$strip>>>;
93
113
  currentBroadcastId: z.ZodNullable<z.ZodString>;
94
114
  lastLive: z.ZodNullable<z.ZodDate>;
@@ -155,6 +175,11 @@ export declare const TwitterStreamerZod: {
155
175
  correct: z.ZodNullable<z.ZodBoolean>;
156
176
  channelId: z.ZodNullable<z.ZodString>;
157
177
  messageId: z.ZodNullable<z.ZodString>;
178
+ extraPosts: z.ZodNullable<z.ZodArray<z.ZodObject<{
179
+ channelId: z.ZodString;
180
+ messageId: z.ZodString;
181
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
182
+ }, z.core.$strip>>>;
158
183
  }, z.core.$strip>;
159
184
  };
160
185
  export declare const TwitterStreamerZodPartial: PartialZodObject<typeof TwitterStreamerZod>;
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TwitterStreamerZodPartial = exports.TwitterStreamerZod = void 0;
4
4
  const schema_zod_1 = require("./schema.zod");
5
+ const multiDestination_1 = require("../multiDestination");
6
+ const inGameAlerts_1 = require("../inGameAlerts");
5
7
  const zod_1 = require("./zod");
6
8
  const offlineGrace_1 = require("../offlineGrace");
7
9
  const zod_2 = require("zod");
@@ -12,6 +14,14 @@ const TwitterStreamerSchema = zod_2.z.object({
12
14
  streamerId: zod_2.z.string().nullable(),
13
15
  usePerStreamerEmbeds: zod_2.z.boolean().nullable(),
14
16
  autoPublishIfAnnouncmentChannel: zod_2.z.boolean().nullable(),
17
+ /** Premium Plus (`MultiDestination`): up to 2 extra channels, each with its own ping role and post types. */
18
+ extraDestinations: zod_1.CentralZod.ExtraDestinations(multiDestination_1.DESTINATION_TYPES.twitter).nullable(),
19
+ /** Minecraft (`inGame` launch flag): show this creator's notifications on connected game servers. Off by default. */
20
+ inGame: zod_2.z.boolean(),
21
+ /** Which notifications show in Minecraft; empty = every type in `IN_GAME_TYPES.twitter`. */
22
+ inGameTypes: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.enum(inGameAlerts_1.IN_GAME_TYPES.twitter))),
23
+ /** Which connected servers (InGameServer.id); empty = every active one. Max 10. */
24
+ inGameServerIds: (0, zod_1.NoDuplicate)(zod_2.z.array(zod_2.z.string().uuid())).max(inGameAlerts_1.MAX_IN_GAME_SERVER_PICKS),
15
25
  customMessages: zod_2.z.array(zod_2.z.lazy(() => TWSCustomMessageSchema)),
16
26
  // POSTS - free tier. Own channel and own ping role.
17
27
  postNotificationChannelId: zod_1.SnowFlake.nullable(),
@@ -54,6 +64,7 @@ const TWSCurrentlyLiveSchema = zod_2.z.object({
54
64
  correct: zod_2.z.boolean().nullable(),
55
65
  channelId: zod_1.SnowFlake.nullable(),
56
66
  messageId: zod_1.SnowFlake.nullable(),
67
+ extraPosts: zod_1.CentralZod.ExtraPosts().nullable(),
57
68
  });
58
69
  exports.TwitterStreamerZod = {
59
70
  TwitterStreamerSchema,
@@ -13,6 +13,22 @@ export declare const YoutubeStreamerZod: {
13
13
  sendOfflineMessage: z.ZodNullable<z.ZodBoolean>;
14
14
  usePerStreamerEmbeds: z.ZodNullable<z.ZodBoolean>;
15
15
  autoPublishIfAnnouncmentChannel: z.ZodNullable<z.ZodBoolean>;
16
+ extraDestinations: z.ZodNullable<z.ZodArray<z.ZodObject<{
17
+ channelId: z.ZodString;
18
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
19
+ types: z.ZodArray<z.ZodEnum<{
20
+ live: "live";
21
+ video: "video";
22
+ replay: "replay";
23
+ }>>;
24
+ }, z.core.$strip>>>;
25
+ inGame: z.ZodBoolean;
26
+ inGameTypes: z.ZodArray<z.ZodEnum<{
27
+ live: "live";
28
+ video: "video";
29
+ replay: "replay";
30
+ }>>;
31
+ inGameServerIds: z.ZodArray<z.ZodString>;
16
32
  customMessages: z.ZodArray<z.ZodLazy<z.ZodObject<{
17
33
  content: z.ZodNullable<z.ZodString>;
18
34
  showInviteButton: z.ZodNullable<z.ZodBoolean>;
@@ -87,6 +103,11 @@ export declare const YoutubeStreamerZod: {
87
103
  correct: z.ZodNullable<z.ZodBoolean>;
88
104
  channelId: z.ZodNullable<z.ZodString>;
89
105
  messageId: z.ZodNullable<z.ZodString>;
106
+ extraPosts: z.ZodNullable<z.ZodArray<z.ZodObject<{
107
+ channelId: z.ZodString;
108
+ messageId: z.ZodString;
109
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
110
+ }, z.core.$strip>>>;
90
111
  }, z.core.$strip>>>;
91
112
  lastLive: z.ZodNullable<z.ZodDate>;
92
113
  lastVideo: z.ZodNullable<z.ZodDate>;
@@ -154,6 +175,11 @@ export declare const YoutubeStreamerZod: {
154
175
  correct: z.ZodNullable<z.ZodBoolean>;
155
176
  channelId: z.ZodNullable<z.ZodString>;
156
177
  messageId: z.ZodNullable<z.ZodString>;
178
+ extraPosts: z.ZodNullable<z.ZodArray<z.ZodObject<{
179
+ channelId: z.ZodString;
180
+ messageId: z.ZodString;
181
+ pingRoleId: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"everyone">, z.ZodLiteral<"here">]>>;
182
+ }, z.core.$strip>>>;
157
183
  }, z.core.$strip>;
158
184
  };
159
185
  export declare const YoutubeStreamerZodPartial: PartialZodObject<typeof YoutubeStreamerZod>;