@notidotbot/noti-api-client 1.9.72 → 1.9.73

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.
@@ -8,7 +8,10 @@ import { WebDataManager } from '../core/manager';
8
8
  * both when either changes - a platform missing here is one the dashboard cannot configure.
9
9
  */
10
10
  export type StatChannelPlatform = 'kick' | 'twitch' | 'youtube' | 'tiktok' | 'rumble' | 'whatnot' | 'twitter';
11
- /** Only Kick has a follower counter. Every other model has `isLive` alone. */
11
+ /**
12
+ * `followers` exists on Kick (followers) and YouTube (SUBSCRIBERS, since 1.9.73 - same kind, shown to users as
13
+ * subscribers). Every other model has `isLive` alone.
14
+ */
12
15
  export type StatChannelKind = 'isLive' | 'followers';
13
16
  /**
14
17
  * What `createStatChannels` accepts, which is NOT `StatChannelKind`.
@@ -33,8 +36,8 @@ export type StatChannelFormatKind = 'live' | 'offline' | 'followers';
33
36
  * identical name for both. An entry here overrides that for one platform; a platform with no entry
34
37
  * falls back to the guild-wide template, which falls back to the bot's default.
35
38
  *
36
- * `followers` is Kick-only - it is the only platform with a follower counter at all, and the API
37
- * refuses the key elsewhere rather than storing something no channel could use.
39
+ * `followers` is Kick and YouTube only (YouTube's is the subscriber counter) - the API refuses the key
40
+ * elsewhere rather than storing something no channel could use.
38
41
  */
39
42
  export type StatChannelFormats = Partial<Record<StatChannelPlatform, Partial<Record<StatChannelFormatKind, string>>>>;
40
43
  /**
@@ -95,6 +98,14 @@ export type StatChannelsData = {
95
98
  * Absent on an API older than 1.9.40, so treat `undefined` as "Kick only".
96
99
  */
97
100
  canCreate?: StatChannelPlatform[];
101
+ /**
102
+ * Which counter kinds each `canCreate` platform can create. Narrower than `canCreate` alone says:
103
+ * **YouTube is in `canCreate` for a subscriber counter only** - create it with `types: ['followers']`;
104
+ * `liveUpdates` is refused, because YouTube has no positive offline signal.
105
+ *
106
+ * Absent on an API older than 1.9.73, where YouTube was not creatable at all.
107
+ */
108
+ createKinds?: Partial<Record<StatChannelPlatform, StatChannelKind[]>>;
98
109
  /**
99
110
  * The per-platform name formats currently stored, so an editor can render them without a second
100
111
  * call. `{}` when nothing is overridden - never null.
@@ -214,9 +225,10 @@ export declare class APIGuildStatChannels {
214
225
  * live state, and the platforms that support that are narrower than the ones that can hold a
215
226
  * counter - a platform outside that list is a 400, not a silent no-op.
216
227
  *
217
- * `followers` is Kick-only; asking for it anywhere else is a 400 naming the platform. 404 when the
218
- * creator is not tracked in this guild, 400 when the live or follower read failed, in which case
219
- * nothing was created.
228
+ * `followers` is Kick (followers) and YouTube (subscribers); YouTube accepts ONLY `followers` - see
229
+ * `createKinds`. Asking for an unsupported kind is a 400 naming the platform. 404 when the creator is
230
+ * not tracked in this guild, 400 when the live, follower or subscriber read failed (nothing was
231
+ * created), and 400 when a YouTube channel hides its subscriber count.
220
232
  */
221
233
  createStatChannels({ auth, guildId, platform, username, types }: GuildStatChannelsFunctionsInput['createStatChannels']): Promise<WebResponse<CreatedStatChannels>>;
222
234
  /**
@@ -48,9 +48,10 @@ class APIGuildStatChannels {
48
48
  * live state, and the platforms that support that are narrower than the ones that can hold a
49
49
  * counter - a platform outside that list is a 400, not a silent no-op.
50
50
  *
51
- * `followers` is Kick-only; asking for it anywhere else is a 400 naming the platform. 404 when the
52
- * creator is not tracked in this guild, 400 when the live or follower read failed, in which case
53
- * nothing was created.
51
+ * `followers` is Kick (followers) and YouTube (subscribers); YouTube accepts ONLY `followers` - see
52
+ * `createKinds`. Asking for an unsupported kind is a 400 naming the platform. 404 when the creator is
53
+ * not tracked in this guild, 400 when the live, follower or subscriber read failed (nothing was
54
+ * created), and 400 when a YouTube channel hides its subscriber count.
54
55
  */
