@ovencord/discord.js 14.16.3

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 (332) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +148 -0
  3. package/package.json +73 -0
  4. package/src/client/Client.ts +967 -0
  5. package/src/client/actions/Action.ts +141 -0
  6. package/src/client/actions/ActionsManager.ts +138 -0
  7. package/src/client/actions/ChannelCreate.ts +21 -0
  8. package/src/client/actions/ChannelDelete.ts +20 -0
  9. package/src/client/actions/ChannelUpdate.ts +38 -0
  10. package/src/client/actions/GuildChannelsPositionUpdate.ts +17 -0
  11. package/src/client/actions/GuildEmojiCreate.ts +17 -0
  12. package/src/client/actions/GuildEmojiDelete.ts +16 -0
  13. package/src/client/actions/GuildEmojiUpdate.ts +17 -0
  14. package/src/client/actions/GuildEmojisUpdate.ts +30 -0
  15. package/src/client/actions/GuildMemberRemove.ts +29 -0
  16. package/src/client/actions/GuildMemberUpdate.ts +41 -0
  17. package/src/client/actions/GuildRoleCreate.ts +23 -0
  18. package/src/client/actions/GuildRoleDelete.ts +26 -0
  19. package/src/client/actions/GuildRolesPositionUpdate.ts +17 -0
  20. package/src/client/actions/GuildScheduledEventDelete.ts +28 -0
  21. package/src/client/actions/GuildScheduledEventUserAdd.ts +29 -0
  22. package/src/client/actions/GuildScheduledEventUserRemove.ts +29 -0
  23. package/src/client/actions/GuildSoundboardSoundDelete.ts +26 -0
  24. package/src/client/actions/GuildStickerCreate.ts +17 -0
  25. package/src/client/actions/GuildStickerDelete.ts +16 -0
  26. package/src/client/actions/GuildStickerUpdate.ts +17 -0
  27. package/src/client/actions/GuildStickersUpdate.ts +30 -0
  28. package/src/client/actions/GuildUpdate.ts +30 -0
  29. package/src/client/actions/InteractionCreate.ts +104 -0
  30. package/src/client/actions/MessageCreate.ts +38 -0
  31. package/src/client/actions/MessageDelete.ts +29 -0
  32. package/src/client/actions/MessageDeleteBulk.ts +45 -0
  33. package/src/client/actions/MessagePollVoteAdd.ts +37 -0
  34. package/src/client/actions/MessagePollVoteRemove.ts +35 -0
  35. package/src/client/actions/MessageReactionAdd.ts +68 -0
  36. package/src/client/actions/MessageReactionRemove.ts +47 -0
  37. package/src/client/actions/MessageReactionRemoveAll.ts +30 -0
  38. package/src/client/actions/MessageReactionRemoveEmoji.ts +25 -0
  39. package/src/client/actions/MessageUpdate.ts +22 -0
  40. package/src/client/actions/StageInstanceCreate.ts +25 -0
  41. package/src/client/actions/StageInstanceDelete.ts +28 -0
  42. package/src/client/actions/StageInstanceUpdate.ts +27 -0
  43. package/src/client/actions/ThreadCreate.ts +22 -0
  44. package/src/client/actions/ThreadMembersUpdate.ts +45 -0
  45. package/src/client/actions/TypingStart.ts +26 -0
  46. package/src/client/actions/UserUpdate.ts +33 -0
  47. package/src/client/voice/ClientVoiceManager.ts +46 -0
  48. package/src/client/websocket/handlers/APPLICATION_COMMAND_PERMISSIONS_UPDATE.ts +19 -0
  49. package/src/client/websocket/handlers/AUTO_MODERATION_ACTION_EXECUTION.ts +17 -0
  50. package/src/client/websocket/handlers/AUTO_MODERATION_RULE_CREATE.ts +18 -0
  51. package/src/client/websocket/handlers/AUTO_MODERATION_RULE_DELETE.ts +21 -0
  52. package/src/client/websocket/handlers/AUTO_MODERATION_RULE_UPDATE.ts +20 -0
  53. package/src/client/websocket/handlers/CHANNEL_CREATE.ts +4 -0
  54. package/src/client/websocket/handlers/CHANNEL_DELETE.ts +4 -0
  55. package/src/client/websocket/handlers/CHANNEL_PINS_UPDATE.ts +22 -0
  56. package/src/client/websocket/handlers/CHANNEL_UPDATE.ts +16 -0
  57. package/src/client/websocket/handlers/ENTITLEMENT_CREATE.ts +14 -0
  58. package/src/client/websocket/handlers/ENTITLEMENT_DELETE.ts +18 -0
  59. package/src/client/websocket/handlers/ENTITLEMENT_UPDATE.ts +16 -0
  60. package/src/client/websocket/handlers/GUILD_AUDIT_LOG_ENTRY_CREATE.ts +19 -0
  61. package/src/client/websocket/handlers/GUILD_BAN_ADD.ts +15 -0
  62. package/src/client/websocket/handlers/GUILD_BAN_REMOVE.ts +20 -0
  63. package/src/client/websocket/handlers/GUILD_CREATE.ts +34 -0
  64. package/src/client/websocket/handlers/GUILD_DELETE.ts +36 -0
  65. package/src/client/websocket/handlers/GUILD_EMOJIS_UPDATE.ts +4 -0
  66. package/src/client/websocket/handlers/GUILD_INTEGRATIONS_UPDATE.ts +15 -0
  67. package/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.ts +40 -0
  68. package/src/client/websocket/handlers/GUILD_MEMBER_ADD.ts +17 -0
  69. package/src/client/websocket/handlers/GUILD_MEMBER_REMOVE.ts +4 -0
  70. package/src/client/websocket/handlers/GUILD_MEMBER_UPDATE.ts +4 -0
  71. package/src/client/websocket/handlers/GUILD_ROLE_CREATE.ts +4 -0
  72. package/src/client/websocket/handlers/GUILD_ROLE_DELETE.ts +4 -0
  73. package/src/client/websocket/handlers/GUILD_ROLE_UPDATE.ts +21 -0
  74. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_CREATE.ts +17 -0
  75. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_DELETE.ts +4 -0
  76. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_UPDATE.ts +19 -0
  77. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_ADD.ts +4 -0
  78. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_REMOVE.ts +4 -0
  79. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUNDS_UPDATE.ts +24 -0
  80. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUND_CREATE.ts +18 -0
  81. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUND_DELETE.ts +4 -0
  82. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUND_UPDATE.ts +20 -0
  83. package/src/client/websocket/handlers/GUILD_STICKERS_UPDATE.ts +4 -0
  84. package/src/client/websocket/handlers/GUILD_UPDATE.ts +4 -0
  85. package/src/client/websocket/handlers/INTERACTION_CREATE.ts +4 -0
  86. package/src/client/websocket/handlers/INVITE_CREATE.ts +20 -0
  87. package/src/client/websocket/handlers/INVITE_DELETE.ts +23 -0
  88. package/src/client/websocket/handlers/MESSAGE_CREATE.ts +4 -0
  89. package/src/client/websocket/handlers/MESSAGE_DELETE.ts +4 -0
  90. package/src/client/websocket/handlers/MESSAGE_DELETE_BULK.ts +4 -0
  91. package/src/client/websocket/handlers/MESSAGE_POLL_VOTE_ADD.ts +4 -0
  92. package/src/client/websocket/handlers/MESSAGE_POLL_VOTE_REMOVE.ts +4 -0
  93. package/src/client/websocket/handlers/MESSAGE_REACTION_ADD.ts +4 -0
  94. package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE.ts +4 -0
  95. package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_ALL.ts +4 -0
  96. package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_EMOJI.ts +4 -0
  97. package/src/client/websocket/handlers/MESSAGE_UPDATE.ts +16 -0
  98. package/src/client/websocket/handlers/PRESENCE_UPDATE.ts +42 -0
  99. package/src/client/websocket/handlers/RATE_LIMITED.ts +23 -0
  100. package/src/client/websocket/handlers/READY.ts +29 -0
  101. package/src/client/websocket/handlers/SOUNDBOARD_SOUNDS.ts +24 -0
  102. package/src/client/websocket/handlers/STAGE_INSTANCE_CREATE.ts +4 -0
  103. package/src/client/websocket/handlers/STAGE_INSTANCE_DELETE.ts +4 -0
  104. package/src/client/websocket/handlers/STAGE_INSTANCE_UPDATE.ts +4 -0
  105. package/src/client/websocket/handlers/SUBSCRIPTION_CREATE.ts +14 -0
  106. package/src/client/websocket/handlers/SUBSCRIPTION_DELETE.ts +16 -0
  107. package/src/client/websocket/handlers/SUBSCRIPTION_UPDATE.ts +16 -0
  108. package/src/client/websocket/handlers/THREAD_CREATE.ts +4 -0
  109. package/src/client/websocket/handlers/THREAD_DELETE.ts +17 -0
  110. package/src/client/websocket/handlers/THREAD_LIST_SYNC.ts +50 -0
  111. package/src/client/websocket/handlers/THREAD_MEMBERS_UPDATE.ts +4 -0
  112. package/src/client/websocket/handlers/THREAD_MEMBER_UPDATE.ts +25 -0
  113. package/src/client/websocket/handlers/THREAD_UPDATE.ts +16 -0
  114. package/src/client/websocket/handlers/TYPING_START.ts +4 -0
  115. package/src/client/websocket/handlers/USER_UPDATE.ts +4 -0
  116. package/src/client/websocket/handlers/VOICE_CHANNEL_EFFECT_SEND.ts +16 -0
  117. package/src/client/websocket/handlers/VOICE_SERVER_UPDATE.ts +5 -0
  118. package/src/client/websocket/handlers/VOICE_STATE_UPDATE.ts +37 -0
  119. package/src/client/websocket/handlers/WEBHOOKS_UPDATE.ts +16 -0
  120. package/src/client/websocket/handlers/index.ts +74 -0
  121. package/src/errors/DJSError.ts +50 -0
  122. package/src/errors/ErrorCodes.ts +277 -0
  123. package/src/errors/Messages.ts +155 -0
  124. package/src/errors/index.ts +6 -0
  125. package/src/index.ts +241 -0
  126. package/src/managers/ApplicationCommandManager.ts +303 -0
  127. package/src/managers/ApplicationCommandPermissionsManager.ts +453 -0
  128. package/src/managers/ApplicationEmojiManager.ts +149 -0
  129. package/src/managers/AutoModerationRuleManager.ts +307 -0
  130. package/src/managers/BaseManager.ts +13 -0
  131. package/src/managers/CachedManager.ts +56 -0
  132. package/src/managers/CategoryChannelChildManager.ts +81 -0
  133. package/src/managers/ChannelManager.ts +194 -0
  134. package/src/managers/DMMessageManager.ts +15 -0
  135. package/src/managers/DataManager.ts +38 -0
  136. package/src/managers/EntitlementManager.ts +182 -0
  137. package/src/managers/GuildApplicationCommandManager.ts +29 -0
  138. package/src/managers/GuildBanManager.ts +221 -0
  139. package/src/managers/GuildChannelManager.ts +552 -0
  140. package/src/managers/GuildEmojiManager.ts +262 -0
  141. package/src/managers/GuildEmojiRoleManager.ts +134 -0
  142. package/src/managers/GuildForumThreadManager.ts +84 -0
  143. package/src/managers/GuildInviteManager.ts +236 -0
  144. package/src/managers/GuildManager.ts +265 -0
  145. package/src/managers/GuildMemberManager.ts +619 -0
  146. package/src/managers/GuildMemberRoleManager.ts +230 -0
  147. package/src/managers/GuildMessageManager.ts +31 -0
  148. package/src/managers/GuildScheduledEventManager.ts +330 -0
  149. package/src/managers/GuildSoundboardSoundManager.ts +157 -0
  150. package/src/managers/GuildStickerManager.ts +192 -0
  151. package/src/managers/GuildTextThreadManager.ts +91 -0
  152. package/src/managers/MessageManager.ts +352 -0
  153. package/src/managers/PartialGroupDMMessageManager.ts +15 -0
  154. package/src/managers/PermissionOverwriteManager.ts +174 -0
  155. package/src/managers/PollAnswerVoterManager.ts +59 -0
  156. package/src/managers/PresenceManager.ts +60 -0
  157. package/src/managers/ReactionManager.ts +72 -0
  158. package/src/managers/ReactionUserManager.ts +82 -0
  159. package/src/managers/RoleManager.ts +432 -0
  160. package/src/managers/StageInstanceManager.ts +166 -0
  161. package/src/managers/SubscriptionManager.ts +83 -0
  162. package/src/managers/ThreadManager.ts +210 -0
  163. package/src/managers/ThreadMemberManager.ts +194 -0
  164. package/src/managers/UserManager.ts +139 -0
  165. package/src/managers/VoiceStateManager.ts +61 -0
  166. package/src/sharding/Shard.ts +513 -0
  167. package/src/sharding/ShardClientUtil.ts +293 -0
  168. package/src/sharding/ShardingManager.ts +374 -0
  169. package/src/structures/ActionRow.ts +31 -0
  170. package/src/structures/AnnouncementChannel.ts +25 -0
  171. package/src/structures/AnonymousGuild.ts +110 -0
  172. package/src/structures/ApplicationCommand.ts +675 -0
  173. package/src/structures/ApplicationEmoji.ts +189 -0
  174. package/src/structures/ApplicationRoleConnectionMetadata.ts +54 -0
  175. package/src/structures/Attachment.ts +189 -0
  176. package/src/structures/AuthorizingIntegrationOwners.ts +63 -0
  177. package/src/structures/AutoModerationActionExecution.ts +138 -0
  178. package/src/structures/AutoModerationRule.ts +325 -0
  179. package/src/structures/AutocompleteInteraction.ts +115 -0
  180. package/src/structures/Base.ts +37 -0
  181. package/src/structures/BaseChannel.ts +188 -0
  182. package/src/structures/BaseGuild.ts +134 -0
  183. package/src/structures/BaseGuildEmoji.ts +113 -0
  184. package/src/structures/BaseGuildTextChannel.ts +230 -0
  185. package/src/structures/BaseGuildVoiceChannel.ts +270 -0
  186. package/src/structures/BaseInteraction.ts +393 -0
  187. package/src/structures/BaseInvite.ts +192 -0
  188. package/src/structures/BaseSelectMenuComponent.ts +58 -0
  189. package/src/structures/ButtonComponent.ts +68 -0
  190. package/src/structures/ButtonInteraction.ts +8 -0
  191. package/src/structures/CategoryChannel.ts +46 -0
  192. package/src/structures/ChannelSelectMenuComponent.ts +18 -0
  193. package/src/structures/ChannelSelectMenuInteraction.ts +34 -0
  194. package/src/structures/ChatInputCommandInteraction.ts +43 -0
  195. package/src/structures/ClientApplication.ts +470 -0
  196. package/src/structures/ClientPresence.ts +87 -0
  197. package/src/structures/ClientUser.ts +219 -0
  198. package/src/structures/CommandInteraction.ts +193 -0
  199. package/src/structures/CommandInteractionOptionResolver.ts +336 -0
  200. package/src/structures/Component.ts +59 -0
  201. package/src/structures/ContainerComponent.ts +63 -0
  202. package/src/structures/ContextMenuCommandInteraction.ts +68 -0
  203. package/src/structures/DMChannel.ts +148 -0
  204. package/src/structures/DirectoryChannel.ts +40 -0
  205. package/src/structures/Embed.ts +251 -0
  206. package/src/structures/Emoji.ts +61 -0
  207. package/src/structures/Entitlement.ts +206 -0
  208. package/src/structures/FileComponent.ts +41 -0
  209. package/src/structures/ForumChannel.ts +31 -0
  210. package/src/structures/GroupDMInvite.ts +34 -0
  211. package/src/structures/Guild.ts +1605 -0
  212. package/src/structures/GuildAuditLogs.ts +99 -0
  213. package/src/structures/GuildAuditLogsEntry.ts +557 -0
  214. package/src/structures/GuildBan.ts +65 -0
  215. package/src/structures/GuildChannel.ts +515 -0
  216. package/src/structures/GuildEmoji.ts +159 -0
  217. package/src/structures/GuildInvite.ts +233 -0
  218. package/src/structures/GuildMember.ts +643 -0
  219. package/src/structures/GuildOnboarding.ts +73 -0
  220. package/src/structures/GuildOnboardingPrompt.ts +93 -0
  221. package/src/structures/GuildOnboardingPromptOption.ts +100 -0
  222. package/src/structures/GuildPreview.ts +218 -0
  223. package/src/structures/GuildPreviewEmoji.ts +28 -0
  224. package/src/structures/GuildScheduledEvent.ts +593 -0
  225. package/src/structures/GuildTemplate.ts +229 -0
  226. package/src/structures/Integration.ts +257 -0
  227. package/src/structures/IntegrationApplication.ts +84 -0
  228. package/src/structures/InteractionCallback.ts +86 -0
  229. package/src/structures/InteractionCallbackResource.ts +57 -0
  230. package/src/structures/InteractionCallbackResponse.ts +35 -0
  231. package/src/structures/InteractionCollector.ts +260 -0
  232. package/src/structures/InteractionWebhook.ts +65 -0
  233. package/src/structures/InviteGuild.ts +22 -0
  234. package/src/structures/LabelComponent.ts +51 -0
  235. package/src/structures/MediaChannel.ts +8 -0
  236. package/src/structures/MediaGalleryComponent.ts +31 -0
  237. package/src/structures/MediaGalleryItem.ts +54 -0
  238. package/src/structures/MentionableSelectMenuComponent.ts +8 -0
  239. package/src/structures/MentionableSelectMenuInteraction.ts +76 -0
  240. package/src/structures/Message.ts +1202 -0
  241. package/src/structures/MessageCollector.ts +155 -0
  242. package/src/structures/MessageComponentInteraction.ts +132 -0
  243. package/src/structures/MessageContextMenuCommandInteraction.ts +18 -0
  244. package/src/structures/MessageMentions.ts +327 -0
  245. package/src/structures/MessagePayload.ts +325 -0
  246. package/src/structures/MessageReaction.ts +219 -0
  247. package/src/structures/ModalComponentResolver.ts +237 -0
  248. package/src/structures/ModalSubmitInteraction.ts +260 -0
  249. package/src/structures/OAuth2Guild.ts +30 -0
  250. package/src/structures/PartialGroupDMChannel.ts +151 -0
  251. package/src/structures/PermissionOverwrites.ts +222 -0
  252. package/src/structures/Poll.ts +195 -0
  253. package/src/structures/PollAnswer.ts +100 -0
  254. package/src/structures/Presence.ts +448 -0
  255. package/src/structures/PrimaryEntryPointCommandInteraction.ts +8 -0
  256. package/src/structures/ReactionCollector.ts +245 -0
  257. package/src/structures/ReactionEmoji.ts +30 -0
  258. package/src/structures/Role.ts +543 -0
  259. package/src/structures/RoleSelectMenuComponent.ts +8 -0
  260. package/src/structures/RoleSelectMenuInteraction.ts +34 -0
  261. package/src/structures/SKU.ts +62 -0
  262. package/src/structures/SectionComponent.ts +44 -0
  263. package/src/structures/SeparatorComponent.ts +29 -0
  264. package/src/structures/SoundboardSound.ts +176 -0
  265. package/src/structures/StageChannel.ts +118 -0
  266. package/src/structures/StageInstance.ts +173 -0
  267. package/src/structures/Sticker.ts +300 -0
  268. package/src/structures/StickerPack.ts +111 -0
  269. package/src/structures/StringSelectMenuComponent.ts +18 -0
  270. package/src/structures/StringSelectMenuInteraction.ts +21 -0
  271. package/src/structures/Subscription.ts +138 -0
  272. package/src/structures/Team.ts +131 -0
  273. package/src/structures/TeamMember.ts +77 -0
  274. package/src/structures/TextChannel.ts +33 -0
  275. package/src/structures/TextDisplayComponent.ts +18 -0
  276. package/src/structures/TextInputComponent.ts +28 -0
  277. package/src/structures/ThreadChannel.ts +680 -0
  278. package/src/structures/ThreadMember.ts +125 -0
  279. package/src/structures/ThreadOnlyChannel.ts +276 -0
  280. package/src/structures/ThumbnailComponent.ts +51 -0
  281. package/src/structures/Typing.ts +81 -0
  282. package/src/structures/UnfurledMediaItem.ts +33 -0
  283. package/src/structures/User.ts +511 -0
  284. package/src/structures/UserContextMenuCommandInteraction.ts +28 -0
  285. package/src/structures/UserSelectMenuComponent.ts +8 -0
  286. package/src/structures/UserSelectMenuInteraction.ts +54 -0
  287. package/src/structures/VoiceChannel.ts +119 -0
  288. package/src/structures/VoiceChannelEffect.ts +92 -0
  289. package/src/structures/VoiceRegion.ts +52 -0
  290. package/src/structures/VoiceState.ts +346 -0
  291. package/src/structures/Webhook.ts +526 -0
  292. package/src/structures/WelcomeChannel.ts +67 -0
  293. package/src/structures/WelcomeScreen.ts +53 -0
  294. package/src/structures/Widget.ts +110 -0
  295. package/src/structures/WidgetMember.ts +124 -0
  296. package/src/structures/interfaces/Application.ts +179 -0
  297. package/src/structures/interfaces/Collector.ts +372 -0
  298. package/src/structures/interfaces/InteractionResponses.ts +384 -0
  299. package/src/structures/interfaces/TextBasedChannel.ts +430 -0
  300. package/src/util/APITypes.ts +690 -0
  301. package/src/util/ActivityFlagsBitField.ts +26 -0
  302. package/src/util/ApplicationFlagsBitField.ts +43 -0
  303. package/src/util/AttachmentFlagsBitField.ts +26 -0
  304. package/src/util/BitField.ts +178 -0
  305. package/src/util/ChannelFlagsBitField.ts +43 -0
  306. package/src/util/Channels.ts +165 -0
  307. package/src/util/Colors.ts +72 -0
  308. package/src/util/Components.ts +285 -0
  309. package/src/util/Constants.ts +251 -0
  310. package/src/util/DataResolver.ts +146 -0
  311. package/src/util/Enums.ts +10 -0
  312. package/src/util/Events.ts +178 -0
  313. package/src/util/GuildMemberFlagsBitField.ts +43 -0
  314. package/src/util/IntentsBitField.ts +35 -0
  315. package/src/util/InviteFlagsBitField.ts +26 -0
  316. package/src/util/Invites.ts +27 -0
  317. package/src/util/LimitedCollection.ts +73 -0
  318. package/src/util/MessageFlagsBitField.ts +43 -0
  319. package/src/util/Options.ts +215 -0
  320. package/src/util/Partials.ts +50 -0
  321. package/src/util/PermissionsBitField.ts +113 -0
  322. package/src/util/RoleFlagsBitField.ts +26 -0
  323. package/src/util/SKUFlagsBitField.ts +26 -0
  324. package/src/util/ShardEvents.ts +26 -0
  325. package/src/util/Status.ts +16 -0
  326. package/src/util/Sweepers.ts +532 -0
  327. package/src/util/Symbols.ts +1 -0
  328. package/src/util/SystemChannelFlagsBitField.ts +45 -0
  329. package/src/util/ThreadMemberFlagsBitField.ts +33 -0
  330. package/src/util/Transformers.ts +123 -0
  331. package/src/util/UserFlagsBitField.ts +33 -0
  332. package/src/util/Util.ts +519 -0
