@notidotbot/noti-api-client 1.4.0

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 (115) hide show
  1. package/cname.js +3 -0
  2. package/dist/classes/@me.d.ts +122 -0
  3. package/dist/classes/@me.js +59 -0
  4. package/dist/classes/admin.d.ts +71 -0
  5. package/dist/classes/admin.js +26 -0
  6. package/dist/classes/client.d.ts +156 -0
  7. package/dist/classes/client.js +116 -0
  8. package/dist/classes/emotes.d.ts +31 -0
  9. package/dist/classes/emotes.js +24 -0
  10. package/dist/classes/files.d.ts +36 -0
  11. package/dist/classes/files.js +36 -0
  12. package/dist/classes/guild.d.ts +187 -0
  13. package/dist/classes/guild.js +140 -0
  14. package/dist/classes/guildDrops.d.ts +58 -0
  15. package/dist/classes/guildDrops.js +32 -0
  16. package/dist/classes/guildGiveaway.d.ts +110 -0
  17. package/dist/classes/guildGiveaway.js +76 -0
  18. package/dist/classes/guildPlatform.d.ts +163 -0
  19. package/dist/classes/guildPlatform.js +99 -0
  20. package/dist/classes/guildPlatformAction.d.ts +67 -0
  21. package/dist/classes/guildPlatformAction.js +26 -0
  22. package/dist/classes/guildStarboard.d.ts +66 -0
  23. package/dist/classes/guildStarboard.js +36 -0
  24. package/dist/classes/linked.d.ts +26 -0
  25. package/dist/classes/linked.js +32 -0
  26. package/dist/classes/other.d.ts +83 -0
  27. package/dist/classes/other.js +53 -0
  28. package/dist/classes/platform.d.ts +227 -0
  29. package/dist/classes/platform.js +30 -0
  30. package/dist/classes/premium.d.ts +179 -0
  31. package/dist/classes/premium.js +76 -0
  32. package/dist/classes/sessions.d.ts +42 -0
  33. package/dist/classes/sessions.js +30 -0
  34. package/dist/classes/teams.d.ts +88 -0
  35. package/dist/classes/teams.js +66 -0
  36. package/dist/classes/telemetry.d.ts +32 -0
  37. package/dist/classes/telemetry.js +28 -0
  38. package/dist/classes/user.d.ts +40 -0
  39. package/dist/classes/user.js +30 -0
  40. package/dist/classes/vods.d.ts +55 -0
  41. package/dist/classes/vods.js +38 -0
  42. package/dist/core/manager.d.ts +57 -0
  43. package/dist/core/manager.js +78 -0
  44. package/dist/core/utils.d.ts +4 -0
  45. package/dist/core/utils.js +26 -0
  46. package/dist/index.d.ts +22 -0
  47. package/dist/index.js +42 -0
  48. package/dist/modules/stripe.d.ts +12 -0
  49. package/dist/modules/stripe.js +18 -0
  50. package/dist/other/bitfields.d.ts +283 -0
  51. package/dist/other/bitfields.js +323 -0
  52. package/dist/other/enums.d.ts +2 -0
  53. package/dist/other/enums.js +10 -0
  54. package/dist/other/prisma.d.ts +76 -0
  55. package/dist/other/prisma.js +9 -0
  56. package/dist/other/templates.d.ts +795 -0
  57. package/dist/other/templates.js +706 -0
  58. package/dist/other/types.d.ts +45 -0
  59. package/dist/other/types.js +17 -0
  60. package/dist/other/utils.d.ts +5 -0
  61. package/dist/other/utils.js +51 -0
  62. package/dist/other/zod/client.zod.d.ts +349 -0
  63. package/dist/other/zod/client.zod.js +63 -0
  64. package/dist/other/zod/drops.zod.d.ts +16 -0
  65. package/dist/other/zod/drops.zod.js +93 -0
  66. package/dist/other/zod/giveaways.zod.d.ts +382 -0
  67. package/dist/other/zod/giveaways.zod.js +72 -0
  68. package/dist/other/zod/guild.zod.d.ts +1638 -0
  69. package/dist/other/zod/guild.zod.js +139 -0
  70. package/dist/other/zod/kickStreamer.zod.d.ts +761 -0
  71. package/dist/other/zod/kickStreamer.zod.js +92 -0
  72. package/dist/other/zod/member.zod.d.ts +22 -0
  73. package/dist/other/zod/member.zod.js +15 -0
  74. package/dist/other/zod/r2Storage.zod.d.ts +56 -0
  75. package/dist/other/zod/r2Storage.zod.js +21 -0
  76. package/dist/other/zod/rumbleStreamer.zod.d.ts +530 -0
  77. package/dist/other/zod/rumbleStreamer.zod.js +45 -0
  78. package/dist/other/zod/schema.zod.d.ts +25 -0
  79. package/dist/other/zod/schema.zod.js +168 -0
  80. package/dist/other/zod/starboard.zod.d.ts +167 -0
  81. package/dist/other/zod/starboard.zod.js +46 -0
  82. package/dist/other/zod/team.zod.d.ts +107 -0
  83. package/dist/other/zod/team.zod.js +30 -0
  84. package/dist/other/zod/tiktokStreamer.zod.d.ts +473 -0
  85. package/dist/other/zod/tiktokStreamer.zod.js +46 -0
  86. package/dist/other/zod/twitchStreamer.zod.d.ts +473 -0
  87. package/dist/other/zod/twitchStreamer.zod.js +46 -0
  88. package/dist/other/zod/user.zod.d.ts +678 -0
  89. package/dist/other/zod/user.zod.js +124 -0
  90. package/dist/other/zod/youtubeStreamer.zod.d.ts +476 -0
  91. package/dist/other/zod/youtubeStreamer.zod.js +47 -0
  92. package/dist/other/zod/zod.d.ts +177 -0
  93. package/dist/other/zod/zod.js +60 -0
  94. package/dist/tsconfig.tsbuildinfo +1 -0
  95. package/dist/types.d.ts +37 -0
  96. package/dist/types.js +2 -0
  97. package/package.json +63 -0
  98. package/prisma/generated/index.ts +25 -0
  99. package/prisma/generated/ts-prisma.d.ts +91725 -0
  100. package/prisma/schema/models/client.prisma +89 -0
  101. package/prisma/schema/models/drops.prisma +167 -0
  102. package/prisma/schema/models/giveaways.prisma +82 -0
  103. package/prisma/schema/models/guild.prisma +368 -0
  104. package/prisma/schema/models/kickStreamer.prisma +202 -0
  105. package/prisma/schema/models/member.prisma +10 -0
  106. package/prisma/schema/models/r2Storage.prisma +22 -0
  107. package/prisma/schema/models/rumbleStreamer.prisma +121 -0
  108. package/prisma/schema/models/starboard.prisma +66 -0
  109. package/prisma/schema/models/team.prisma +38 -0
  110. package/prisma/schema/models/tiktokStreamer.prisma +121 -0
  111. package/prisma/schema/models/twitchStreamer.prisma +122 -0
  112. package/prisma/schema/models/user.prisma +212 -0
  113. package/prisma/schema/models/youtubeStreamer.prisma +123 -0
  114. package/prisma/schema/schema.prisma +182 -0
  115. package/prisma.config.ts +6 -0