55
56
  async createStatChannels({ auth, guildId, platform, username, types }) {
56
57
  return await this.web.request({
@@ -128,6 +128,7 @@ export declare const GuildFeatures: {
128
128
  InfluencerPanelPlus: bigint;
129
129
  StatusRoleKeepOnOffline: bigint;
130
130
  YouTubeReplayChannel: bigint;
131
+ LivePostUpdates: bigint;
131
132
  };
132
133
  export declare const GuildFeaturesText: Record<keyof typeof GuildFeatures, string>;
133
134
  export declare const UserFeatures: {
@@ -243,8 +244,9 @@ export declare class GuildFeaturesManager extends BitFieldManager<typeof GuildFe
243
244
  InfluencerPanelPlus: bigint;
244
245
  StatusRoleKeepOnOffline: bigint;
245
246
  YouTubeReplayChannel: bigint;
247
+ LivePostUpdates: bigint;
246
248
  };
247
- t: Record<"StickyMessages" | "LinkedRoles" | "StatusRoles" | "Starboards" | "KickClips" | "StatCounters" | "BaseSyncableRoles" | "FullSyncableRoles" | "LiveRole" | "VoteSkipping" | "KickAuditLogs" | "LeaderboardCommand" | "RefreshingLeaderboard" | "LeaderBoardSyncRoles" | "BetaAccess" | "PriorityNotifications" | "KickNotifications" | "TwitchNotifications" | "ImportEmojis" | "ImportEmojisWithSub" | "CustomWebhooks" | "AnyMessageEditor" | "SyncSocialUsernames" | "AutoDeleteNotifications" | "TestNotificationCommand" | "CustomCooldowns" | "WelcomeAndLeaveNotifications" | "NotificationPingRoleId" | "SwitchStreamerAndGuildEmbeds" | "BirthdayNotifications" | "AllowNotSendingOfflineNotifications" | "AutoStatusLiveRoles" | "RumbleNotifications" | "AllowAutoPublishNotifications" | "NotificationOverrides" | "UseCustomButtons" | "AllowVodFeatures" | "TikTokNotifications" | "ManageBranding" | "CustomStarboards" | "AutoThreadOnStarboard" | "StarboardRewardRole" | "Giveaways" | "GiveawayLogs" | "ModifyGiveawayWhileRunning" | "ScheduleGiveaways" | "GiveawayRequirements" | "GiveawayBonusEntries" | "GiveawayEntryLimit" | "DisableDoubleVoteEntry" | "YouTubeNotifications" | "RandomMessages" | "WeeklyBirthdayPanel" | "GameNotifications" | "GameCategoryRouting" | "GameAllTimeLowAlerts" | "GameChangelogs" | "GameRobloxTracking" | "FixUrlWebhook" | "FixUrlCustomRules" | "KickClipperSubscribe" | "WhatnotNotifications" | "ScheduledEventMessages" | "ScheduledMessageWebhooks" | "ReactionRoles" | "AdvancedRolePanels" | "KickClipForwarding" | "TwitchClipForwarding" | "ClubNotifications" | "RolePanelWebhooks" | "Fishing" | "FishingCustomization" | "FishingWebhooks" | "StreamRoles" | "RoleFilters" | "TwitterNotifications" | "TwitterLiveNotifications" | "BadgeAllGames" | "AutoRoles" | "AutoRoleTimers" | "AutoRoleInvites" | "StickyMessageRoleFilters" | "GiveawayClaims" | "GiveawayWinnerRole" | "InfluencerPanel" | "InfluencerPanelPremium" | "InfluencerPanelPlus" | "StatusRoleKeepOnOffline" | "YouTubeReplayChannel", string>;
249
+ t: Record<"StickyMessages" | "LinkedRoles" | "StatusRoles" | "Starboards" | "KickClips" | "StatCounters" | "BaseSyncableRoles" | "FullSyncableRoles" | "LiveRole" | "VoteSkipping" | "KickAuditLogs" | "LeaderboardCommand" | "RefreshingLeaderboard" | "LeaderBoardSyncRoles" | "BetaAccess" | "PriorityNotifications" | "KickNotifications" | "TwitchNotifications" | "ImportEmojis" | "ImportEmojisWithSub" | "CustomWebhooks" | "AnyMessageEditor" | "SyncSocialUsernames" | "AutoDeleteNotifications" | "TestNotificationCommand" | "CustomCooldowns" | "WelcomeAndLeaveNotifications" | "NotificationPingRoleId" | "SwitchStreamerAndGuildEmbeds" | "BirthdayNotifications" | "AllowNotSendingOfflineNotifications" | "AutoStatusLiveRoles" | "RumbleNotifications" | "AllowAutoPublishNotifications" | "NotificationOverrides" | "UseCustomButtons" | "AllowVodFeatures" | "TikTokNotifications" | "ManageBranding" | "CustomStarboards" | "AutoThreadOnStarboard" | "StarboardRewardRole" | "Giveaways" | "GiveawayLogs" | "ModifyGiveawayWhileRunning" | "ScheduleGiveaways" | "GiveawayRequirements" | "GiveawayBonusEntries" | "GiveawayEntryLimit" | "DisableDoubleVoteEntry" | "YouTubeNotifications" | "RandomMessages" | "WeeklyBirthdayPanel" | "GameNotifications" | "GameCategoryRouting" | "GameAllTimeLowAlerts" | "GameChangelogs" | "GameRobloxTracking" | "FixUrlWebhook" | "FixUrlCustomRules" | "KickClipperSubscribe" | "WhatnotNotifications" | "ScheduledEventMessages" | "ScheduledMessageWebhooks" | "ReactionRoles" | "AdvancedRolePanels" | "KickClipForwarding" | "TwitchClipForwarding" | "ClubNotifications" | "RolePanelWebhooks" | "Fishing" | "FishingCustomization" | "FishingWebhooks" | "StreamRoles" | "RoleFilters" | "TwitterNotifications" | "TwitterLiveNotifications" | "BadgeAllGames" | "AutoRoles" | "AutoRoleTimers" | "AutoRoleInvites" | "StickyMessageRoleFilters" | "GiveawayClaims" | "GiveawayWinnerRole" | "InfluencerPanel" | "InfluencerPanelPremium" | "InfluencerPanelPlus" | "StatusRoleKeepOnOffline" | "YouTubeReplayChannel" | "LivePostUpdates", string>;
248
250
  all: bigint;
249
251
  static b: {
250
252
  BaseSyncableRoles: bigint;
@@ -336,8 +338,9 @@ export declare class GuildFeaturesManager extends BitFieldManager<typeof GuildFe
336
338
  InfluencerPanelPlus: bigint;
337
339
  StatusRoleKeepOnOffline: bigint;
338
340
  YouTubeReplayChannel: bigint;
341
+ LivePostUpdates: bigint;
339
342
  };
340
- static t: Record<"StickyMessages" | "LinkedRoles" | "StatusRoles" | "Starboards" | "KickClips" | "StatCounters" | "BaseSyncableRoles" | "FullSyncableRoles" | "LiveRole" | "VoteSkipping" | "KickAuditLogs" | "LeaderboardCommand" | "RefreshingLeaderboard" | "LeaderBoardSyncRoles" | "BetaAccess" | "PriorityNotifications" | "KickNotifications" | "TwitchNotifications" | "ImportEmojis" | "ImportEmojisWithSub" | "CustomWebhooks" | "AnyMessageEditor" | "SyncSocialUsernames" | "AutoDeleteNotifications" | "TestNotificationCommand" | "CustomCooldowns" | "WelcomeAndLeaveNotifications" | "NotificationPingRoleId" | "SwitchStreamerAndGuildEmbeds" | "BirthdayNotifications" | "AllowNotSendingOfflineNotifications" | "AutoStatusLiveRoles" | "RumbleNotifications" | "AllowAutoPublishNotifications" | "NotificationOverrides" | "UseCustomButtons" | "AllowVodFeatures" | "TikTokNotifications" | "ManageBranding" | "CustomStarboards" | "AutoThreadOnStarboard" | "StarboardRewardRole" | "Giveaways" | "GiveawayLogs" | "ModifyGiveawayWhileRunning" | "ScheduleGiveaways" | "GiveawayRequirements" | "GiveawayBonusEntries" | "GiveawayEntryLimit" | "DisableDoubleVoteEntry" | "YouTubeNotifications" | "RandomMessages" | "WeeklyBirthdayPanel" | "GameNotifications" | "GameCategoryRouting" | "GameAllTimeLowAlerts" | "GameChangelogs" | "GameRobloxTracking" | "FixUrlWebhook" | "FixUrlCustomRules" | "KickClipperSubscribe" | "WhatnotNotifications" | "ScheduledEventMessages" | "ScheduledMessageWebhooks" | "ReactionRoles" | "AdvancedRolePanels" | "KickClipForwarding" | "TwitchClipForwarding" | "ClubNotifications" | "RolePanelWebhooks" | "Fishing" | "FishingCustomization" | "FishingWebhooks" | "StreamRoles" | "RoleFilters" | "TwitterNotifications" | "TwitterLiveNotifications" | "BadgeAllGames" | "AutoRoles" | "AutoRoleTimers" | "AutoRoleInvites" | "StickyMessageRoleFilters" | "GiveawayClaims" | "GiveawayWinnerRole" | "InfluencerPanel" | "InfluencerPanelPremium" | "InfluencerPanelPlus" | "StatusRoleKeepOnOffline" | "YouTubeReplayChannel", string>;
343
+ static t: Record<"StickyMessages" | "LinkedRoles" | "StatusRoles" | "Starboards" | "KickClips" | "StatCounters" | "BaseSyncableRoles" | "FullSyncableRoles" | "LiveRole" | "VoteSkipping" | "KickAuditLogs" | "LeaderboardCommand" | "RefreshingLeaderboard" | "LeaderBoardSyncRoles" | "BetaAccess" | "PriorityNotifications" | "KickNotifications" | "TwitchNotifications" | "ImportEmojis" | "ImportEmojisWithSub" | "CustomWebhooks" | "AnyMessageEditor" | "SyncSocialUsernames" | "AutoDeleteNotifications" | "TestNotificationCommand" | "CustomCooldowns" | "WelcomeAndLeaveNotifications" | "NotificationPingRoleId" | "SwitchStreamerAndGuildEmbeds" | "BirthdayNotifications" | "AllowNotSendingOfflineNotifications" | "AutoStatusLiveRoles" | "RumbleNotifications" | "AllowAutoPublishNotifications" | "NotificationOverrides" | "UseCustomButtons" | "AllowVodFeatures" | "TikTokNotifications" | "ManageBranding" | "CustomStarboards" | "AutoThreadOnStarboard" | "StarboardRewardRole" | "Giveaways" | "GiveawayLogs" | "ModifyGiveawayWhileRunning" | "ScheduleGiveaways" | "GiveawayRequirements" | "GiveawayBonusEntries" | "GiveawayEntryLimit" | "DisableDoubleVoteEntry" | "YouTubeNotifications" | "RandomMessages" | "WeeklyBirthdayPanel" | "GameNotifications" | "GameCategoryRouting" | "GameAllTimeLowAlerts" | "GameChangelogs" | "GameRobloxTracking" | "FixUrlWebhook" | "FixUrlCustomRules" | "KickClipperSubscribe" | "WhatnotNotifications" | "ScheduledEventMessages" | "ScheduledMessageWebhooks" | "ReactionRoles" | "AdvancedRolePanels" | "KickClipForwarding" | "TwitchClipForwarding" | "ClubNotifications" | "RolePanelWebhooks" | "Fishing" | "FishingCustomization" | "FishingWebhooks" | "StreamRoles" | "RoleFilters" | "TwitterNotifications" | "TwitterLiveNotifications" | "BadgeAllGames" | "AutoRoles" | "AutoRoleTimers" | "AutoRoleInvites" | "StickyMessageRoleFilters" | "GiveawayClaims" | "GiveawayWinnerRole" | "InfluencerPanel" | "InfluencerPanelPremium" | "InfluencerPanelPlus" | "StatusRoleKeepOnOffline" | "YouTubeReplayChannel" | "LivePostUpdates", string>;
341
344
  static all: bigint;
342
345
  convertBitToField<T extends EnumValues<typeof GuildFeatures>>(bit: T): string | null;
343
346
  }
@@ -373,7 +376,7 @@ export declare class UserFlagsManager extends BitFieldManager<typeof UserFlags,
373
376
  Beta: bigint;
374
377
  Owner: bigint;
375
378
  };
376
- t: Record<"Partner" | "Premium" | "Staff" | "Developer" | "Beta" | "Owner", string>;
379
+ t: Record<"Premium" | "Partner" | "Staff" | "Developer" | "Beta" | "Owner", string>;
377
380
  all: bigint;
378
381
  static b: {
379
382
  Partner: bigint;
@@ -383,7 +386,7 @@ export declare class UserFlagsManager extends BitFieldManager<typeof UserFlags,
383
386
  Beta: bigint;
384
387
  Owner: bigint;
385
388
  };
386
- static t: Record<"Partner" | "Premium" | "Staff" | "Developer" | "Beta" | "Owner", string>;
389
+ static t: Record<"Premium" | "Partner" | "Staff" | "Developer" | "Beta" | "Owner", string>;
387
390
  static all: bigint;
388
391
  convertBitToField<T extends EnumValues<typeof UserFlags>>(bit: T): string | null;
389
392
  }
