@notidotbot/noti-api-client 1.4.15 → 1.4.16

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 (41) hide show
  1. package/dist/classes/@me.d.ts +2 -2
  2. package/dist/classes/admin.d.ts +6 -0
  3. package/dist/classes/admin.js +6 -0
  4. package/dist/classes/client.d.ts +26 -0
  5. package/dist/classes/client.js +6 -0
  6. package/dist/classes/emotes.d.ts +2 -0
  7. package/dist/classes/guild.d.ts +4 -3
  8. package/dist/classes/guild.js +3 -2
  9. package/dist/classes/guildDrops.d.ts +1 -0
  10. package/dist/classes/guildGiveaway.d.ts +6 -2
  11. package/dist/classes/guildPlatform.d.ts +4 -57
  12. package/dist/classes/guildPlatform.js +0 -38
  13. package/dist/classes/guildPlatformAction.d.ts +58 -1
  14. package/dist/classes/guildPlatformAction.js +38 -0
  15. package/dist/classes/guildStarboard.d.ts +2 -2
  16. package/dist/classes/linked.d.ts +10 -7
  17. package/dist/classes/linked.js +8 -5
  18. package/dist/classes/other.d.ts +43 -1
  19. package/dist/classes/other.js +20 -1
  20. package/dist/classes/platform.d.ts +8 -3
  21. package/dist/classes/platform.js +5 -2
  22. package/dist/classes/premium.d.ts +52 -9
  23. package/dist/classes/premium.js +14 -4
  24. package/dist/classes/sessions.d.ts +2 -1
  25. package/dist/classes/sessions.js +2 -1
  26. package/dist/classes/teams.d.ts +19 -14
  27. package/dist/classes/teams.js +7 -9
  28. package/dist/classes/user.d.ts +1 -1
  29. package/dist/classes/vods.d.ts +8 -2
  30. package/dist/other/zod/guild.zod.d.ts +3 -0
  31. package/dist/other/zod/guild.zod.js +3 -0
  32. package/dist/other/zod/r2Storage.zod.d.ts +1 -0
  33. package/dist/other/zod/r2Storage.zod.js +1 -0
  34. package/dist/other/zod/rumbleStreamer.zod.d.ts +1 -1
  35. package/dist/other/zod/youtubeStreamer.zod.d.ts +1 -0
  36. package/dist/other/zod/youtubeStreamer.zod.js +1 -0
  37. package/dist/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +1 -1
  39. package/prisma/schema/models/guild.prisma +4 -0
  40. package/prisma/schema/models/r2Storage.prisma +1 -0
  41. package/prisma/schema/models/youtubeStreamer.prisma +2 -1