@@ -0,0 +1,192 @@
1
+ import { RouteBases } from 'discord-api-types/v10';
2
+ import { Base } from './Base.js';
3
+
4
+ /**
5
+ * The base invite class.
6
+ *
7
+ * @extends {Base}
8
+ */
9
+ export class BaseInvite extends Base {
10
+ public client: any;
11
+ public type: any;
12
+ public code: any;
13
+ public inviterId: any;
14
+ public maxAge: any;
15
+ public createdTimestamp: any;
16
+ public _expiresTimestamp: any;
17
+ public channelId: any;
18
+ public approximateMemberCount: any;
19
+ constructor(client, data) {
20
+ super(client);
21
+
22
+ /**
23
+ * The type of this invite.
24
+ *
25
+ * @type {InviteType}
26
+ */
27
+ this.type = data.type;
28
+
29
+ /**
30
+ * The invite code.
31
+ *
32
+ * @type {string}
33
+ */
34
+ this.code = data.code;
35
+
36
+ this._patch(data);
37
+ }
38
+
39
+ _patch(data) {
40
+ if ('inviter_id' in data) {
41
+ /**
42
+ * The id of the user that created this invite.
43
+ *
44
+ * @type {?Snowflake}
45
+ */
46
+ this.inviterId = data.inviter_id;
47
+ } else {
48
+ this.inviterId ??= null;
49
+ }
50
+
51
+ if ('inviter' in data) {
52
+ this.client.users._add(data.inviter);
53
+ this.inviterId ??= data.inviter.id;
54
+ }
55
+
56
+ if ('max_age' in data) {
57
+ /**
58
+ * The maximum age of the invite in seconds. `0` for no expiry.
59
+ *
60
+ * @type {?number}
61
+ */
62
+ this.maxAge = data.max_age;
63
+ } else {
64
+ this.maxAge ??= null;
65
+ }
66
+
67
+ if ('created_at' in data) {
68
+ /**
69
+ * The timestamp this invite was created at.
70
+ *
71
+ * @type {?number}
72
+ */
73
+ this.createdTimestamp = Date.parse(data.created_at);
74
+ } else {
75
+ this.createdTimestamp ??= null;
76
+ }
77
+
78
+ if ('expires_at' in data) {
79
+ this._expiresTimestamp = data.expires_at && Date.parse(data.expires_at);
80
+ } else {
81
+ this._expiresTimestamp ??= null;
82
+ }
83
+
84
+ if ('channel_id' in data) {
85
+ /**
86
+ * The id of the channel this invite is for.
87
+ *
88
+ * @type {?Snowflake}
89
+ */
90
+ this.channelId = data.channel_id;
91
+ }
92
+
93
+ if ('approximate_member_count' in data) {
94
+ /**
95
+ * The approximate total number of members.
96
+ *
97
+ * @type {?number}
98
+ */
99
+ this.approximateMemberCount = data.approximate_member_count;
100
+ } else {
101
+ this.approximateMemberCount ??= null;
102
+ }
103
+ }
104
+
105
+ /**
106
+ * The user that created this invite.
107
+ *
108
+ * @type {?User}
109
+ * @readonly
110
+ */
111
+ get inviter() {
112
+ return this.inviterId && this.client.users.resolve(this.inviterId);
113
+ }
114
+
115
+ /**
116
+ * The creation date of this invite.
117
+ *
118
+ * @type {?Date}
119
+ * @readonly
120
+ */
121
+ get createdAt() {
122
+ return this.createdTimestamp && new Date(this.createdTimestamp);
123
+ }
124
+
125
+ /**
126
+ * The timestamp this invite expires at.
127
+ *
128
+ * @type {?number}
129
+ * @readonly
130
+ */
131
+ get expiresTimestamp() {
132
+ return (
133
+ this._expiresTimestamp ??
134
+ (this.createdTimestamp && this.maxAge ? this.createdTimestamp + this.maxAge * 1_000 : null)
135
+ );
136
+ }
137
+
138
+ /**
139
+ * The expiry date of this invite.
140
+ *
141
+ * @type {?Date}
142
+ * @readonly
143
+ */
144
+ get expiresAt() {
145
+ return this.expiresTimestamp && new Date(this.expiresTimestamp);
146
+ }
147
+
148
+ /**
149
+ * The URL to the invite.
150
+ *
151
+ * @type {string}
152
+ * @readonly
153
+ */
154
+ get url() {
155
+ return `${RouteBases.invite}/${this.code}`;
156
+ }
157
+
158
+ /**
159
+ * A regular expression that matches Discord invite links.
160
+ * The `code` group property is present on the `exec()` result of this expression.
161
+ *
162
+ * @type {RegExp}
163
+ * @memberof BaseInvite
164
+ */
165
+ static InvitesPattern = /discord(?:(?:app)?\.com\/invite|\.gg(?:\/invite)?)\/(?<code>[\w-]{2,255})/i;
166
+
167
+ /**
168
+ * When concatenated with a string, this automatically concatenates the invite's URL instead of the object.
169
+ *
170
+ * @returns {string}
171
+ * @example
172
+ * // Logs: Invite: https://discord.gg/djs
173
+ * console.log(`Invite: ${invite}`);
174
+ */
175
+ toString() {
176
+ return this.url;
177
+ }
178
+
179
+ toJSON() {
180
+ return super.toJSON({
181
+ url: true,
182
+ expiresTimestamp: true,
183
+ uses: false,
184
+ channel: 'channelId',
185
+ inviter: 'inviterId',
186
+ });
187
+ }
188
+
189
+ valueOf() {
190
+ return this.code;
191
+ }
192
+ }
@@ -0,0 +1,58 @@
1
+ import { Component } from './Component.js';
2
+
3
+ /**
4
+ * Represents a select menu component
5
+ *
6
+ * @extends {Component}
7
+ */
8
+ export class BaseSelectMenuComponent extends Component {
9
+ /**
10
+ * The placeholder for this select menu
11
+ *
12
+ * @type {?string}
13
+ * @readonly
14
+ */
15
+ get placeholder() {
16
+ return this.data.placeholder ?? null;
17
+ }
18
+
19
+ /**
20
+ * The maximum amount of options that can be selected
21
+ *
22
+ * @type {?number}
23
+ * @readonly
24
+ */
25
+ get maxValues() {
26
+ return this.data.max_values ?? null;
27
+ }
28
+
29
+ /**
30
+ * The minimum amount of options that must be selected
31
+ *
32
+ * @type {?number}
33
+ * @readonly
34
+ */
35
+ get minValues() {
36
+ return this.data.min_values ?? null;
37
+ }
38
+
39
+ /**
40
+ * The custom id of this select menu
41
+ *
42
+ * @type {string}
43
+ * @readonly
44
+ */
45
+ get customId() {
46
+ return this.data.custom_id;
47
+ }
48
+
49
+ /**
50
+ * Whether this select menu is disabled
51
+ *
52
+ * @type {boolean}
53
+ * @readonly
54
+ */
55
+ get disabled() {
56
+ return this.data.disabled ?? false;
57
+ }
58
+ }
@@ -0,0 +1,68 @@
1
+ import { Component } from './Component.js';
2
+
3
+ /**
4
+ * Represents a button component
5
+ *
6
+ * @extends {Component}
7
+ */
8
+ export class ButtonComponent extends Component {
9
+ /**
10
+ * The style of this button
11
+ *
12
+ * @type {ButtonStyle}
13
+ * @readonly
14
+ */
15
+ get style() {
16
+ return this.data.style;
17
+ }
18
+
19
+ /**
20
+ * The label of this button
21
+ *
22
+ * @type {?string}
23
+ * @readonly
24
+ */
25
+ get label() {
26
+ return this.data.label ?? null;
27
+ }
28
+
29
+ /**
30
+ * The emoji used in this button
31
+ *
32
+ * @type {?APIMessageComponentEmoji}
33
+ * @readonly
34
+ */
35
+ get emoji() {
36
+ return this.data.emoji ?? null;
37
+ }
38
+
39
+ /**
40
+ * Whether this button is disabled
41
+ *
42
+ * @type {boolean}
43
+ * @readonly
44
+ */
45
+ get disabled() {
46
+ return this.data.disabled ?? false;
47
+ }
48
+
49
+ /**
50
+ * The custom id of this button (only defined on non-link buttons)
51
+ *
52
+ * @type {?string}
53
+ * @readonly
54
+ */
55
+ get customId() {
56
+ return this.data.custom_id ?? null;
57
+ }
58
+
59
+ /**
60
+ * The URL of this button (only defined on link buttons)
61
+ *
62
+ * @type {?string}
63
+ * @readonly
64
+ */
65
+ get url() {
66
+ return this.data.url ?? null;
67
+ }
68
+ }
@@ -0,0 +1,8 @@
1
+ import { MessageComponentInteraction } from './MessageComponentInteraction.js';
2
+
3
+ /**
4
+ * Represents a button interaction.
5
+ *
6
+ * @extends {MessageComponentInteraction}
7
+ */
8
+ export class ButtonInteraction extends MessageComponentInteraction {}
@@ -0,0 +1,46 @@
1
+ import { CategoryChannelChildManager } from '../managers/CategoryChannelChildManager.js';
2
+ import { GuildChannel } from './GuildChannel.js';
3
+
4
+ /**
5
+ * Represents a guild category channel on Discord.
6
+ *
7
+ * @extends {GuildChannel}
8
+ */
9
+ export class CategoryChannel extends GuildChannel {
10
+ /**
11
+ * The id of the parent of this channel.
12
+ *
13
+ * @name CategoryChannel#parentId
14
+ * @type {null}
15
+ */
16
+
17
+ /**
18
+ * The parent of this channel.
19
+ *
20
+ * @name CategoryChannel#parent
21
+ * @type {null}
22
+ * @readonly
23
+ */
24
+
25
+ /**
26
+ * Sets the category parent of this channel.
27
+ * <warn>It is not possible to set the parent of a CategoryChannel.</warn>
28
+ *
29
+ * @method setParent
30
+ * @memberof CategoryChannel
31
+ * @instance
32
+ * @param {?CategoryChannelResolvable} channel The channel to set as parent
33
+ * @param {SetParentOptions} [options={}] The options for setting the parent
34
+ * @returns {Promise<GuildChannel>}
35
+ */
36
+
37
+ /**
38
+ * A manager of the channels belonging to this category
39
+ *
40
+ * @type {CategoryChannelChildManager}
41
+ * @readonly
42
+ */
43
+ get children() {
44
+ return new CategoryChannelChildManager(this);
45
+ }
46
+ }
@@ -0,0 +1,18 @@
1
+ import { BaseSelectMenuComponent } from './BaseSelectMenuComponent.js';
2
+
3
+ /**
4
+ * Represents a channel select menu component
5
+ *
6
+ * @extends {BaseSelectMenuComponent}
7
+ */
8
+ export class ChannelSelectMenuComponent extends BaseSelectMenuComponent {
9
+ /**
10
+ * The options in this select menu
11
+ *
12
+ * @type {?(ChannelType[])}
13
+ * @readonly
14
+ */
15
+ get channelTypes() {
16
+ return this.data.channel_types ?? null;
17
+ }
18
+ }
@@ -0,0 +1,34 @@
1
+ import { Collection } from '@ovencord/collection';
2
+ import { MessageComponentInteraction } from './MessageComponentInteraction.js';
3
+
4
+ /**
5
+ * Represents a {@link ComponentType.ChannelSelect} select menu interaction.
6
+ *
7
+ * @extends {MessageComponentInteraction}
8
+ */
9
+ export class ChannelSelectMenuInteraction extends MessageComponentInteraction {
10
+ public client: any;
11
+ public channels: any;
12
+ constructor(client, data) {
13
+ super(client, data);
14
+ const { resolved, values } = data.data;
15
+
16
+ /**
17
+ * An array of the selected channel ids
18
+ *
19
+ * @type {Snowflake[]}
20
+ */
21
+ this.values = values ?? [];
22
+
23
+ /**
24
+ * Collection of the selected channels
25
+ *
26
+ * @type {Collection<Snowflake, BaseChannel|APIChannel>}
27
+ */
28
+ this.channels = new Collection();
29
+
30
+ for (const channel of Object.values(resolved?.channels ?? {})) {
31
+ this.channels.set(channel.id, this.client.channels._add(channel, this.guild) ?? channel);
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,43 @@
1
+ import { transformResolved } from '../util/Util.js';
2
+ import { CommandInteraction } from './CommandInteraction.js';
3
+ import { CommandInteractionOptionResolver } from './CommandInteractionOptionResolver.js';
4
+
5
+ /**
6
+ * Represents a command interaction.
7
+ *
8
+ * @extends {CommandInteraction}
9
+ */
10
+ export class ChatInputCommandInteraction extends CommandInteraction {
11
+ public client: any;
12
+ public options: any;
13
+ constructor(client, data) {
14
+ super(client, data);
15
+
16
+ /**
17
+ * The options passed to the command.
18
+ *
19
+ * @type {CommandInteractionOptionResolver}
20
+ */
21
+ this.options = new CommandInteractionOptionResolver(
22
+ this.client,
23
+ data.data.options?.map(option => this.transformOption(option, data.data.resolved)) ?? [],
24
+ transformResolved({ client: this.client, guild: this.guild, channel: this.channel }, data.data.resolved),
25
+ );
26
+ }
27
+
28
+ /**
29
+ * Returns a string representation of the command interaction.
30
+ * This can then be copied by a user and executed again in a new command while keeping the option order.
31
+ *
32
+ * @returns {string}
33
+ */
34
+ toString() {
35
+ const properties = [
36
+ this.commandName,
37
+ this.options._group,
38
+ this.options._subcommand,
39
+ ...this.options._hoistedOptions.map(option => `${option.name}:${option.value}`),
40
+ ];
41
+ return `/${properties.filter(Boolean).join(' ')}`;
42
+ }
43
+ }