disgroove 1.3.2 → 1.3.3-dev.1

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 (266) hide show
  1. package/dist/lib/Client.d.ts +234 -0
  2. package/dist/lib/Client.js +256 -0
  3. package/dist/lib/Client.js.map +1 -0
  4. package/dist/lib/constants.d.ts +1084 -0
  5. package/dist/lib/constants.js +1163 -0
  6. package/dist/lib/constants.js.map +1 -0
  7. package/dist/lib/gateway/Shard.d.ts +25 -0
  8. package/dist/lib/gateway/Shard.js +522 -0
  9. package/dist/lib/gateway/Shard.js.map +1 -0
  10. package/dist/lib/gateway/ShardsManager.d.ts +5 -0
  11. package/dist/lib/gateway/ShardsManager.js +13 -0
  12. package/dist/lib/gateway/ShardsManager.js.map +1 -0
  13. package/dist/lib/gateway/index.d.ts +2 -0
  14. package/dist/lib/gateway/index.js +19 -0
  15. package/dist/lib/gateway/index.js.map +1 -0
  16. package/dist/lib/index.d.ts +7 -0
  17. package/dist/lib/index.js +24 -0
  18. package/dist/lib/index.js.map +1 -0
  19. package/dist/lib/rest/CDN.d.ts +21 -0
  20. package/dist/lib/rest/CDN.js +46 -0
  21. package/dist/lib/rest/CDN.js.map +1 -0
  22. package/dist/lib/rest/Endpoints.d.ts +94 -0
  23. package/dist/lib/rest/Endpoints.js +211 -0
  24. package/dist/lib/rest/Endpoints.js.map +1 -0
  25. package/dist/lib/rest/REST.d.ts +22 -0
  26. package/dist/lib/rest/REST.js +35 -0
  27. package/dist/lib/rest/REST.js.map +1 -0
  28. package/dist/lib/rest/RequestsManager.d.ts +17 -0
  29. package/dist/lib/rest/RequestsManager.js +124 -0
  30. package/dist/lib/rest/RequestsManager.js.map +1 -0
  31. package/dist/lib/rest/index.d.ts +4 -0
  32. package/dist/lib/rest/index.js +34 -0
  33. package/dist/lib/rest/index.js.map +1 -0
  34. package/dist/lib/structures/Application.d.ts +174 -0
  35. package/dist/lib/structures/Application.js +328 -0
  36. package/dist/lib/structures/Application.js.map +1 -0
  37. package/dist/lib/structures/ApplicationCommand.d.ts +45 -0
  38. package/dist/lib/structures/ApplicationCommand.js +127 -0
  39. package/dist/lib/structures/ApplicationCommand.js.map +1 -0
  40. package/dist/lib/structures/AuditLog.d.ts +20 -0
  41. package/dist/lib/structures/AuditLog.js +76 -0
  42. package/dist/lib/structures/AuditLog.js.map +1 -0
  43. package/dist/lib/structures/AutoModerationRule.d.ts +34 -0
  44. package/dist/lib/structures/AutoModerationRule.js +96 -0
  45. package/dist/lib/structures/AutoModerationRule.js.map +1 -0
  46. package/dist/lib/structures/Base.d.ts +17 -0
  47. package/dist/lib/structures/Base.js +31 -0
  48. package/dist/lib/structures/Base.js.map +1 -0
  49. package/dist/lib/structures/Channel.d.ts +253 -0
  50. package/dist/lib/structures/Channel.js +591 -0
  51. package/dist/lib/structures/Channel.js.map +1 -0
  52. package/dist/lib/structures/ClientApplication.d.ts +150 -0
  53. package/dist/lib/structures/ClientApplication.js +241 -0
  54. package/dist/lib/structures/ClientApplication.js.map +1 -0
  55. package/dist/lib/structures/Emoji.d.ts +28 -0
  56. package/dist/lib/structures/Emoji.js +79 -0
  57. package/dist/lib/structures/Emoji.js.map +1 -0
  58. package/dist/lib/structures/Entitlement.d.ts +24 -0
  59. package/dist/lib/structures/Entitlement.js +68 -0
  60. package/dist/lib/structures/Entitlement.js.map +1 -0
  61. package/dist/lib/structures/Guild.d.ts +462 -0
  62. package/dist/lib/structures/Guild.js +1095 -0
  63. package/dist/lib/structures/Guild.js.map +1 -0
  64. package/dist/lib/structures/GuildMember.d.ts +50 -0
  65. package/dist/lib/structures/GuildMember.js +149 -0
  66. package/dist/lib/structures/GuildMember.js.map +1 -0
  67. package/dist/lib/structures/GuildScheduledEvent.d.ts +49 -0
  68. package/dist/lib/structures/GuildScheduledEvent.js +118 -0
  69. package/dist/lib/structures/GuildScheduledEvent.js.map +1 -0
  70. package/dist/lib/structures/GuildTemplate.d.ts +32 -0
  71. package/dist/lib/structures/GuildTemplate.js +76 -0
  72. package/dist/lib/structures/GuildTemplate.js.map +1 -0
  73. package/dist/lib/structures/Integration.d.ts +30 -0
  74. package/dist/lib/structures/Integration.js +102 -0
  75. package/dist/lib/structures/Integration.js.map +1 -0
  76. package/dist/lib/structures/Interaction.d.ts +76 -0
  77. package/dist/lib/structures/Interaction.js +345 -0
  78. package/dist/lib/structures/Interaction.js.map +1 -0
  79. package/dist/lib/structures/Invite.d.ts +28 -0
  80. package/dist/lib/structures/Invite.js +86 -0
  81. package/dist/lib/structures/Invite.js.map +1 -0
  82. package/dist/lib/structures/Message.d.ts +84 -0
  83. package/dist/lib/structures/Message.js +300 -0
  84. package/dist/lib/structures/Message.js.map +1 -0
  85. package/dist/lib/structures/Role.d.ts +37 -0
  86. package/dist/lib/structures/Role.js +90 -0
  87. package/dist/lib/structures/Role.js.map +1 -0
  88. package/dist/lib/structures/SKU.d.ts +23 -0
  89. package/dist/lib/structures/SKU.js +63 -0
  90. package/dist/lib/structures/SKU.js.map +1 -0
  91. package/dist/lib/structures/StageInstance.d.ts +24 -0
  92. package/dist/lib/structures/StageInstance.js +57 -0
  93. package/dist/lib/structures/StageInstance.js.map +1 -0
  94. package/dist/lib/structures/Sticker.d.ts +31 -0
  95. package/dist/lib/structures/Sticker.js +86 -0
  96. package/dist/lib/structures/Sticker.js.map +1 -0
  97. package/dist/lib/structures/Team.d.ts +14 -0
  98. package/dist/lib/structures/Team.js +39 -0
  99. package/dist/lib/structures/Team.js.map +1 -0
  100. package/dist/lib/structures/TestEntitlement.d.ts +23 -0
  101. package/dist/lib/structures/TestEntitlement.js +61 -0
  102. package/dist/lib/structures/TestEntitlement.js.map +1 -0
  103. package/dist/lib/structures/UnavailableGuild.d.ts +11 -0
  104. package/dist/lib/structures/UnavailableGuild.js +25 -0
  105. package/dist/lib/structures/UnavailableGuild.js.map +1 -0
  106. package/dist/lib/structures/User.d.ts +63 -0
  107. package/dist/lib/structures/User.js +177 -0
  108. package/dist/lib/structures/User.js.map +1 -0
  109. package/dist/lib/structures/VoiceState.d.ts +26 -0
  110. package/dist/lib/structures/VoiceState.js +70 -0
  111. package/dist/lib/structures/VoiceState.js.map +1 -0
  112. package/dist/lib/structures/Webhook.d.ts +84 -0
  113. package/dist/lib/structures/Webhook.js +239 -0
  114. package/dist/lib/structures/Webhook.js.map +1 -0
  115. package/dist/lib/structures/index.d.ts +27 -0
  116. package/dist/lib/structures/index.js +44 -0
  117. package/dist/lib/structures/index.js.map +1 -0
  118. package/dist/lib/types/application-command.d.ts +102 -0
  119. package/dist/lib/types/application-command.js +3 -0
  120. package/dist/lib/types/application-command.js.map +1 -0
  121. package/dist/lib/types/application-role-connection-metadata.d.ts +18 -0
  122. package/dist/lib/types/application-role-connection-metadata.js +3 -0
  123. package/dist/lib/types/application-role-connection-metadata.js.map +1 -0
  124. package/dist/lib/types/application.d.ts +66 -0
  125. package/dist/lib/types/application.js +3 -0
  126. package/dist/lib/types/application.js.map +1 -0
  127. package/dist/lib/types/audit-log.d.ts +82 -0
  128. package/dist/lib/types/audit-log.js +3 -0
  129. package/dist/lib/types/audit-log.js.map +1 -0
  130. package/dist/lib/types/auto-moderation.d.ts +65 -0
  131. package/dist/lib/types/auto-moderation.js +3 -0
  132. package/dist/lib/types/auto-moderation.js.map +1 -0
  133. package/dist/lib/types/channel.d.ts +456 -0
  134. package/dist/lib/types/channel.js +3 -0
  135. package/dist/lib/types/channel.js.map +1 -0
  136. package/dist/lib/types/emoji.d.ts +22 -0
  137. package/dist/lib/types/emoji.js +3 -0
  138. package/dist/lib/types/emoji.js.map +1 -0
  139. package/dist/lib/types/entitlements.d.ts +32 -0
  140. package/dist/lib/types/entitlements.js +3 -0
  141. package/dist/lib/types/entitlements.js.map +1 -0
  142. package/dist/lib/types/gateway-events.d.ts +805 -0
  143. package/dist/lib/types/gateway-events.js +3 -0
  144. package/dist/lib/types/gateway-events.js.map +1 -0
  145. package/dist/lib/types/guild-scheduled-event.d.ts +57 -0
  146. package/dist/lib/types/guild-scheduled-event.js +3 -0
  147. package/dist/lib/types/guild-scheduled-event.js.map +1 -0
  148. package/dist/lib/types/guild-template.d.ts +28 -0
  149. package/dist/lib/types/guild-template.js +3 -0
  150. package/dist/lib/types/guild-template.js.map +1 -0
  151. package/dist/lib/types/guild.d.ts +333 -0
  152. package/dist/lib/types/guild.js +3 -0
  153. package/dist/lib/types/guild.js.map +1 -0
  154. package/dist/lib/types/index.d.ts +23 -0
  155. package/dist/lib/types/index.js +40 -0
  156. package/dist/lib/types/index.js.map +1 -0
  157. package/dist/lib/types/interaction.d.ts +170 -0
  158. package/dist/lib/types/interaction.js +3 -0
  159. package/dist/lib/types/interaction.js.map +1 -0
  160. package/dist/lib/types/invite.d.ts +59 -0
  161. package/dist/lib/types/invite.js +3 -0
  162. package/dist/lib/types/invite.js.map +1 -0
  163. package/dist/lib/types/message-components.d.ts +100 -0
  164. package/dist/lib/types/message-components.js +3 -0
  165. package/dist/lib/types/message-components.js.map +1 -0
  166. package/dist/lib/types/role.d.ts +47 -0
  167. package/dist/lib/types/role.js +3 -0
  168. package/dist/lib/types/role.js.map +1 -0
  169. package/dist/lib/types/sku.d.ts +30 -0
  170. package/dist/lib/types/sku.js +3 -0
  171. package/dist/lib/types/sku.js.map +1 -0
  172. package/dist/lib/types/stage-instance.d.ts +20 -0
  173. package/dist/lib/types/stage-instance.js +3 -0
  174. package/dist/lib/types/stage-instance.js.map +1 -0
  175. package/dist/lib/types/sticker.d.ts +61 -0
  176. package/dist/lib/types/sticker.js +3 -0
  177. package/dist/lib/types/sticker.js.map +1 -0
  178. package/dist/lib/types/team.d.ts +30 -0
  179. package/dist/lib/types/team.js +3 -0
  180. package/dist/lib/types/team.js.map +1 -0
  181. package/dist/lib/types/user.d.ts +77 -0
  182. package/dist/lib/types/user.js +3 -0
  183. package/dist/lib/types/user.js.map +1 -0
  184. package/dist/lib/types/voice.d.ts +47 -0
  185. package/dist/lib/types/voice.js +3 -0
  186. package/dist/lib/types/voice.js.map +1 -0
  187. package/dist/lib/types/webhook.d.ts +31 -0
  188. package/dist/lib/types/webhook.js +3 -0
  189. package/dist/lib/types/webhook.js.map +1 -0
  190. package/dist/lib/utils/Util.d.ts +15 -0
  191. package/dist/lib/utils/Util.js +543 -0
  192. package/dist/lib/utils/Util.js.map +1 -0
  193. package/dist/lib/utils/errors.d.ts +12 -0
  194. package/dist/lib/utils/errors.js +25 -0
  195. package/dist/lib/utils/errors.js.map +1 -0
  196. package/dist/lib/utils/index.d.ts +2 -0
  197. package/dist/lib/utils/index.js +19 -0
  198. package/dist/lib/utils/index.js.map +1 -0
  199. package/dist/package.json +1 -1
  200. package/lib/Client.ts +616 -0
  201. package/lib/constants.ts +1173 -0
  202. package/lib/gateway/Shard.ts +704 -0
  203. package/lib/gateway/ShardsManager.ts +11 -0
  204. package/lib/gateway/index.ts +2 -0
  205. package/lib/index.ts +7 -0
  206. package/lib/rest/CDN.ts +56 -0
  207. package/lib/rest/Endpoints.ts +241 -0
  208. package/lib/rest/REST.ts +45 -0
  209. package/lib/rest/RequestsManager.ts +134 -0
  210. package/lib/rest/index.ts +4 -0
  211. package/lib/structures/Application.ts +599 -0
  212. package/lib/structures/ApplicationCommand.ts +187 -0
  213. package/lib/structures/AuditLog.ts +112 -0
  214. package/lib/structures/AutoModerationRule.ts +127 -0
  215. package/lib/structures/Base.ts +39 -0
  216. package/lib/structures/Channel.ts +921 -0
  217. package/lib/structures/ClientApplication.ts +515 -0
  218. package/lib/structures/Emoji.ts +95 -0
  219. package/lib/structures/Entitlement.ts +65 -0
  220. package/lib/structures/Guild.ts +1842 -0
  221. package/lib/structures/GuildMember.ts +193 -0
  222. package/lib/structures/GuildScheduledEvent.ts +164 -0
  223. package/lib/structures/GuildTemplate.ts +103 -0
  224. package/lib/structures/Integration.ts +136 -0
  225. package/lib/structures/Interaction.ts +506 -0
  226. package/lib/structures/Invite.ts +108 -0
  227. package/lib/structures/Message.ts +421 -0
  228. package/lib/structures/Role.ts +116 -0
  229. package/lib/structures/SKU.ts +63 -0
  230. package/lib/structures/StageInstance.ts +74 -0
  231. package/lib/structures/Sticker.ts +100 -0
  232. package/lib/structures/Team.ts +41 -0
  233. package/lib/structures/TestEntitlement.ts +78 -0
  234. package/lib/structures/UnavailableGuild.ts +27 -0
  235. package/lib/structures/User.ts +233 -0
  236. package/lib/structures/VoiceState.ts +72 -0
  237. package/lib/structures/Webhook.ts +341 -0
  238. package/lib/structures/index.ts +27 -0
  239. package/lib/types/application-command.ts +118 -0
  240. package/lib/types/application-role-connection-metadata.ts +23 -0
  241. package/lib/types/application.ts +77 -0
  242. package/lib/types/audit-log.ts +105 -0
  243. package/lib/types/auto-moderation.ts +78 -0
  244. package/lib/types/channel.ts +534 -0
  245. package/lib/types/emoji.ts +24 -0
  246. package/lib/types/entitlements.ts +34 -0
  247. package/lib/types/gateway-events.ts +970 -0
  248. package/lib/types/guild-scheduled-event.ts +67 -0
  249. package/lib/types/guild-template.ts +30 -0
  250. package/lib/types/guild.ts +388 -0
  251. package/lib/types/index.ts +23 -0
  252. package/lib/types/interaction.ts +224 -0
  253. package/lib/types/invite.ts +78 -0
  254. package/lib/types/message-components.ts +127 -0
  255. package/lib/types/role.ts +51 -0
  256. package/lib/types/sku.ts +32 -0
  257. package/lib/types/stage-instance.ts +22 -0
  258. package/lib/types/sticker.ts +67 -0
  259. package/lib/types/team.ts +34 -0
  260. package/lib/types/user.ts +93 -0
  261. package/lib/types/voice.ts +51 -0
  262. package/lib/types/webhook.ts +40 -0
  263. package/lib/utils/Util.ts +600 -0
  264. package/lib/utils/errors.ts +23 -0
  265. package/lib/utils/index.ts +2 -0
  266. package/package.json +1 -1