@@ -233,6 +233,8 @@ exports.GuildFeatures = {
233
233
  // YouTube replays in their own channel. Replays are free and post in the upload channel; a dedicated
234
234
  // replay channel is Premium Plus.
235
235
  YouTubeReplayChannel: 1n << 89n,
236
+ // Live post updates: edit the live post when the streamer changes their title or category. Premium Plus.
237
+ LivePostUpdates: 1n << 90n,
236
238
  };
237
239
  exports.GuildFeaturesText = {
238
240
  BaseSyncableRoles: 'Basic Syncable Roles',
@@ -326,6 +328,7 @@ exports.GuildFeaturesText = {
326
328
  InfluencerPanelPlus: 'Influencer Panel: Premium Plus',
327
329
  StatusRoleKeepOnOffline: 'Status Roles: Remove When Offline',
328
330
  YouTubeReplayChannel: 'YouTube: Replay Channel',
331
+ LivePostUpdates: 'Live Post Updates',
329
332
  };
330
333
  exports.UserFeatures = {
331
334
  HasOneServerPremium: 1n << 0n,
@@ -1,4 +1,4 @@
1
- export declare const FEATURE_NAMES: readonly ["freeGames", "gameChangelogs", "robloxNotifications", "fixLinks", "clipperNotifications", "scheduledMessages", "linkedRoles", "reactionRoles", "clipForwarding", "club", "whatnot", "fishing", "giveaways", "starboards", "syncedRoles", "birthdays", "statusRoles", "autoStatusLiveRoles", "streamRoles", "badgeNotifications", "kickBounties", "autoRoles", "giveawayClaims", "influencerPanel", "publicGiveaways", "publicDrops", "sitePolls", "siteAnnouncements", "offlineGracePeriod", "youtubeReplays", "twitter", "voteToTest", "voteToAddSocial", "aiAssistant", "voteToUseAssistant", "assistantShareChat", "emotes", "liveRoles", "stickyMessages", "welcomeLeave", "statCounters", "voteSkipping"];
1
+ export declare const FEATURE_NAMES: readonly ["freeGames", "gameChangelogs", "robloxNotifications", "fixLinks", "clipperNotifications", "scheduledMessages", "linkedRoles", "reactionRoles", "clipForwarding", "club", "whatnot", "fishing", "giveaways", "starboards", "syncedRoles", "birthdays", "statusRoles", "autoStatusLiveRoles", "streamRoles", "badgeNotifications", "kickBounties", "autoRoles", "giveawayClaims", "influencerPanel", "publicGiveaways", "publicDrops", "sitePolls", "siteAnnouncements", "offlineGracePeriod", "youtubeReplays", "livePostUpdates", "twitter", "voteToTest", "voteToAddSocial", "aiAssistant", "voteToUseAssistant", "assistantShareChat", "emotes", "liveRoles", "stickyMessages", "welcomeLeave", "statCounters", "voteSkipping"];
2
2
  export type FeatureName = (typeof FEATURE_NAMES)[number];
3
3
  export type FeatureStatus = 'off' | 'beta' | 'public';
4
4
  export type ResolvedFeature = 'public' | 'beta' | 'hidden';
@@ -35,6 +35,7 @@ exports.FEATURE_NAMES = [
35
35
  'siteAnnouncements',
36
36
  'offlineGracePeriod',
37
37
  'youtubeReplays',
38
+ 'livePostUpdates',
38
39
  'twitter',
39
40
  'voteToTest',
40
41
  'voteToAddSocial',
@@ -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: {