@@ -5,7 +5,7 @@ export declare class APIMe {
5
5
  private web;
6
6
  constructor(web: WebDataManager);
7
7
  getCurrentUser({ auth }: MeFunctionsInput['getCurrentUser']): Promise<import("../types").WebResponse<CurrentUser>>;
8
- clearCurrentUserNotifications({ auth }: MeFunctionsInput['clearCurrentUserNotifications']): Promise<import("../types").WebResponse<true>>;
8
+ clearCurrentUserNotifications({ auth }: MeFunctionsInput['clearCurrentUserNotifications']): Promise<import("../types").WebResponse<string>>;
9
9
  getCurrentUserGuilds({ auth }: MeFunctionsInput['getCurrentUserGuilds']): Promise<import("../types").WebResponse<CurrentUserGuilds>>;
10
10
  getGuildDiscordData<T extends GuildDataType>({ auth, guildId, types, refresh }: MeFunctionsInput['getGuildDiscordData']): Promise<import("../types").WebResponse<DiscordGuildData<T>>>;
11
11
  getConnectPlatformUrl({ platform }: MeFunctionsInput['getConnectPlatformUrl']): Promise<import("../types").WebResponse<string>>;
@@ -29,7 +29,6 @@ export type MeFunctionsInput<T extends GuildDataType = never> = {
29
29
  refresh?: boolean;
30
30
  };
31
31
  'getConnectPlatformUrl': {
32
- auth: string;
33
32
  platform: 'twitch' | 'kick';
34
33
  };
35
34
  'connectPlatform': {
@@ -81,6 +80,7 @@ export type ModToSomene = {
81
80
  export type CurrentUser = {
82
81
  isDev: boolean;
83
82
  isStaff: boolean;
83
+ notifications: string[];
84
84
  discord: DCUserData;
85
85
  database: User & {
86
86
  premium: {
@@ -4,11 +4,15 @@ import { WebDataManager } from '../core/manager';
4
4
  export declare class APIAdmin {
5
5
  private web;
6
6
  constructor(web: WebDataManager);
7
+ getAdmin({ auth }: AdminFunctionsInput['getAdmin']): Promise<import("../types").WebResponse<string>>;
7
8
  getEmailList({ auth }: AdminFunctionsInput['getEmailList']): Promise<import("../types").WebResponse<EmailList>>;
8
9
  getAnalytics<T extends string = string>({ auth, lookback }: AdminFunctionsInput['getAnalytics']): Promise<import("../types").WebResponse<Analytics<T, string>>>;
9
10
  stripeCharge({ auth, guildId, subscriptionId, amountCents, description, dueDays }: AdminFunctionsInput['stripeCharge']): Promise<import("../types").WebResponse<AdminStripeChargeResponse>>;
10
11
  }
11
12
  export type AdminFunctionsInput = {
13
+ 'getAdmin': {
14
+ auth: string;
15
+ };
12
16
  'getEmailList': {
13
17
  auth: string;
14
18
  };
@@ -26,6 +30,8 @@ export type AdminFunctionsInput = {
26
30
  };
27
31
  };
28
32
  export type AdminGetReturnTypes = {
33
+ 'getAdminRaw': Awaited<ReturnType<APIAdmin['getAdmin']>>;
34
+ 'getAdminSuccess': CancelOutWebResponses<Awaited<ReturnType<APIAdmin['getAdmin']>>>;
29
35
  'getEmailListRaw': Awaited<ReturnType<APIAdmin['getEmailList']>>;
30
36
  'getEmailListSuccess': CancelOutWebResponses<Awaited<ReturnType<APIAdmin['getEmailList']>>>;
31
37
  'getAnalyticsRaw': Awaited<ReturnType<APIAdmin['getAnalytics']>>;
@@ -8,6 +8,12 @@ class APIAdmin {
8
8
  this.web = web;
9
9
  }
10
10
  // Methods.
11
+ async getAdmin({ auth }) {
12
+ return await this.web.request({
13
+ method: 'GET', auth,
14
+ endpoint: this.web.qp('/admin'),
15
+ });
16
+ }
11
17
  async getEmailList({ auth }) {
12
18
  return await this.web.request({
13
19
  method: 'GET', auth,
@@ -55,6 +55,7 @@ export declare class APIClient {
55
55
  getBlog({ identifier }: ClientFunctionsInput['getBlog']): Promise<import("../types").WebResponse<BlogWithout<"reactions">>>;
56
56
  createBlog({ auth, body }: ClientFunctionsInput['createBlog']): Promise<import("../types").WebResponse<string>>;
57
57
  updateBlog({ auth, identifier, body }: ClientFunctionsInput['updateBlog']): Promise<import("../types").WebResponse<string>>;
58
+ reactBlog({ auth, identifier }: ClientFunctionsInput['reactBlog']): Promise<import("../types").WebResponse<ReactBlogResponse>>;
58
59
  deleteBlog({ auth, identifier }: ClientFunctionsInput['deleteBlog']): Promise<import("../types").WebResponse<string>>;
59
60
  }
60
61
  export type ClientFunctionsInput = {
@@ -114,6 +115,10 @@ export type ClientFunctionsInput = {
114
115
  identifier: string;
115
116
  body: Partial<Omit<ClientZod['blogs'][number], BlogToOmitUpdate>>;
116
117
  };
118
+ 'reactBlog': {
119
+ auth: string;
120
+ identifier: string;
121
+ };
117
122
  'deleteBlog': {
118
123
  auth: string;
119
124
  identifier: string;
@@ -134,10 +139,28 @@ export type ClientReturnTypes = {
134
139
  'deleteFaqSuccess': CancelOutWebResponses<Awaited<ReturnType<APIClient['deleteFaq']>>>;
135
140
  'getNewsRaw': Awaited<ReturnType<APIClient['getNews']>>;
136
141
  'getNewsSuccess': CancelOutWebResponses<Awaited<ReturnType<APIClient['getNews']>>>;
142
+ 'getNewsAdminRaw': Awaited<ReturnType<APIClient['getNewsAdmin']>>;
143
+ 'getNewsAdminSuccess': CancelOutWebResponses<Awaited<ReturnType<APIClient['getNewsAdmin']>>>;
137
144
  'createNewsRaw': Awaited<ReturnType<APIClient['createNews']>>;
138
145
  'createNewsSuccess': CancelOutWebResponses<Awaited<ReturnType<APIClient['createNews']>>>;
146
+ 'updateNewsRaw': Awaited<ReturnType<APIClient['updateNews']>>;
147
+ 'updateNewsSuccess': CancelOutWebResponses<Awaited<ReturnType<APIClient['updateNews']>>>;
139
148
  'deleteNewsRaw': Awaited<ReturnType<APIClient['deleteNews']>>;
140
149
  'deleteNewsSuccess': CancelOutWebResponses<Awaited<ReturnType<APIClient['deleteNews']>>>;
150
+ 'getBlogsRaw': Awaited<ReturnType<APIClient['getBlogs']>>;
151
+ 'getBlogsSuccess': CancelOutWebResponses<Awaited<ReturnType<APIClient['getBlogs']>>>;
152
+ 'getBlogsAdminRaw': Awaited<ReturnType<APIClient['getBlogsAdmin']>>;
153
+ 'getBlogsAdminSuccess': CancelOutWebResponses<Awaited<ReturnType<APIClient['getBlogsAdmin']>>>;
154
+ 'getBlogRaw': Awaited<ReturnType<APIClient['getBlog']>>;
155
+ 'getBlogSuccess': CancelOutWebResponses<Awaited<ReturnType<APIClient['getBlog']>>>;
156
+ 'createBlogRaw': Awaited<ReturnType<APIClient['createBlog']>>;
157
+ 'createBlogSuccess': CancelOutWebResponses<Awaited<ReturnType<APIClient['createBlog']>>>;
158
+ 'updateBlogRaw': Awaited<ReturnType<APIClient['updateBlog']>>;
159
+ 'updateBlogSuccess': CancelOutWebResponses<Awaited<ReturnType<APIClient['updateBlog']>>>;
160
+ 'reactBlogRaw': Awaited<ReturnType<APIClient['reactBlog']>>;
161
+ 'reactBlogSuccess': CancelOutWebResponses<Awaited<ReturnType<APIClient['reactBlog']>>>;
162
+ 'deleteBlogRaw': Awaited<ReturnType<APIClient['deleteBlog']>>;
163
+ 'deleteBlogSuccess': CancelOutWebResponses<Awaited<ReturnType<APIClient['deleteBlog']>>>;
141
164
  };
142
165
  export type FaqReturnType = {
143
166
  dbId: string;
@@ -152,5 +175,8 @@ export type AskFaqBody = {
152
175
  avatarUrl: string;
153
176
  };
154
177
  export type BlogWithout<T extends keyof Client['blogs'][number] = never> = Omit<Client['blogs'][number], T>;
178
+ export type ReactBlogResponse = {
179
+ currentReactState: boolean;
180
+ };
155
181
  export type BlogToOmitCreate = 'views' | 'reactions' | 'reactionsCount' | 'createdAt' | 'lastEdited';
156
182
  export type BlogToOmitUpdate = 'identifier' | BlogToOmitCreate;
@@ -106,6 +106,12 @@ class APIClient {
106
106
  endpoint: this.web.qp('/data/blogs/' + identifier),
107
107
  });
108
108
  }
109
+ async reactBlog({ auth, identifier }) {
110
+ return await this.web.request({
111
+ method: 'PUT', auth,
112
+ endpoint: this.web.qp('/data/blogs/' + identifier),
113
+ });
114
+ }
109
115
  async deleteBlog({ auth, identifier }) {
110
116
  return await this.web.request({
111
117
  method: 'DELETE', auth,
@@ -20,6 +20,8 @@ export type EmotesFunctionsInput = {
20
20
  export type EmotesReturnTypes = {
21
21
  'getEmotesForRaw': Awaited<ReturnType<APIEmotes['getEmotesFor']>>;
22
22
  'getEmotesForSuccess': CancelOutWebResponses<Awaited<ReturnType<APIEmotes['getEmotesFor']>>>;
23
+ 'createDownloadZipRaw': Awaited<ReturnType<APIEmotes['createDownloadZip']>>;
24
+ 'createDownloadZipSuccess': CancelOutWebResponses<Awaited<ReturnType<APIEmotes['createDownloadZip']>>>;
23
25
  };
24
26
  export type EmojiType = {
25
27
  id: string;
@@ -9,11 +9,11 @@ export declare class APIGuild {
9
9
  getGuild({ auth, guildId }: GuildFunctionsInput['getGuild']): Promise<import("../types").WebResponse<GuildWithStuff>>;
10
10
  updateGuild({ auth, guildId, guild }: GuildFunctionsInput['updateGuild']): Promise<import("../types").WebResponse<string>>;
11
11
  getCustomBotProfile({ auth, guildId }: GuildFunctionsInput['getCustomBotProfile']): Promise<import("../types").WebResponse<GetCustomBotProfileResponse>>;
12
- updateCustomBotProfile({ auth, guildId, formData }: GuildFunctionsInput['updateCustomBotProfile']): Promise<import("../types").WebResponse<CustomBotProfile | null>>;
12
+ updateCustomBotProfile({ auth, guildId, formData }: GuildFunctionsInput['updateCustomBotProfile']): Promise<import("../types").WebResponse<GetCustomBotProfileResponse>>;
13
13
  getGuildErrors({ auth, guildId }: GuildFunctionsInput['getGuildErrors']): Promise<import("../types").WebResponse<GuildErrors>>;
14
14
  clearGuildErrors({ auth, guildId }: GuildFunctionsInput['clearGuildErrors']): Promise<import("../types").WebResponse<string>>;
15
15
  sendGuildPanelOrNotification<T extends SendPanelType>({ auth, guildId, panel, body }: GuildFunctionsInput<T>['sendGuildPanelOrNotification']): Promise<import("../types").WebResponse<string>>;
16
- sendTestKickBotNotification({ auth, guildId, streamer, type }: GuildFunctionsInput['sendTestKickBotNotification']): Promise<import("../types").WebResponse<string>>;
16
+ sendTestKickBotNotification({ auth, guildId, streamerUserName, type, dontPing }: GuildFunctionsInput['sendTestKickBotNotification']): Promise<import("../types").WebResponse<string>>;
17
17
  sendGreetOrBirthdayMessage({ auth, guildId, type }: GuildFunctionsInput['sendGreetOrBirthdayMessage']): Promise<import("../types").WebResponse<string>>;
18
18
  createOrUpdateGuildMessage<T extends GuildMessageType, S extends GuildMessageSubType<T>>({ auth, guildId, messageType, messageSubType, data }: GuildFunctionsInput<never, T, S>['createOrUpdateGuildMessage']): Promise<import("../types").WebResponse<string>>;
19
19
  deleteGuildMessage<T extends GuildMessageType, S extends GuildMessageSubType<T>>({ auth, guildId, messageType, messageSubType }: GuildFunctionsInput<never, T, S>['deleteGuildMessage']): Promise<import("../types").WebResponse<string>>;
@@ -55,8 +55,9 @@ export type GuildFunctionsInput<T extends SendPanelType = never, T2 extends Guil
55
55
  'sendTestKickBotNotification': {
56
56
  auth: string;
57
57
  guildId: string;
58
- streamer: string;
58
+ streamerUserName: string;
59
59
  type: 'vod' | 'clip';
60
+ dontPing?: boolean;
60
61
  };
61
62
  'getGuildErrors': {
62
63
  auth: string;
@@ -53,11 +53,12 @@ class APIGuild {
53
53
  endpoint: this.web.qp('/data/guild/' + guildId + '/panel/' + panel),
54
54
  });
55
55
  }
56
- async sendTestKickBotNotification({ auth, guildId, streamer, type }) {
56
+ async sendTestKickBotNotification({ auth, guildId, streamerUserName, type, dontPing }) {
57
57
  return await this.web.request({
58
58
  method: 'PUT', auth,
59
+ body: { streamerUserName },
59
60
  endpoint: this.web.qp('/data/guild/' + guildId + '/kickbot/' + type, {
60
- streamerUserName: streamer,
61
+ dontPing: dontPing,
61
62
  }),
62
63
  });
63
64
  }
@@ -31,6 +31,7 @@ export type GuildDropsFunctionsInput = {
31
31
  } | null;
32
32
  games?: Array<{
33
33
  id: string | null;
34
+ dbId?: string | null;
34
35
  channelId?: string | null;
35
36
  roleId?: string | null;
36
37
  liveNotifications?: boolean | null;
@@ -78,8 +78,10 @@ export type GuildGiveawayFunctionsInput<T extends WhenCreate = never> = {
78
78
  };
79
79
  };
80
80
  export type GuildGiveawayReturnTypes = {
81
- 'getGuildStreamersRaw': Awaited<ReturnType<APIGuildGiveaway['getGuildGiveaways']>>;
82
- 'getGuildStreamersSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildGiveaway['getGuildGiveaways']>>>;
81
+ 'getGuildGiveawaysRaw': Awaited<ReturnType<APIGuildGiveaway['getGuildGiveaways']>>;
82
+ 'getGuildGiveawaysSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildGiveaway['getGuildGiveaways']>>>;
83
+ 'getGuildGiveawayRaw': Awaited<ReturnType<APIGuildGiveaway['getGuildGiveaway']>>;
84
+ 'getGuildGiveawaySuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildGiveaway['getGuildGiveaway']>>>;
83
85
  'getGuildGiveawayEntriesRaw': Awaited<ReturnType<APIGuildGiveaway['getGuildGiveawayEntries']>>;
84
86
  'getGuildGiveawayEntriesSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildGiveaway['getGuildGiveawayEntries']>>>;
85
87
  'createGiveawayRaw': Awaited<ReturnType<APIGuildGiveaway['createGiveaway']>>;
@@ -88,6 +90,8 @@ export type GuildGiveawayReturnTypes = {
88
90
  'updateGiveawaySuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildGiveaway['updateGiveaway']>>>;
89
91
  'resendGiveawayMessageRaw': Awaited<ReturnType<APIGuildGiveaway['resendGiveawayMessage']>>;
90
92
  'resendGiveawayMessageSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildGiveaway['resendGiveawayMessage']>>>;
93
+ 'startScheduledGiveawayRaw': Awaited<ReturnType<APIGuildGiveaway['startScheduledGiveaway']>>;
94
+ 'startScheduledGiveawaySuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildGiveaway['startScheduledGiveaway']>>>;
91
95
  'deleteGiveawayRaw': Awaited<ReturnType<APIGuildGiveaway['deleteGiveaway']>>;
92
96
  'deleteGiveawaySuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildGiveaway['deleteGiveaway']>>>;
93
97
  'endGiveawayRaw': Awaited<ReturnType<APIGuildGiveaway['endGiveaway']>>;
@@ -1,5 +1,4 @@
1
- import { AllPlatforms, KickStreamer, KickStreamerZod, RumbleStreamer, RumbleStreamerZod, TikTokStreamer, TikTokStreamerZod, TwitchStreamer, TwitchStreamerZod, YouTubeStreamerZod } from '../other/prisma';
2
- import { LeaderBoardTypesEnum, StreamerMessageTypeEnum } from '@prisma/client';
1
+ import { AllPlatforms, KickStreamer, KickStreamerZod, RumbleStreamer, RumbleStreamerZod, TikTokStreamer, TikTokStreamerZod, TwitchStreamer, TwitchStreamerZod, YouTubeStreamer, YouTubeStreamerZod } from '../other/prisma';
3
2
  import { CancelOutWebResponses, DeepPartial } from '../types';
4
3
  import { WebDataManager } from '../core/manager';
5
4
  export declare class APIGuildPlatform {
@@ -9,14 +8,10 @@ export declare class APIGuildPlatform {
9
8
  getGuildStreamer<P extends AllPlatforms>({ auth, guildId, streamer, platform, rumbleType }: GuildPlatformFunctionsInput<never, P>['getGuildStreamer']): Promise<import("../types").WebResponse<GuildSingleStreamerWithFormatedRole<P>>>;
10
9
  createGuildStreamer<P extends AllPlatforms>({ auth, guildId, streamer, body, platform, rumbleType }: GuildPlatformFunctionsInput<never, P>['createGuildStreamer']): Promise<import("../types").WebResponse<GuildSingleStreamer<P>>>;
11
10
  updateGuildStreamer<P extends AllPlatforms>({ auth, guildId, streamer, body, platform, rumbleType }: GuildPlatformFunctionsInput<never, P>['updateGuildStreamer']): Promise<import("../types").WebResponse<string>>;
12
- deleteGuildStreamer<P extends AllPlatforms>({ auth, guildId, streamer, platform, rumbleType }: GuildPlatformFunctionsInput<never, P>['updateGuildStreamer']): Promise<import("../types").WebResponse<string>>;
11
+ deleteGuildStreamer<P extends AllPlatforms>({ auth, guildId, streamer, platform, rumbleType }: GuildPlatformFunctionsInput<never, P>['deleteGuildStreamer']): Promise<import("../types").WebResponse<string>>;
13
12
  sendTestNotification({ auth, guildId, streamer, platform, rumbleType, subType }: GuildPlatformFunctionsInput['sendTestNotification']): Promise<import("../types").WebResponse<string>>;
14
- createOrUpdateStreamerMessage({ auth, guildId, streamer, platform, type, subTypeOrId, data, rumbleType }: GuildPlatformFunctionsInput['createOrUpdateStreamerMessage']): Promise<import("../types").WebResponse<string>>;
15
- createOrUpdateKickStreamerRoles<T extends KickRolesType>({ auth, guildId, streamer, platform, type, subTypeOrId, data }: GuildPlatformFunctionsInput<never, never, T>['createOrUpdateKickStreamerRoles']): Promise<import("../types").WebResponse<string>>;
16
- deleteStreamerMessage({ auth, guildId, streamer, platform, type, subTypeOrId, rumbleType }: GuildPlatformFunctionsInput['deleteStreamerMessage']): Promise<import("../types").WebResponse<string>>;
17
- deleteKickStreamerRoles<T extends KickRolesType>({ auth, guildId, streamer, platform, type, subTypeOrId }: GuildPlatformFunctionsInput<never, never, T>['deleteKickStreamerRoles']): Promise<import("../types").WebResponse<string>>;
18
13
  }
19
- export type GuildPlatformFunctionsInput<T extends boolean = never, P extends AllPlatforms = never, RT extends KickRolesType = never> = {
14
+ export type GuildPlatformFunctionsInput<T extends boolean = never, P extends AllPlatforms = never> = {
20
15
  'getGuildStreamers': {
21
16
  auth: string;
22
17
  guildId: string;
@@ -61,42 +56,6 @@ export type GuildPlatformFunctionsInput<T extends boolean = never, P extends All
61
56
  rumbleType?: RumbleType;
62
57
  subType?: SubType;
63
58
  };
64
- 'createOrUpdateStreamerMessage': {
65
- auth: string;
66
- guildId: string;
67
- streamer: string;
68
- platform: P;
69
- type: 'customMessages';
70
- subTypeOrId: StreamerMessageTypeEnum;
71
- data: StreamerUpdateMessage;
72
- rumbleType?: RumbleType;
73
- };
74
- 'deleteStreamerMessage': {
75
- auth: string;
76
- guildId: string;
77
- streamer: string;
78
- platform: P;
79
- type: 'customMessages';
80
- subTypeOrId: StreamerMessageTypeEnum;
81
- rumbleType?: RumbleType;
82
- };
83
- 'createOrUpdateKickStreamerRoles': {
84
- auth: string;
85
- guildId: string;
86
- streamer: string;
87
- platform: 'kick';
88
- type: RT;
89
- subTypeOrId: KickRolesSubType<RT>;
90
- data: KickRolesData<RT>;
91
- };
92
- 'deleteKickStreamerRoles': {
93
- auth: string;
94
- guildId: string;
95
- streamer: string;
96
- platform: 'kick';
97
- type: RT;
98
- subTypeOrId: KickRolesSubType<RT>;
99
- };
100
59
  };
101
60
  export type GuildPlatformReturnTypes = {
102
61
  'getGuildStreamersRaw': Awaited<ReturnType<APIGuildPlatform['getGuildStreamers']>>;
@@ -111,14 +70,6 @@ export type GuildPlatformReturnTypes = {
111
70
  'deleteGuildStreamerSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['deleteGuildStreamer']>>>;
112
71
  'sendTestNotificationRaw': Awaited<ReturnType<APIGuildPlatform['sendTestNotification']>>;
113
72
  'sendTestNotificationSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['sendTestNotification']>>>;
114
- 'createOrUpdateStreamerMessageRaw': Awaited<ReturnType<APIGuildPlatform['createOrUpdateStreamerMessage']>>;
115
- 'createOrUpdateStreamerMessageSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['createOrUpdateStreamerMessage']>>>;
116
- 'deleteStreamerMessageRaw': Awaited<ReturnType<APIGuildPlatform['deleteStreamerMessage']>>;
117
- 'deleteStreamerMessageSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['deleteStreamerMessage']>>>;
118
- 'createOrUpdateKickStreamerRolesRaw': Awaited<ReturnType<APIGuildPlatform['createOrUpdateKickStreamerRoles']>>;
119
- 'createOrUpdateKickStreamerRolesSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['createOrUpdateKickStreamerRoles']>>>;
120
- 'deleteKickStreamerRolesRaw': Awaited<ReturnType<APIGuildPlatform['deleteKickStreamerRoles']>>;
121
- 'deleteKickStreamerRolesSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['deleteKickStreamerRoles']>>>;
122
73
  };
123
74
  export type SubType = 'live' | 'video';
124
75
  export type RumbleType = 'user' | 'channel';
@@ -128,10 +79,6 @@ export type UsersForLiveRole = {
128
79
  }[];
129
80
  export type GuildSingleStreamer<T extends AllPlatforms> = T extends 'kick' ? KickStreamerZod : T extends 'twitch' ? TwitchStreamerZod : T extends 'rumble' ? RumbleStreamerZod : T extends 'tiktok' ? TikTokStreamerZod : T extends 'youtube' ? YouTubeStreamerZod : never;
130
81
  export type GuildSingleStreamerWithFormatedRole<T extends AllPlatforms> = T extends 'kick' ? KickStreamer & UsersForLiveRole : T extends 'twitch' ? TwitchStreamer & UsersForLiveRole : T extends 'rumble' ? RumbleStreamer & UsersForLiveRole : T extends 'tiktok' ? TikTokStreamer & UsersForLiveRole : T extends 'youtube' ? YouTubeStreamerZod & UsersForLiveRole : never;
131
- export type StreamerUpdateMessage = (KickStreamerZod | TwitchStreamerZod | RumbleStreamerZod | TikTokStreamerZod | YouTubeStreamerZod)['customMessages'][number];
132
- export type KickRolesType = 'leaderboardSyncRoles' | 'giftedSubRoles';
133
- export type KickRolesSubType<T extends KickRolesType> = T extends 'leaderboardSyncRoles' ? LeaderBoardTypesEnum : T extends 'giftedSubRoles' ? string : never;
134
- export type KickRolesData<T extends KickRolesType> = T extends 'leaderboardSyncRoles' ? KickStreamerZod['leaderBoardSyncRoles'][number] : T extends 'giftedSubRoles' ? KickStreamerZod['giftedSubRoles'][number] : never;
135
82
  export type Platformstreamers<T extends boolean, P extends AllPlatforms> = {
136
83
  streamers: T extends true ? P extends 'kick' ? {
137
84
  streamerUserName: string;
@@ -153,7 +100,7 @@ export type Platformstreamers<T extends boolean, P extends AllPlatforms> = {
153
100
  streamerUserName: string;
154
101
  streamerId: string;
155
102
  guildId: string | null;
156
- }[] : never : P extends 'kick' ? KickStreamer[] : P extends 'twitch' ? TwitchStreamer[] : P extends 'rumble' ? RumbleStreamer[] : P extends 'tiktok' ? TikTokStreamer[] : never;
103
+ }[] : never : P extends 'kick' ? KickStreamer[] : P extends 'twitch' ? TwitchStreamer[] : P extends 'rumble' ? RumbleStreamer[] : P extends 'tiktok' ? TikTokStreamer[] : P extends 'youtube' ? YouTubeStreamer[] : never;
157
104
  currentTotal: number;
158
105
  maxLimit: number;
159
106
  premium: {
@@ -57,43 +57,5 @@ class APIGuildPlatform {
57
57
  }),
58
58
  });
59
59
  }
60
- async createOrUpdateStreamerMessage({ auth, guildId, streamer, platform, type, subTypeOrId, data, rumbleType }) {
61
- return await this.web.request({
62
- method: 'PATCH', auth, body: data,
63
- endpoint: this.web.qp(`/data/guild/${guildId}/${platform}/${streamer}/updateArray`, {
64
- type: type,
65
- subTypeOrId: subTypeOrId,
66
- rumbleType: (platform === 'rumble' ? rumbleType : undefined),
67
- }),
68
- });
69
- }
70
- async createOrUpdateKickStreamerRoles({ auth, guildId, streamer, platform, type, subTypeOrId, data }) {
71
- return await this.web.request({
72
- method: 'PATCH', auth, body: data,
73
- endpoint: this.web.qp(`/data/guild/${guildId}/${platform}/${streamer}/updateArray`, {
74
- type: type,
75
- subTypeOrId: subTypeOrId,
76
- }),
77
- });
78
- }
79
- async deleteStreamerMessage({ auth, guildId, streamer, platform, type, subTypeOrId, rumbleType }) {
80
- return await this.web.request({
81
- method: 'DELETE', auth,
82
- endpoint: this.web.qp(`/data/guild/${guildId}/${platform}/${streamer}/deleteArray`, {
83
- type: type,
84
- subTypeOrId: subTypeOrId,
85
- rumbleType: (platform === 'rumble' ? rumbleType : undefined),
86
- }),
87
- });
88
- }
89
- async deleteKickStreamerRoles({ auth, guildId, streamer, platform, type, subTypeOrId }) {
90
- return await this.web.request({
91
- method: 'DELETE', auth,
92
- endpoint: this.web.qp(`/data/guild/${guildId}/${platform}/${streamer}/deleteArray`, {
93
- type: type,
94
- subTypeOrId: subTypeOrId,
95
- }),
96
- });
97
- }
98
60
  }
99
61
  exports.APIGuildPlatform = APIGuildPlatform;
@@ -1,3 +1,6 @@
1
+ import { AllPlatforms, KickStreamerZod, RumbleStreamerZod, TikTokStreamerZod, TwitchStreamerZod, YouTubeStreamerZod } from '../other/prisma';
2
+ import { LeaderBoardTypesEnum, StreamerMessageTypeEnum } from '@prisma/client';
3
+ import { RumbleType } from './guildPlatform';
1
4
  import { CancelOutWebResponses } from '../types';
2
5
  import { WebDataManager } from '../core/manager';
3
6
  export declare class APIPlatformAction {
@@ -5,8 +8,12 @@ export declare class APIPlatformAction {
5
8
  constructor(web: WebDataManager);
6
9
  getStreamerEmojisInfo<P extends 'kick'>({ auth, guildId, platform, username, getEmojis }: PlatformActionFunctionsInput<P>['getStreamerEmojisInfo']): Promise<import("../types").WebResponse<StreamerEmojis>>;
7
10
  addStreamerEmojis<P extends 'kick'>({ auth, guildId, platform, username, emojis, lockToSubIfSet }: PlatformActionFunctionsInput<P>['addStreamerEmojis']): Promise<import("../types").WebResponse<AddEmojisInfo>>;
11
+ createOrUpdateStreamerMessage<P extends AllPlatforms>({ auth, guildId, platform, username, subTypeOrId, data, rumbleType }: PlatformActionFunctionsInput<P>['createOrUpdateStreamerMessage']): Promise<import("../types").WebResponse<string>>;
12
+ createOrUpdateKickStreamerRoles<T extends KickRolesType>({ auth, guildId, username, type, subTypeOrId, data }: PlatformActionFunctionsInput<'kick', T>['createOrUpdateKickStreamerRoles']): Promise<import("../types").WebResponse<string>>;
13
+ deleteStreamerMessage<P extends AllPlatforms>({ auth, guildId, platform, username, subTypeOrId, rumbleType }: PlatformActionFunctionsInput<P>['deleteStreamerMessage']): Promise<import("../types").WebResponse<string>>;
14
+ deleteKickStreamerRoles<T extends KickRolesType>({ auth, guildId, username, type, subTypeOrId }: PlatformActionFunctionsInput<'kick', T>['deleteKickStreamerRoles']): Promise<import("../types").WebResponse<string>>;
8
15
  }
9
- export type PlatformActionFunctionsInput<P extends 'kick' = never> = {
16
+ export type PlatformActionFunctionsInput<P extends 'kick' | AllPlatforms = never, T extends KickRolesType = never> = {
10
17
  'getStreamerEmojisInfo': {
11
18
  auth: string;
12
19
  guildId: string;
@@ -22,11 +29,61 @@ export type PlatformActionFunctionsInput<P extends 'kick' = never> = {
22
29
  emojis: EmojiAddSchema['emojis'];
23
30
  lockToSubIfSet: boolean;
24
31
  };
32
+ 'createOrUpdateStreamerMessage': {
33
+ auth: string;
34
+ guildId: string;
35
+ platform: P;
36
+ username: string;
37
+ type: 'customMessages';
38
+ subTypeOrId: StreamerMessageTypeEnum;
39
+ data: StreamerUpdateMessage;
40
+ rumbleType?: RumbleType;
41
+ };
42
+ 'deleteStreamerMessage': {
43
+ auth: string;
44
+ guildId: string;
45
+ platform: P;
46
+ username: string;
47
+ type: 'customMessages';
48
+ subTypeOrId: StreamerMessageTypeEnum;
49
+ rumbleType?: RumbleType;
50
+ };
51
+ 'createOrUpdateKickStreamerRoles': {
52
+ auth: string;
53
+ guildId: string;
54
+ platform: 'kick';
55
+ username: string;
56
+ type: T;
57
+ subTypeOrId: KickRolesSubType<T>;
58
+ data: KickRolesData<T>;
59
+ };
60
+ 'deleteKickStreamerRoles': {
61
+ auth: string;
62
+ guildId: string;
63
+ platform: 'kick';
64
+ username: string;
65
+ type: T;
66
+ subTypeOrId: KickRolesSubType<T>;
67
+ };
25
68
  };
26
69
  export type PlatformActionReturnTypes = {
27
70
  'getStreamerEmojisInfoRaw': Awaited<ReturnType<APIPlatformAction['getStreamerEmojisInfo']>>;
28
71
  'getStreamerEmojisInfoSuccess': CancelOutWebResponses<Awaited<ReturnType<APIPlatformAction['getStreamerEmojisInfo']>>>;
72
+ 'addStreamerEmojisRaw': Awaited<ReturnType<APIPlatformAction['addStreamerEmojis']>>;
73
+ 'addStreamerEmojisSuccess': CancelOutWebResponses<Awaited<ReturnType<APIPlatformAction['addStreamerEmojis']>>>;
74
+ 'createOrUpdateStreamerMessageRaw': Awaited<ReturnType<APIPlatformAction['createOrUpdateStreamerMessage']>>;
75
+ 'createOrUpdateStreamerMessageSuccess': CancelOutWebResponses<Awaited<ReturnType<APIPlatformAction['createOrUpdateStreamerMessage']>>>;
76
+ 'createOrUpdateKickStreamerRolesRaw': Awaited<ReturnType<APIPlatformAction['createOrUpdateKickStreamerRoles']>>;
77
+ 'createOrUpdateKickStreamerRolesSuccess': CancelOutWebResponses<Awaited<ReturnType<APIPlatformAction['createOrUpdateKickStreamerRoles']>>>;
78
+ 'deleteStreamerMessageRaw': Awaited<ReturnType<APIPlatformAction['deleteStreamerMessage']>>;
79
+ 'deleteStreamerMessageSuccess': CancelOutWebResponses<Awaited<ReturnType<APIPlatformAction['deleteStreamerMessage']>>>;
80
+ 'deleteKickStreamerRolesRaw': Awaited<ReturnType<APIPlatformAction['deleteKickStreamerRoles']>>;
81
+ 'deleteKickStreamerRolesSuccess': CancelOutWebResponses<Awaited<ReturnType<APIPlatformAction['deleteKickStreamerRoles']>>>;
29
82
  };
83
+ export type StreamerUpdateMessage = (KickStreamerZod | TwitchStreamerZod | RumbleStreamerZod | TikTokStreamerZod | YouTubeStreamerZod)['customMessages'][number];
84
+ export type KickRolesType = 'leaderboardSyncRoles' | 'giftedSubRoles';
85
+ export type KickRolesSubType<T extends KickRolesType> = T extends 'leaderboardSyncRoles' ? LeaderBoardTypesEnum : T extends 'giftedSubRoles' ? string : never;
86
+ export type KickRolesData<T extends KickRolesType> = T extends 'leaderboardSyncRoles' ? KickStreamerZod['leaderBoardSyncRoles'][number] : T extends 'giftedSubRoles' ? KickStreamerZod['giftedSubRoles'][number] : never;
30
87
  export type StreamerEmojis = {
31
88
  subRole?: string;
32
89
  kickEmojis: KickEmojisParsed | null;
@@ -22,5 +22,43 @@ class APIPlatformAction {
22
22
  endpoint: this.web.qp(`/data/guild/${guildId}/${platform}/${username}/emojis`),
23
23
  });
24
24
  }
25
+ async createOrUpdateStreamerMessage({ auth, guildId, platform, username, subTypeOrId, data, rumbleType }) {
26
+ return await this.web.request({
27
+ method: 'PATCH', auth, body: data,
28
+ endpoint: this.web.qp(`/data/guild/${guildId}/${platform}/${username}/updateArray`, {
29
+ type: 'customMessages',
30
+ subTypeOrId: subTypeOrId,
31
+ rumbleType: (platform === 'rumble' ? rumbleType : undefined),
32
+ }),
33
+ });
34
+ }
35
+ async createOrUpdateKickStreamerRoles({ auth, guildId, username, type, subTypeOrId, data }) {
36
+ return await this.web.request({
37
+ method: 'PATCH', auth, body: data,
38
+ endpoint: this.web.qp(`/data/guild/${guildId}/kick/${username}/updateArray`, {
39
+ type: type,
40
+ subTypeOrId: subTypeOrId,
41
+ }),
42
+ });
43
+ }
44
+ async deleteStreamerMessage({ auth, guildId, platform, username, subTypeOrId, rumbleType }) {
45
+ return await this.web.request({
46
+ method: 'DELETE', auth,
47
+ endpoint: this.web.qp(`/data/guild/${guildId}/${platform}/${username}/deleteArray`, {
48
+ type: 'customMessages',
49
+ subTypeOrId: subTypeOrId,
50
+ rumbleType: (platform === 'rumble' ? rumbleType : undefined),
51
+ }),
52
+ });
53
+ }
54
+ async deleteKickStreamerRoles({ auth, guildId, username, type, subTypeOrId }) {
55
+ return await this.web.request({
56
+ method: 'DELETE', auth,
57
+ endpoint: this.web.qp(`/data/guild/${guildId}/kick/${username}/deleteArray`, {
58
+ type: type,
59
+ subTypeOrId: subTypeOrId,
60
+ }),
61
+ });
62
+ }
25
63
  }
26
64
  exports.APIPlatformAction = APIPlatformAction;
@@ -55,8 +55,8 @@ export type GuildStarboardFunctionsInput = {
55
55
  };
56
56
  };
57
57
  export type GuildStarboardReturnTypes = {
58
- 'getGuildStreamersRaw': Awaited<ReturnType<APIGuildStarboard['getGuildStarboards']>>;
59
- 'getGuildStreamersSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildStarboard['getGuildStarboards']>>>;
58
+ 'getGuildStarboardsRaw': Awaited<ReturnType<APIGuildStarboard['getGuildStarboards']>>;
59
+ 'getGuildStarboardsSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildStarboard['getGuildStarboards']>>>;
60
60
  'createStarboardRaw': Awaited<ReturnType<APIGuildStarboard['createStarboard']>>;
61
61
  'createStarboardSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildStarboard['createStarboard']>>>;
62
62
  'updateStarboardRaw': Awaited<ReturnType<APIGuildStarboard['updateStarboard']>>;
@@ -3,18 +3,21 @@ import { CancelOutWebResponses } from '../types';
3
3
  export declare class APILinked {
4
4
  private web;
5
5
  constructor(web: WebDataManager);
6
- getLinkedRolesUrl(): Promise<import("../types").WebResponse<string>>;
7
- authorizeLinkedRoles({ code }: {
8
- code: string;
9
- }): Promise<import("../types").WebResponse<true>>;
10
- unlinkRoles(): Promise<import("../types").WebResponse<true>>;
6
+ getLinkedRolesUrl({ state }: LinkedFunctionsInput['getLinkedRolesUrl']): Promise<import("../types").WebResponse<string>>;
7
+ authorizeLinkedRoles({ code, state }: LinkedFunctionsInput['authorizeLinkedRoles']): Promise<import("../types").WebResponse<true>>;
8
+ unlinkRoles({ auth }: LinkedFunctionsInput['unlinkRoles']): Promise<import("../types").WebResponse<true>>;
11
9
  }
12
10
  export type LinkedFunctionsInput = {
13
- 'getLinkedRolesUrl': never;
11
+ 'getLinkedRolesUrl': {
12
+ state?: string;
13
+ };
14
14
  'authorizeLinkedRoles': {
15
15
  code: string;
16
+ state?: string;
17
+ };
18
+ 'unlinkRoles': {
19
+ auth: string;
16
20
  };
17
- 'unlinkRoles': never;
18
21
  };
19
22
  export type LinkedReturnTypes = {
20
23
  'getLinkedRolesUrlRaw': Awaited<ReturnType<APILinked['getLinkedRolesUrl']>>;
@@ -8,23 +8,26 @@ class APILinked {
8
8
  this.web = web;
9
9
  }
10
10
  // Methods.
11
- async getLinkedRolesUrl() {
11
+ async getLinkedRolesUrl({ state }) {
12
12
  return await this.web.request({
13
13
  method: 'GET',
14
- endpoint: this.web.qp('/linked'),
14
+ endpoint: this.web.qp('/linked', {
15
+ state,
16
+ }),
15
17
  });
16
18
  }
17
- async authorizeLinkedRoles({ code }) {
19
+ async authorizeLinkedRoles({ code, state }) {
18
20
  return await this.web.request({
19
21
  method: 'POST',
20
22
  endpoint: this.web.qp('/linked', {
21
23
  code,
24
+ state,
22
25
  }),
23
26
  });
24
27
  }
25
- async unlinkRoles() {
28
+ async unlinkRoles({ auth }) {
26
29
  return await this.web.request({
27
- method: 'DELETE',
30
+ method: 'DELETE', auth,
28
31
  endpoint: this.web.qp('/linked'),
29
32
  });
30
33
  }