@@ -0,0 +1,163 @@
1
+ import { AllPlatforms, KickStreamer, KickStreamerZod, RumbleStreamer, RumbleStreamerZod, TikTokStreamer, TikTokStreamerZod, TwitchStreamer, TwitchStreamerZod, YouTubeStreamerZod } from '../other/prisma';
2
+ import { LeaderBoardTypesEnum, StreamerMessageTypeEnum } from '@prisma/client';
3
+ import { CancelOutWebResponses, DeepPartial } from '../types';
4
+ import { WebDataManager } from '../core/manager';
5
+ export declare class APIGuildPlatform {
6
+ private web;
7
+ constructor(web: WebDataManager);
8
+ getGuildStreamers<T extends boolean, P extends AllPlatforms>({ auth, guildId, shortView, platform }: GuildPlatformFunctionsInput<T, P>['getGuildStreamers']): Promise<import("../types").WebResponse<Platformstreamers<T, P>>>;
9
+ getGuildStreamer<P extends AllPlatforms>({ auth, guildId, streamer, platform, rumbleType }: GuildPlatformFunctionsInput<never, P>['getGuildStreamer']): Promise<import("../types").WebResponse<GuildSingleStreamerWithFormatedRole<P>>>;
10
+ createGuildStreamer<P extends AllPlatforms>({ auth, guildId, streamer, body, platform, rumbleType }: GuildPlatformFunctionsInput<never, P>['createGuildStreamer']): Promise<import("../types").WebResponse<GuildSingleStreamer<P>>>;
11
+ 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>>;
13
+ 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
+ }
19
+ export type GuildPlatformFunctionsInput<T extends boolean = never, P extends AllPlatforms = never, RT extends KickRolesType = never> = {
20
+ 'getGuildStreamers': {
21
+ auth: string;
22
+ guildId: string;
23
+ shortView: T;
24
+ platform: P;
25
+ };
26
+ 'getGuildStreamer': {
27
+ auth: string;
28
+ guildId: string;
29
+ streamer: string;
30
+ platform: P;
31
+ rumbleType?: RumbleType;
32
+ };
33
+ 'createGuildStreamer': {
34
+ auth: string;
35
+ guildId: string;
36
+ streamer: string;
37
+ body: GuildSingleStreamer<P>;
38
+ platform: P;
39
+ rumbleType?: RumbleType;
40
+ };
41
+ 'updateGuildStreamer': {
42
+ auth: string;
43
+ guildId: string;
44
+ streamer: string;
45
+ body: DeepPartial<GuildSingleStreamer<P>>;
46
+ platform: P;
47
+ rumbleType?: RumbleType;
48
+ };
49
+ 'deleteGuildStreamer': {
50
+ auth: string;
51
+ guildId: string;
52
+ streamer: string;
53
+ platform: P;
54
+ rumbleType?: RumbleType;
55
+ };
56
+ 'sendTestNotification': {
57
+ auth: string;
58
+ guildId: string;
59
+ streamer: string;
60
+ platform: P;
61
+ rumbleType?: RumbleType;
62
+ subType?: SubType;
63
+ };
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
+ };
101
+ export type GuildPlatformReturnTypes = {
102
+ 'getGuildStreamersRaw': Awaited<ReturnType<APIGuildPlatform['getGuildStreamers']>>;
103
+ 'getGuildStreamersSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['getGuildStreamers']>>>;
104
+ 'getGuildStreamerRaw': Awaited<ReturnType<APIGuildPlatform['getGuildStreamer']>>;
105
+ 'getGuildStreamerSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['getGuildStreamer']>>>;
106
+ 'createGuildStreamerRaw': Awaited<ReturnType<APIGuildPlatform['createGuildStreamer']>>;
107
+ 'createGuildStreamerSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['createGuildStreamer']>>>;
108
+ 'updateGuildStreamerRaw': Awaited<ReturnType<APIGuildPlatform['updateGuildStreamer']>>;
109
+ 'updateGuildStreamerSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['updateGuildStreamer']>>>;
110
+ 'deleteGuildStreamerRaw': Awaited<ReturnType<APIGuildPlatform['deleteGuildStreamer']>>;
111
+ 'deleteGuildStreamerSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildPlatform['deleteGuildStreamer']>>>;
112
+ 'sendTestNotificationRaw': Awaited<ReturnType<APIGuildPlatform['sendTestNotification']>>;
113
+ '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
+ };
123
+ export type SubType = 'live' | 'video';
124
+ export type RumbleType = 'user' | 'channel';
125
+ export type UsersForLiveRole = {
126
+ id: string;
127
+ name: string;
128
+ }[];
129
+ 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
+ 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
+ export type Platformstreamers<T extends boolean, P extends AllPlatforms> = {
136
+ streamers: T extends true ? P extends 'kick' ? {
137
+ streamerUserName: string;
138
+ streamerId: string | null;
139
+ chatRoomId: string;
140
+ guildId: string;
141
+ }[] : P extends 'twitch' ? {
142
+ streamerUserName: string;
143
+ streamerId: string | null;
144
+ guildId: string;
145
+ }[] : P extends 'rumble' ? {
146
+ streamerUserName: string;
147
+ type: string;
148
+ guildId: string;
149
+ }[] : P extends 'tiktok' ? {
150
+ streamerUserName: string;
151
+ guildId: string;
152
+ }[] : P extends 'youtube' ? {
153
+ streamerUserName: string;
154
+ streamerId: string;
155
+ guildId: string | null;
156
+ }[] : never : P extends 'kick' ? KickStreamer[] : P extends 'twitch' ? TwitchStreamer[] : P extends 'rumble' ? RumbleStreamer[] : P extends 'tiktok' ? TikTokStreamer[] : never;
157
+ currentTotal: number;
158
+ maxLimit: number;
159
+ premium: {
160
+ tierId: string;
161
+ tierName: string;
162
+ };
163
+ };
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APIGuildPlatform = void 0;
4
+ // Data.
5
+ class APIGuildPlatform {
6
+ web;
7
+ constructor(web) {
8
+ this.web = web;
9
+ }
10
+ // Methods.
11
+ async getGuildStreamers({ auth, guildId, shortView, platform }) {
12
+ return await this.web.request({
13
+ method: 'GET', auth,
14
+ endpoint: this.web.qp('/data/guild/' + guildId + '/' + platform, {
15
+ short: shortView || false,
16
+ }),
17
+ });
18
+ }
19
+ async getGuildStreamer({ auth, guildId, streamer, platform, rumbleType }) {
20
+ return await this.web.request({
21
+ method: 'GET', auth,
22
+ endpoint: this.web.qp('/data/guild/' + guildId + '/' + platform + '/' + streamer, {
23
+ rumbleType: (platform === 'rumble' ? rumbleType : undefined),
24
+ }),
25
+ });
26
+ }
27
+ async createGuildStreamer({ auth, guildId, streamer, body, platform, rumbleType }) {
28
+ return await this.web.request({
29
+ method: 'POST', auth, body,
30
+ endpoint: this.web.qp('/data/guild/' + guildId + '/' + platform + '/' + streamer, {
31
+ rumbleType: (platform === 'rumble' ? rumbleType : undefined),
32
+ }),
33
+ });
34
+ }
35
+ async updateGuildStreamer({ auth, guildId, streamer, body, platform, rumbleType }) {
36
+ return await this.web.request({
37
+ method: 'PATCH', auth, body,
38
+ endpoint: this.web.qp('/data/guild/' + guildId + '/' + platform + '/' + streamer, {
39
+ rumbleType: (platform === 'rumble' ? rumbleType : undefined),
40
+ }),
41
+ });
42
+ }
43
+ async deleteGuildStreamer({ auth, guildId, streamer, platform, rumbleType }) {
44
+ return await this.web.request({
45
+ method: 'DELETE', auth,
46
+ endpoint: this.web.qp('/data/guild/' + guildId + '/' + platform + '/' + streamer, {
47
+ rumbleType: (platform === 'rumble' ? rumbleType : undefined),
48
+ }),
49
+ });
50
+ }
51
+ async sendTestNotification({ auth, guildId, streamer, platform, rumbleType, subType }) {
52
+ return await this.web.request({
53
+ method: 'PUT', auth,
54
+ endpoint: this.web.qp('/data/guild/' + guildId + '/' + platform + '/' + streamer, {
55
+ rumbleType: (platform === 'rumble' ? rumbleType : undefined),
56
+ subType: (subType || undefined),
57
+ }),
58
+ });
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
+ }
99
+ exports.APIGuildPlatform = APIGuildPlatform;
@@ -0,0 +1,67 @@
1
+ import { CancelOutWebResponses } from '../types';
2
+ import { WebDataManager } from '../core/manager';
3
+ export declare class APIPlatformAction {
4
+ private web;
5
+ constructor(web: WebDataManager);
6
+ getStreamerEmojisInfo<P extends 'kick'>({ auth, guildId, platform, username, getEmojis }: PlatformActionFunctionsInput<P>['getStreamerEmojisInfo']): Promise<import("../types").WebResponse<StreamerEmojis>>;
7
+ addStreamerEmojis<P extends 'kick'>({ auth, guildId, platform, username, emojis, lockToSubIfSet }: PlatformActionFunctionsInput<P>['addStreamerEmojis']): Promise<import("../types").WebResponse<AddEmojisInfo>>;
8
+ }
9
+ export type PlatformActionFunctionsInput<P extends 'kick' = never> = {
10
+ 'getStreamerEmojisInfo': {
11
+ auth: string;
12
+ guildId: string;
13
+ platform: P;
14
+ username: string;
15
+ getEmojis: boolean;
16
+ };
17
+ 'addStreamerEmojis': {
18
+ auth: string;
19
+ guildId: string;
20
+ platform: P;
21
+ username: string;
22
+ emojis: EmojiAddSchema['emojis'];
23
+ lockToSubIfSet: boolean;
24
+ };
25
+ };
26
+ export type PlatformActionReturnTypes = {
27
+ 'getStreamerEmojisInfoRaw': Awaited<ReturnType<APIPlatformAction['getStreamerEmojisInfo']>>;
28
+ 'getStreamerEmojisInfoSuccess': CancelOutWebResponses<Awaited<ReturnType<APIPlatformAction['getStreamerEmojisInfo']>>>;
29
+ };
30
+ export type StreamerEmojis = {
31
+ subRole?: string;
32
+ kickEmojis: KickEmojisParsed | null;
33
+ canAdd: {
34
+ normal: number;
35
+ animated: number;
36
+ };
37
+ };
38
+ export type KickEmojisParsed = {
39
+ id: string;
40
+ name: string;
41
+ subOnly: boolean;
42
+ }[];
43
+ export type EmojiSchema = {
44
+ name: string;
45
+ url: `https://files.kick.com/emotes/${string}/fullsize`;
46
+ }[];
47
+ export type EmojiAddSchema = {
48
+ emojis: {
49
+ normal: EmojiSchema[];
50
+ animated: EmojiSchema[];
51
+ };
52
+ lockToSubIfSet: boolean;
53
+ };
54
+ export type AddEmojisInfo = {
55
+ succeded: {
56
+ normal: string[];
57
+ animated: string[];
58
+ };
59
+ failed: {
60
+ normal: string[];
61
+ animated: string[];
62
+ };
63
+ canAdd: {
64
+ normal: number;
65
+ animated: number;
66
+ };
67
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APIPlatformAction = void 0;
4
+ // Data.
5
+ class APIPlatformAction {
6
+ web;
7
+ constructor(web) {
8
+ this.web = web;
9
+ }
10
+ // Methods.
11
+ async getStreamerEmojisInfo({ auth, guildId, platform, username, getEmojis }) {
12
+ return await this.web.request({
13
+ method: 'GET', auth,
14
+ endpoint: this.web.qp(`/data/guild/${guildId}/${platform}/${username}/emojis`, {
15
+ kickEmojis: getEmojis || false,
16
+ }),
17
+ });
18
+ }
19
+ async addStreamerEmojis({ auth, guildId, platform, username, emojis, lockToSubIfSet }) {
20
+ return await this.web.request({
21
+ method: 'POST', auth, body: { emojis, lockToSubIfSet },
22
+ endpoint: this.web.qp(`/data/guild/${guildId}/${platform}/${username}/emojis`),
23
+ });
24
+ }
25
+ }
26
+ exports.APIPlatformAction = APIPlatformAction;
@@ -0,0 +1,66 @@
1
+ import { GuildStarboardZod } from '../other/prisma';
2
+ import { CancelOutWebResponses, DeepPartial } from '../types';
3
+ import { WebDataManager } from '../core/manager';
4
+ export declare class APIGuildStarboard {
5
+ private web;
6
+ constructor(web: WebDataManager);
7
+ getGuildStarboards({ auth, guildId }: GuildStarboardFunctionsInput['getGuildStarboards']): Promise<import("../types").WebResponse<({
8
+ filter: {
9
+ dbId: string;
10
+ guildStarboardId: string;
11
+ roles: string[];
12
+ roleMode: import("@prisma/client").$Enums.FilterEnum | null;
13
+ channelMode: import("@prisma/client").$Enums.FilterEnum | null;
14
+ channels: string[];
15
+ } | null;
16
+ } & {
17
+ dbId: string;
18
+ guildId: string;
19
+ channelId: string;
20
+ enabled: boolean | null;
21
+ threshold: number | null;
22
+ emojiId: string | null;
23
+ emojiName: string | null;
24
+ allowNsfw: boolean | null;
25
+ allowSelfStar: boolean | null;
26
+ allowBotMessages: boolean | null;
27
+ deleteIfLost: boolean | null;
28
+ rewardRole: string | null;
29
+ openThreadOnStar: boolean | null;
30
+ })[]>>;
31
+ createStarboard({ auth, guildId, body }: GuildStarboardFunctionsInput['createStarboard']): Promise<import("../types").WebResponse<string>>;
32
+ updateStarboard({ auth, guildId, channelId, body }: GuildStarboardFunctionsInput['updateStarboard']): Promise<import("../types").WebResponse<string>>;
33
+ deleteStarboard({ auth, guildId, channelId }: GuildStarboardFunctionsInput['deleteStarboard']): Promise<import("../types").WebResponse<string>>;
34
+ }
35
+ export type GuildStarboardFunctionsInput = {
36
+ 'getGuildStarboards': {
37
+ auth: string;
38
+ guildId: string;
39
+ };
40
+ 'createStarboard': {
41
+ auth: string;
42
+ guildId: string;
43
+ body: GuildStarboardZod;
44
+ };
45
+ 'updateStarboard': {
46
+ auth: string;
47
+ guildId: string;
48
+ channelId: string;
49
+ body: DeepPartial<GuildStarboardZod>;
50
+ };
51
+ 'deleteStarboard': {
52
+ auth: string;
53
+ guildId: string;
54
+ channelId: string;
55
+ };
56
+ };
57
+ export type GuildStarboardReturnTypes = {
58
+ 'getGuildStreamersRaw': Awaited<ReturnType<APIGuildStarboard['getGuildStarboards']>>;
59
+ 'getGuildStreamersSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildStarboard['getGuildStarboards']>>>;
60
+ 'createStarboardRaw': Awaited<ReturnType<APIGuildStarboard['createStarboard']>>;
61
+ 'createStarboardSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildStarboard['createStarboard']>>>;
62
+ 'updateStarboardRaw': Awaited<ReturnType<APIGuildStarboard['updateStarboard']>>;
63
+ 'updateStarboardSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildStarboard['updateStarboard']>>>;
64
+ 'deleteStarboardRaw': Awaited<ReturnType<APIGuildStarboard['deleteStarboard']>>;
65
+ 'deleteStarboardSuccess': CancelOutWebResponses<Awaited<ReturnType<APIGuildStarboard['deleteStarboard']>>>;
66
+ };
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APIGuildStarboard = void 0;
4
+ // Data.
5
+ class APIGuildStarboard {
6
+ web;
7
+ constructor(web) {
8
+ this.web = web;
9
+ }
10
+ // Methods.
11
+ async getGuildStarboards({ auth, guildId }) {
12
+ return await this.web.request({
13
+ method: 'GET', auth,
14
+ endpoint: this.web.qp('/data/starboards/' + guildId),
15
+ });
16
+ }
17
+ async createStarboard({ auth, guildId, body }) {
18
+ return await this.web.request({
19
+ method: 'POST', auth, body,
20
+ endpoint: this.web.qp('/data/starboards/' + guildId),
21
+ });
22
+ }
23
+ async updateStarboard({ auth, guildId, channelId, body }) {
24
+ return await this.web.request({
25
+ method: 'PATCH', auth, body,
26
+ endpoint: this.web.qp('/data/starboards/' + guildId + '/' + channelId),
27
+ });
28
+ }
29
+ async deleteStarboard({ auth, guildId, channelId }) {
30
+ return await this.web.request({
31
+ method: 'DELETE', auth,
32
+ endpoint: this.web.qp('/data/starboards/' + guildId + '/' + channelId),
33
+ });
34
+ }
35
+ }
36
+ exports.APIGuildStarboard = APIGuildStarboard;
@@ -0,0 +1,26 @@
1
+ import { WebDataManager } from '../core/manager';
2
+ import { CancelOutWebResponses } from '../types';
3
+ export declare class APILinked {
4
+ private web;
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>>;
11
+ }
12
+ export type LinkedFunctionsInput = {
13
+ 'getLinkedRolesUrl': never;
14
+ 'authorizeLinkedRoles': {
15
+ code: string;
16
+ };
17
+ 'unlinkRoles': never;
18
+ };
19
+ export type LinkedReturnTypes = {
20
+ 'getLinkedRolesUrlRaw': Awaited<ReturnType<APILinked['getLinkedRolesUrl']>>;
21
+ 'getLinkedRolesUrlSuccess': CancelOutWebResponses<Awaited<ReturnType<APILinked['getLinkedRolesUrl']>>>;
22
+ 'authorizeLinkedRolesRaw': Awaited<ReturnType<APILinked['authorizeLinkedRoles']>>;
23
+ 'authorizeLinkedRolesSuccess': CancelOutWebResponses<Awaited<ReturnType<APILinked['authorizeLinkedRoles']>>>;
24
+ 'unlinkRolesRaw': Awaited<ReturnType<APILinked['unlinkRoles']>>;
25
+ 'unlinkRolesSuccess': CancelOutWebResponses<Awaited<ReturnType<APILinked['unlinkRoles']>>>;
26
+ };
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APILinked = void 0;
4
+ // Data.
5
+ class APILinked {
6
+ web;
7
+ constructor(web) {
8
+ this.web = web;
9
+ }
10
+ // Methods.
11
+ async getLinkedRolesUrl() {
12
+ return await this.web.request({
13
+ method: 'GET',
14
+ endpoint: this.web.qp('/linked'),
15
+ });
16
+ }
17
+ async authorizeLinkedRoles({ code }) {
18
+ return await this.web.request({
19
+ method: 'POST',
20
+ endpoint: this.web.qp('/linked', {
21
+ code,
22
+ }),
23
+ });
24
+ }
25
+ async unlinkRoles() {
26
+ return await this.web.request({
27
+ method: 'DELETE',
28
+ endpoint: this.web.qp('/linked'),
29
+ });
30
+ }
31
+ }
32
+ exports.APILinked = APILinked;
@@ -0,0 +1,83 @@
1
+ import { CancelOutWebResponses } from '../types';
2
+ import { WebDataManager } from '../core/manager';
3
+ export declare class APIOther {
4
+ private web;
5
+ constructor(web: WebDataManager);
6
+ status<T extends boolean>({ withTopServers }?: {
7
+ withTopServers?: T;
8
+ }): Promise<import("../types").WebResponse<StatusType<T>>>;
9
+ recentActivity(): Promise<import("../types").WebResponse<RecentActivityType>>;
10
+ checkRateLimit({ auth }: OtherFunctionsInput['checkRateLimit']): Promise<import("../types").WebResponse<string>>;
11
+ getAllLanguages(): Promise<import("../types").WebResponse<LanguageList>>;
12
+ oAuth2({ guildId }: OtherFunctionsInput['oAuth2']): Promise<import("../types").WebResponse<OAuth2Type>>;
13
+ isDown(): Promise<boolean>;
14
+ }
15
+ export type OtherFunctionsInput = {
16
+ 'checkRateLimit': {
17
+ auth: string;
18
+ };
19
+ 'getAllLanguages': never;
20
+ 'oAuth2': {
21
+ guildId?: string;
22
+ };
23
+ };
24
+ export type OtherReturnTypes = {
25
+ 'checkRateLimitRaw': Awaited<ReturnType<APIOther['checkRateLimit']>>;
26
+ 'checkRateLimitSuccess': CancelOutWebResponses<Awaited<ReturnType<APIOther['checkRateLimit']>>>;
27
+ 'getAllLanguagesRaw': Awaited<ReturnType<APIOther['getAllLanguages']>>;
28
+ 'getAllLanguagesSuccess': CancelOutWebResponses<Awaited<ReturnType<APIOther['getAllLanguages']>>>;
29
+ 'oAuth2Raw': Awaited<ReturnType<APIOther['oAuth2']>>;
30
+ 'oAuth2Success': CancelOutWebResponses<Awaited<ReturnType<APIOther['oAuth2']>>>;
31
+ };
32
+ export type LanguageList = {
33
+ name: string;
34
+ value: string;
35
+ }[];
36
+ export type RecentActivityType = {
37
+ type: 'premium' | 'live' | 'vod' | 'clip' | 'overlay' | 'link' | 'vote';
38
+ message: string;
39
+ createdAt: number;
40
+ }[];
41
+ export type OAuth2Type = {
42
+ login: string;
43
+ invite: string;
44
+ };
45
+ export type StatusType<T extends boolean = false> = {
46
+ devMode: boolean;
47
+ shardsPerClusters: number;
48
+ totalStreamers: number;
49
+ totalNotifications: number;
50
+ totalStatChannels: number;
51
+ totalStatusRoles: number;
52
+ totalClips: number;
53
+ totalVods: number;
54
+ totalClusters: number;
55
+ totalShards: number;
56
+ database: string;
57
+ clusters: {
58
+ clusterId: number;
59
+ online: boolean;
60
+ uptime: number;
61
+ ping: number;
62
+ stats: {
63
+ cpuUsage: string;
64
+ coreUsage: string;
65
+ memoryUsage: string;
66
+ };
67
+ totalGuilds: number;
68
+ totalMembers: number;
69
+ shards: {
70
+ shardId: number;
71
+ shardPing: number;
72
+ status: string;
73
+ totalMembers: number;
74
+ totalGuilds: number;
75
+ }[];
76
+ }[];
77
+ topServers: T extends true ? {
78
+ id: string;
79
+ name: string;
80
+ members: number;
81
+ icon: string | null;
82
+ }[] : never;
83
+ };
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APIOther = void 0;
4
+ // Data.
5
+ class APIOther {
6
+ web;
7
+ constructor(web) {
8
+ this.web = web;
9
+ }
10
+ // Methods.
11
+ async status({ withTopServers } = {}) {
12
+ return await this.web.request({
13
+ method: 'GET',
14
+ endpoint: this.web.qp('/status', {
15
+ topServers: withTopServers || false,
16
+ }),
17
+ });
18
+ }
19
+ async recentActivity() {
20
+ return await this.web.request({
21
+ method: 'GET',
22
+ endpoint: this.web.qp('/recent'),
23
+ });
24
+ }
25
+ async checkRateLimit({ auth }) {
26
+ return await this.web.request({
27
+ method: 'GET', auth,
28
+ endpoint: this.web.qp('/ratelimit'),
29
+ });
30
+ }
31
+ async getAllLanguages() {
32
+ return await this.web.request({
33
+ method: 'GET',
34
+ endpoint: this.web.qp('/data/languages'),
35
+ });
36
+ }
37
+ async oAuth2({ guildId }) {
38
+ return await this.web.request({
39
+ method: 'GET',
40
+ endpoint: this.web.qp('/oauth2', {
41
+ guildId,
42
+ }),
43
+ });
44
+ }
45
+ async isDown() {
46
+ const response = await this.web.request({
47
+ method: 'GET',
48
+ endpoint: this.web.qp('/'),
49
+ });
50
+ return 'error' in response || response?.status !== 200;
51
+ }
52
+ }
53
+ exports.APIOther = APIOther;