@@ -0,0 +1,234 @@
1
+ /// <reference types="node" />
2
+ import { type DefaultMessageNotificationLevel, type ExplicitContentFilterLevel, GatewayIntents, type OAuth2Scopes, type PrivacyLevel, StatusTypes, type SystemChannelFlags, type VerificationLevel, ChannelTypes } from "./constants";
3
+ import { Util } from "./utils";
4
+ import { REST } from "./rest";
5
+ import { Application, AutoModerationRule, Channel, Guild, GuildMember, GuildScheduledEvent, Integration, Interaction, Invite, Message, StageInstance, User, VoiceState, ClientApplication, Emoji, Sticker, Role, UnavailableGuild, Entitlement } from "./structures";
6
+ import type { Activity, JSONAuditLogEntry, AutoModerationActionExecutionEventFields, JSONAutoModerationRule, JSONChannel, ChannelPinsUpdateEventFields, JSONGuildApplicationCommandPermissions, GuildBanAddEventFields, GuildBanRemoveEventFields, GuildMemberRemoveEventFields, GuildMemberUpdateEventFields, GuildMembersChunkEventFields, JSONGuildScheduledEvent, IntegrationDeleteEventFields, InviteCreateEventFields, InviteDeleteEventFields, MessageDeleteBulkEventFields, MessageDeleteEventFields, MessageReactionAddEventFields, MessageReactionRemoveAllEventFields, MessageReactionRemoveEmojiEventFields, MessageReactionRemoveEventFields, PresenceUpdateEventFields, JSONRole, JSONStageInstance, JSONStickerPack, ThreadListSyncEventFields, JSONThreadMember, ThreadMembersUpdateEventFields, TypingStartEventFields, JSONVoiceRegion, VoiceServerUpdateEventFields, JSONEntitlement, JSONUnavailableGuild } from "./types";
7
+ import EventEmitter from "node:events";
8
+ import { ShardsManager } from "./gateway";
9
+ export interface ClientEvents {
10
+ hello: [];
11
+ ready: [];
12
+ resumed: [];
13
+ reconnect: [];
14
+ invalidSession: [];
15
+ applicationCommandPermissionsUpdate: [
16
+ applicationCommandPermissions: JSONGuildApplicationCommandPermissions
17
+ ];
18
+ autoModerationRuleCreate: [autoModerationRule: AutoModerationRule];
19
+ autoModerationRuleUpdate: [autoModerationRule: AutoModerationRule];
20
+ autoModerationRuleDelete: [autoModerationRule: JSONAutoModerationRule];
21
+ autoModerationActionExecution: [
22
+ autoModerationExecution: AutoModerationActionExecutionEventFields
23
+ ];
24
+ channelCreate: [channel: Channel];
25
+ channelUpdate: [channel: Channel];
26
+ channelDelete: [channel: JSONChannel];
27
+ channelPinsUpdate: [pins: ChannelPinsUpdateEventFields];
28
+ threadCreate: [thread: Channel];
29
+ threadUpdate: [thread: Channel];
30
+ threadDelete: [thread: JSONChannel];
31
+ threadListSync: [sync: ThreadListSyncEventFields];
32
+ threadMemberUpdate: [
33
+ threadMember: JSONThreadMember & {
34
+ guildId: string;
35
+ }
36
+ ];
37
+ threadMembersUpdate: [thread: ThreadMembersUpdateEventFields];
38
+ entitlementCreate: [entitlement: Entitlement];
39
+ entitlementUpdate: [entitlement: Entitlement];
40
+ entitlementDelete: [entitlement: JSONEntitlement];
41
+ guildCreate: [guild: Guild | UnavailableGuild];
42
+ guildUpdate: [guild: Guild];
43
+ guildDelete: [guild: JSONUnavailableGuild];
44
+ guildAuditLogEntryCreate: [auditLogEntry: JSONAuditLogEntry];
45
+ guildBanAdd: [ban: GuildBanAddEventFields];
46
+ guildBanRemove: [ban: GuildBanRemoveEventFields];
47
+ guildEmojisUpdate: [emojis: Array<Emoji>, guildId: string];
48
+ guildStickersUpdate: [stickers: Array<Sticker>, guildId: string];
49
+ guildIntegrationsUpdate: [guildId: string];
50
+ guildMemberAdd: [guildMember: GuildMember];
51
+ guildMemberRemove: [guildMember: GuildMemberRemoveEventFields];
52
+ guildMemberUpdate: [guildMember: GuildMemberUpdateEventFields];
53
+ guildMembersChunk: [request: GuildMembersChunkEventFields];
54
+ guildRoleCreate: [role: Role, guildId: string];
55
+ guildRoleUpdate: [role: Role, guildId: string];
56
+ guildRoleDelete: [roleId: string, guildId: string];
57
+ guildScheduledEventCreate: [guildScheduledEvent: GuildScheduledEvent];
58
+ guildScheduledEventUpdate: [guildScheduledEvent: GuildScheduledEvent];
59
+ guildScheduledEventDelete: [guildScheduledEvent: JSONGuildScheduledEvent];
60
+ guildScheduledEventUserAdd: [
61
+ userId: string,
62
+ guildScheduledEventId: string,
63
+ guildId: string
64
+ ];
65
+ guildScheduledEventUserRemove: [
66
+ userId: string,
67
+ guildScheduledEventId: string,
68
+ guildId: string
69
+ ];
70
+ integrationCreate: [integration: Integration];
71
+ integrationUpdate: [integration: Integration];
72
+ integrationDelete: [integration: IntegrationDeleteEventFields];
73
+ interactionCreate: [interaction: Interaction];
74
+ inviteCreate: [invite: InviteCreateEventFields];
75
+ inviteDelete: [invite: InviteDeleteEventFields];
76
+ messageCreate: [message: Message];
77
+ messageUpdate: [
78
+ message: Message | {
79
+ id: string;
80
+ channelId: string;
81
+ }
82
+ ];
83
+ messageDelete: [message: MessageDeleteEventFields];
84
+ messageDeleteBulk: [bulk: MessageDeleteBulkEventFields];
85
+ messageReactionAdd: [reaction: MessageReactionAddEventFields];
86
+ messageReactionRemove: [reaction: MessageReactionRemoveEventFields];
87
+ messageReactionRemoveAll: [reaction: MessageReactionRemoveAllEventFields];
88
+ messageReactionRemoveEmoji: [reaction: MessageReactionRemoveEmojiEventFields];
89
+ presenceUpdate: [presence: PresenceUpdateEventFields];
90
+ stageInstanceCreate: [stageInstance: StageInstance];
91
+ stageInstanceUpdate: [stageInstance: StageInstance];
92
+ stageInstanceDelete: [stageInstance: JSONStageInstance];
93
+ typingStart: [typing: TypingStartEventFields];
94
+ userUpdate: [user: User];
95
+ voiceStateUpdate: [voiceState: VoiceState];
96
+ voiceServerUpdate: [voiceServer: VoiceServerUpdateEventFields];
97
+ webhooksUpdate: [channelId: string, guildId: string];
98
+ }
99
+ export interface ClientOptions {
100
+ intents?: number | Array<number>;
101
+ shardsCount?: number | "auto";
102
+ auth?: "Bot" | "Bearer";
103
+ }
104
+ export declare class Client extends EventEmitter {
105
+ token: string;
106
+ intents: GatewayIntents | number;
107
+ shardsCount: number | "auto";
108
+ auth: "Bot" | "Bearer";
109
+ shards: ShardsManager;
110
+ rest: REST;
111
+ util: Util;
112
+ user: User;
113
+ application: ClientApplication;
114
+ guildSharding: Record<string, number>;
115
+ constructor(token: string, options?: ClientOptions);
116
+ /** https://discord.com/developers/docs/resources/guild#create-guild */
117
+ createGuild(options: {
118
+ name: string;
119
+ region?: string | null;
120
+ icon?: string;
121
+ verificationLevel?: VerificationLevel;
122
+ defaultMessageNotifications?: DefaultMessageNotificationLevel;
123
+ explicitContentFilter?: ExplicitContentFilterLevel;
124
+ roles?: Array<Partial<Omit<JSONRole, "id" | "position" | "tags" | "flags" | "managed">>>;
125
+ channels?: Array<{
126
+ name: string;
127
+ type: ChannelTypes;
128
+ id?: number;
129
+ parentId?: number;
130
+ }>;
131
+ afkChannelId?: string;
132
+ afkTimeout?: number;
133
+ systemChannelId?: string;
134
+ systemChannelFlags?: SystemChannelFlags;
135
+ }): Promise<Guild>;
136
+ /** https://discord.com/developers/docs/resources/guild-template#create-guild-from-guild-template */
137
+ createGuildFromTemplate(code: string, options: {
138
+ name: string;
139
+ icon?: string;
140
+ }): Promise<Guild>;
141
+ /** https://discord.com/developers/docs/resources/stage-instance#create-stage-instance */
142
+ createStageInstance(options: {
143
+ channelId: string;
144
+ topic: string;
145
+ privacyLevel?: PrivacyLevel;
146
+ sendStartNotifications?: boolean;
147
+ guildScheduledEventId?: string;
148
+ }, reason?: string): Promise<StageInstance>;
149
+ /** https://discord.com/developers/docs/resources/application#get-current-application */
150
+ getApplication(): Promise<Application>;
151
+ /** https://discord.com/developers/docs/resources/channel#get-channel */
152
+ getChannel(channelId: string): Promise<Channel>;
153
+ /** https://discord.com/developers/docs/topics/gateway#get-gateway */
154
+ getGateway(): Promise<{
155
+ url: string;
156
+ }>;
157
+ /** https://discord.com/developers/docs/topics/gateway#get-gateway-bot */
158
+ getGatewayBot(): Promise<{
159
+ url: string;
160
+ shards: number;
161
+ sessionStartLimit: {
162
+ total: number;
163
+ remaining: number;
164
+ resetAfter: number;
165
+ maxConcurrency: number;
166
+ };
167
+ }>;
168
+ /** https://discord.com/developers/docs/resources/guild#get-guild */
169
+ getGuild(guildId: string, options?: {
170
+ withCounts?: boolean;
171
+ }): Promise<Guild>;
172
+ /** https://discord.com/developers/docs/resources/user#get-current-user-guilds */
173
+ getGuilds(options?: {
174
+ before?: string;
175
+ after?: string;
176
+ limit?: number;
177
+ withCounts?: boolean;
178
+ }): Promise<Array<Guild>>;
179
+ /** https://discord.com/developers/docs/resources/invite#get-invite */
180
+ getInvite(code: string, options?: {
181
+ withCounts?: boolean;
182
+ withExpiration?: boolean;
183
+ guildScheduledEventId?: string;
184
+ }): Promise<Invite>;
185
+ /** https://discord.com/developers/docs/topics/oauth2#get-current-bot-application-information */
186
+ getOAuth2Application(): Promise<Application>;
187
+ /** https://discord.com/developers/docs/topics/oauth2#get-current-authorization-information */
188
+ getOAuth2Authorization(): Promise<{
189
+ application: Application;
190
+ scopes: Array<OAuth2Scopes>;
191
+ expires: string;
192
+ user?: User;
193
+ }>;
194
+ /** https://discord.com/developers/docs/resources/stage-instance#get-stage-instance */
195
+ getStageInstance(channelId: string): Promise<StageInstance>;
196
+ /** https://discord.com/developers/docs/resources/sticker#list-sticker-packs */
197
+ getStickerPacks(): Promise<{
198
+ stickerPacks: Array<JSONStickerPack>;
199
+ }>;
200
+ /** https://discord.com/developers/docs/resources/user#get-user */
201
+ getUser(userId?: string): Promise<User>;
202
+ /** https://discord.com/developers/docs/resources/voice#list-voice-regions */
203
+ getVoiceRegions(): Promise<Array<JSONVoiceRegion>>;
204
+ /** https://discord.com/developers/docs/topics/gateway-events#update-voice-state */
205
+ joinVoiceChannel(guildId: string, channelId: string, options?: {
206
+ selfMute?: boolean;
207
+ selfDeaf?: boolean;
208
+ }): void;
209
+ /** https://discord.com/developers/docs/topics/gateway-events#update-voice-state */
210
+ leaveVoiceChannel(guildId: string): void;
211
+ /** https://discord.com/developers/docs/topics/gateway-events#update-presence */
212
+ setPresence(options: {
213
+ activity?: Pick<Activity, "name" | "type" | "url" | "state">;
214
+ status?: StatusTypes;
215
+ afk?: boolean;
216
+ }): void;
217
+ /** https://discord.com/developers/docs/topics/gateway#connections */
218
+ connect(): Promise<void>;
219
+ disconnect(): void;
220
+ }
221
+ export declare interface Client extends EventEmitter {
222
+ addListener<K extends keyof ClientEvents>(eventName: K, listener: (...args: ClientEvents[K]) => void): this;
223
+ emit<K extends keyof ClientEvents>(eventName: K, ...args: ClientEvents[K]): boolean;
224
+ listenerCount(eventName: keyof ClientEvents): number;
225
+ listeners(eventName: keyof ClientEvents): Array<Function>;
226
+ off<K extends keyof ClientEvents>(eventName: K, listener: (...args: ClientEvents[K]) => void): this;
227
+ on<K extends keyof ClientEvents>(eventName: K, listener: (...args: ClientEvents[K]) => void): this;
228
+ once<K extends keyof ClientEvents>(eventName: K, listener: (...args: ClientEvents[K]) => void): this;
229
+ prependListener<K extends keyof ClientEvents>(eventName: K, listener: (...args: ClientEvents[K]) => void): this;
230
+ prependOnceListener<K extends keyof ClientEvents>(eventName: K, listener: (...args: ClientEvents[K]) => void): this;
231
+ rawListeners(eventName: keyof ClientEvents): Array<Function>;
232
+ removeAllListeners(event?: keyof ClientEvents): this;
233
+ removeListener<K extends keyof ClientEvents>(eventName: K, listener: (...args: ClientEvents[K]) => void): this;
234
+ }
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Client = void 0;
7
+ const constants_1 = require("./constants");
8
+ const utils_1 = require("./utils");
9
+ const rest_1 = require("./rest");
10
+ const structures_1 = require("./structures");
11
+ const node_events_1 = __importDefault(require("node:events"));
12
+ const gateway_1 = require("./gateway");
13
+ class Client extends node_events_1.default {
14
+ token;
15
+ intents;
16
+ shardsCount;
17
+ auth;
18
+ shards;
19
+ rest;
20
+ util;
21
+ user;
22
+ application;
23
+ guildSharding;
24
+ constructor(token, options) {
25
+ super();
26
+ this.token = token;
27
+ this.intents =
28
+ options?.intents !== undefined
29
+ ? Array.isArray(options.intents)
30
+ ? options.intents.reduce((sum, num) => sum + num, 0)
31
+ : options.intents
32
+ : constants_1.GatewayIntents.AllNonPrivileged;
33
+ this.shardsCount = options?.shardsCount ?? "auto";
34
+ this.auth = options?.auth ?? "Bot";
35
+ this.shards = new gateway_1.ShardsManager();
36
+ this.rest = new rest_1.REST(token, this.auth);
37
+ this.util = new utils_1.Util();
38
+ this.guildSharding = {};
39
+ }
40
+ /** https://discord.com/developers/docs/resources/guild#create-guild */
41
+ async createGuild(options) {
42
+ return new structures_1.Guild(await this.rest.post(rest_1.Endpoints.guilds(), {
43
+ json: {
44
+ name: options.name,
45
+ region: options.region,
46
+ icon: options.icon,
47
+ verification_level: options.verificationLevel,
48
+ default_message_notifications: options.defaultMessageNotifications,
49
+ explicit_content_filter: options.explicitContentFilter,
50
+ roles: options.roles?.map((role) => this.util.roleToRaw(role)),
51
+ channels: options.channels?.map((channel) => ({
52
+ id: channel.id,
53
+ type: channel.name,
54
+ parent_id: channel.parentId,
55
+ name: channel.name,
56
+ })),
57
+ afk_channel_id: options.afkChannelId,
58
+ afk_timeout: options.afkTimeout,
59
+ system_channel_id: options.systemChannelId,
60
+ system_channel_flags: options.systemChannelFlags,
61
+ },
62
+ }), this);
63
+ }
64
+ /** https://discord.com/developers/docs/resources/guild-template#create-guild-from-guild-template */
65
+ async createGuildFromTemplate(code, options) {
66
+ return new structures_1.Guild(await this.rest.post(rest_1.Endpoints.template(code), {
67
+ json: {
68
+ name: options.name,
69
+ icon: options.icon,
70
+ },
71
+ }), this);
72
+ }
73
+ /** https://discord.com/developers/docs/resources/stage-instance#create-stage-instance */
74
+ async createStageInstance(options, reason) {
75
+ return new structures_1.StageInstance(await this.rest.post(rest_1.Endpoints.stageInstances(), {
76
+ json: {
77
+ channel_id: options.channelId,
78
+ topic: options.topic,
79
+ privacy_level: options.privacyLevel,
80
+ send_start_notifications: options.sendStartNotifications,
81
+ guild_scheduled_event_id: options.guildScheduledEventId,
82
+ },
83
+ reason,
84
+ }), this);
85
+ }
86
+ /** https://discord.com/developers/docs/resources/application#get-current-application */
87
+ async getApplication() {
88
+ return new structures_1.Application(await this.rest.get(rest_1.Endpoints.applicationCurrentUser()), this);
89
+ }
90
+ /** https://discord.com/developers/docs/resources/channel#get-channel */
91
+ async getChannel(channelId) {
92
+ return new structures_1.Channel(await this.rest.get(rest_1.Endpoints.channel(channelId)), this);
93
+ }
94
+ /** https://discord.com/developers/docs/topics/gateway#get-gateway */
95
+ async getGateway() {
96
+ return this.rest.get(rest_1.Endpoints.gateway());
97
+ }
98
+ /** https://discord.com/developers/docs/topics/gateway#get-gateway-bot */
99
+ async getGatewayBot() {
100
+ return this.rest
101
+ .get(rest_1.Endpoints.gatewayBot())
102
+ .then((response) => ({
103
+ url: response.url,
104
+ shards: response.shards,
105
+ sessionStartLimit: {
106
+ total: response.session_start_limit.total,
107
+ remaining: response.session_start_limit.remaining,
108
+ resetAfter: response.session_start_limit.reset_after,
109
+ maxConcurrency: response.session_start_limit.max_concurrency,
110
+ },
111
+ }));
112
+ }
113
+ /** https://discord.com/developers/docs/resources/guild#get-guild */
114
+ async getGuild(guildId, options) {
115
+ return new structures_1.Guild(await this.rest.get(rest_1.Endpoints.guild(guildId), {
116
+ query: {
117
+ with_counts: options?.withCounts,
118
+ },
119
+ }), this);
120
+ }
121
+ /** https://discord.com/developers/docs/resources/user#get-current-user-guilds */
122
+ async getGuilds(options) {
123
+ return this.rest
124
+ .get(rest_1.Endpoints.userGuilds(), {
125
+ query: {
126
+ before: options?.before,
127
+ after: options?.after,
128
+ limit: options?.limit,
129
+ with_counts: options?.withCounts,
130
+ },
131
+ })
132
+ .then((response) => response.map((data) => new structures_1.Guild(data, this)));
133
+ }
134
+ /** https://discord.com/developers/docs/resources/invite#get-invite */
135
+ async getInvite(code, options) {
136
+ return new structures_1.Invite(await this.rest.get(rest_1.Endpoints.invite(code), {
137
+ query: {
138
+ with_counts: options?.withCounts,
139
+ with_expiration: options?.withExpiration,
140
+ guild_scheduled_event_id: options?.guildScheduledEventId,
141
+ },
142
+ }), this);
143
+ }
144
+ /** https://discord.com/developers/docs/topics/oauth2#get-current-bot-application-information */
145
+ async getOAuth2Application() {
146
+ return new structures_1.Application(await this.rest.get(rest_1.Endpoints.oauth2CurrentApplication()), this);
147
+ }
148
+ /** https://discord.com/developers/docs/topics/oauth2#get-current-authorization-information */
149
+ async getOAuth2Authorization() {
150
+ return this.rest
151
+ .get(rest_1.Endpoints.oauth2Authorization())
152
+ .then((response) => ({
153
+ application: new structures_1.Application(response.application, this),
154
+ scopes: response.scopes,
155
+ expires: response.expires,
156
+ user: response.user !== undefined
157
+ ? new structures_1.User(response.user, this)
158
+ : undefined,
159
+ }));
160
+ }
161
+ /** https://discord.com/developers/docs/resources/stage-instance#get-stage-instance */
162
+ async getStageInstance(channelId) {
163
+ return new structures_1.StageInstance(await this.rest.get(rest_1.Endpoints.stageInstance(channelId)), this);
164
+ }
165
+ /** https://discord.com/developers/docs/resources/sticker#list-sticker-packs */
166
+ async getStickerPacks() {
167
+ return this.rest
168
+ .get(rest_1.Endpoints.stickerPacks())
169
+ .then((response) => ({
170
+ stickerPacks: response.sticker_packs.map((stickerPack) => ({
171
+ id: stickerPack.id,
172
+ stickers: stickerPack.stickers.map((sticker) => ({
173
+ id: sticker.id,
174
+ packId: sticker.pack_id,
175
+ name: sticker.name,
176
+ description: sticker.description,
177
+ tags: sticker.tags,
178
+ asset: sticker.asset,
179
+ type: sticker.type,
180
+ formatType: sticker.format_type,
181
+ available: sticker.available,
182
+ guildId: sticker.guild_id,
183
+ user: sticker.user !== undefined
184
+ ? new structures_1.User(sticker.user, this).toJSON()
185
+ : undefined,
186
+ sortValue: sticker.sort_value,
187
+ })),
188
+ name: stickerPack.name,
189
+ skuId: stickerPack.sku_id,
190
+ coverStickerId: stickerPack.cover_sticker_id,
191
+ description: stickerPack.description,
192
+ bannerAssetId: stickerPack.banner_asset_id,
193
+ })),
194
+ }));
195
+ }
196
+ /** https://discord.com/developers/docs/resources/user#get-user */
197
+ async getUser(userId) {
198
+ return new structures_1.User(await this.rest.get(rest_1.Endpoints.user(userId)), this);
199
+ }
200
+ /** https://discord.com/developers/docs/resources/voice#list-voice-regions */
201
+ async getVoiceRegions() {
202
+ return this.rest
203
+ .get(rest_1.Endpoints.voiceRegions())
204
+ .then((response) => response.map((data) => ({
205
+ id: data.id,
206
+ name: data.name,
207
+ optimal: data.optimal,
208
+ deprecated: data.deprecated,
209
+ custom: data.custom,
210
+ })));
211
+ }
212
+ /** https://discord.com/developers/docs/topics/gateway-events#update-voice-state */
213
+ joinVoiceChannel(guildId, channelId, options) {
214
+ this.shards.get(this.guildSharding[guildId])?.ws.send(JSON.stringify({
215
+ op: constants_1.GatewayOPCodes.VoiceStateUpdate,
216
+ d: {
217
+ guild_id: guildId,
218
+ channel_id: channelId,
219
+ self_mute: !!options?.selfMute,
220
+ self_deaf: !!options?.selfDeaf,
221
+ },
222
+ }));
223
+ }
224
+ /** https://discord.com/developers/docs/topics/gateway-events#update-voice-state */
225
+ leaveVoiceChannel(guildId) {
226
+ this.shards.get(this.guildSharding[guildId])?.ws.send(JSON.stringify({
227
+ op: constants_1.GatewayOPCodes.VoiceStateUpdate,
228
+ d: {
229
+ guild_id: guildId,
230
+ channel_id: null,
231
+ self_mute: false,
232
+ self_deaf: false,
233
+ },
234
+ }));
235
+ }
236
+ /** https://discord.com/developers/docs/topics/gateway-events#update-presence */
237
+ setPresence(options) {
238
+ for (const [id, shard] of this.shards)
239
+ shard.setPresence(options);
240
+ }
241
+ /** https://discord.com/developers/docs/topics/gateway#connections */
242
+ async connect() {
243
+ this.shardsCount =
244
+ this.shardsCount === "auto"
245
+ ? (await this.getGatewayBot()).shards
246
+ : this.shardsCount;
247
+ for (let i = 0; i < this.shardsCount; i++)
248
+ this.shards.set(i, new gateway_1.Shard(i, this));
249
+ this.shards.connect();
250
+ }
251
+ disconnect() {
252
+ this.shards.disconnect();
253
+ }
254
+ }
255
+ exports.Client = Client;
256
+ //# sourceMappingURL=Client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../lib/Client.ts"],"names":[],"mappings":"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"}