@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,189 @@
1
+ import { Emoji } from './Emoji.js';
2
+
3
+ /**
4
+ * Represents a custom emoji.
5
+ *
6
+ * @extends {Emoji}
7
+ */
8
+ export class ApplicationEmoji extends Emoji {
9
+ public client: any;
10
+ public application: any;
11
+ public name: any;
12
+ public author: any;
13
+ public managed: any;
14
+ public requiresColons: any;
15
+ public available: any;
16
+ constructor(client, data, application) {
17
+ super(client, data);
18
+
19
+ /**
20
+ * The application this emoji originates from
21
+ *
22
+ * @type {ClientApplication}
23
+ */
24
+ this.application = application;
25
+
26
+ this._patch(data);
27
+ }
28
+
29
+ _patch(data) {
30
+ if ('name' in data) this.name = data.name;
31
+ if (data.user) {
32
+ /**
33
+ * The user who created this emoji
34
+ *
35
+ * @type {User}
36
+ */
37
+ this.author = this.client.users._add(data.user);
38
+ }
39
+
40
+ if ('managed' in data) {
41
+ /**
42
+ * Whether this emoji is managed by an external service. Always `false` for application emojis
43
+ *
44
+ * @type {false}
45
+ */
46
+ this.managed = data.managed;
47
+ }
48
+
49
+ if ('require_colons' in data) {
50
+ /**
51
+ * Whether this emoji requires colons surrounding it. Always `true` for application emojis
52
+ *
53
+ * @type {true}
54
+ */
55
+ this.requiresColons = data.require_colons;
56
+ }
57
+
58
+ if ('available' in data) {
59
+ /**
60
+ * Whether this emoji is available. Always `true` for application emojis
61
+ *
62
+ * @type {true}
63
+ */
64
+ this.available = data.available;
65
+ }
66
+ }
67
+
68
+ /**
69
+ * Fetches the author for this emoji
70
+ *
71
+ * @returns {Promise<User>}
72
+ */
73
+ async fetchAuthor() {
74
+ return this.application.emojis.fetchAuthor(this);
75
+ }
76
+
77
+ /**
78
+ * Data for editing an emoji.
79
+ *
80
+ * @typedef {Object} ApplicationEmojiEditOptions
81
+ * @property {string} [name] The name of the emoji
82
+ */
83
+
84
+ /**
85
+ * Edits the emoji.
86
+ *
87
+ * @param {ApplicationEmojiEditOptions} options The options to provide
88
+ * @returns {Promise<ApplicationEmoji>}
89
+ * @example
90
+ * // Edit an emoji
91
+ * emoji.edit({ name: 'newemoji' })
92
+ * .then(emoji => console.log(`Edited emoji ${emoji}`))
93
+ * .catch(console.error);
94
+ */
95
+ async edit(options) {
96
+ return this.application.emojis.edit(this.id, options);
97
+ }
98
+
99
+ /**
100
+ * Sets the name of the emoji.
101
+ *
102
+ * @param {string} name The new name for the emoji
103
+ * @returns {Promise<ApplicationEmoji>}
104
+ */
105
+ async setName(name) {
106
+ return this.edit({ name });
107
+ }
108
+
109
+ /**
110
+ * Deletes the emoji.
111
+ *
112
+ * @returns {Promise<ApplicationEmoji>}
113
+ */
114
+ async delete() {
115
+ await this.application.emojis.delete(this.id);
116
+ return this;
117
+ }
118
+
119
+ /**
120
+ * Whether this emoji is the same as another one.
121
+ *
122
+ * @param {ApplicationEmoji|APIEmoji} other The emoji to compare it to
123
+ * @returns {boolean}
124
+ */
125
+ equals(other) {
126
+ if (other instanceof ApplicationEmoji) {
127
+ return (
128
+ other.animated === this.animated &&
129
+ other.id === this.id &&
130
+ other.name === this.name &&
131
+ other.managed === this.managed &&
132
+ other.requiresColons === this.requiresColons &&
133
+ other.available === this.available
134
+ );
135
+ }
136
+
137
+ return other.id === this.id && other.name === this.name;
138
+ }
139
+ }
140
+
141
+ /**
142
+ * The emoji's name
143
+ *
144
+ * @name name
145
+ * @memberof ApplicationEmoji
146
+ * @instance
147
+ * @type {string}
148
+ * @readonly
149
+ */
150
+
151
+ /**
152
+ * Whether the emoji is animated
153
+ *
154
+ * @name animated
155
+ * @memberof ApplicationEmoji
156
+ * @instance
157
+ * @type {boolean}
158
+ * @readonly
159
+ */
160
+
161
+ /**
162
+ * Returns a URL for the emoji.
163
+ *
164
+ * @method imageURL
165
+ * @memberof ApplicationEmoji
166
+ * @instance
167
+ * @param {EmojiURLOptions} [options] Options for the image URL
168
+ * @returns {string}
169
+ */
170
+
171
+ /**
172
+ * The time the emoji was created at
173
+ *
174
+ * @name createdAt
175
+ * @memberof ApplicationEmoji
176
+ * @instance
177
+ * @type {Date}
178
+ * @readonly
179
+ */
180
+
181
+ /**
182
+ * The timestamp the emoji was created at
183
+ *
184
+ * @name createdTimestamp
185
+ * @memberof ApplicationEmoji
186
+ * @instance
187
+ * @type {number}
188
+ * @readonly
189
+ */
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Role connection metadata object for an application.
3
+ */
4
+ export class ApplicationRoleConnectionMetadata {
5
+ public name: any;
6
+ public nameLocalizations: any;
7
+ public description: any;
8
+ public descriptionLocalizations: any;
9
+ public key: any;
10
+ public type: any;
11
+ constructor(data) {
12
+ /**
13
+ * The name of this metadata field
14
+ *
15
+ * @type {string}
16
+ */
17
+ this.name = data.name;
18
+
19
+ /**
20
+ * The name localizations for this metadata field
21
+ *
22
+ * @type {?LocalizationMap}
23
+ */
24
+ this.nameLocalizations = data.name_localizations ?? null;
25
+
26
+ /**
27
+ * The description of this metadata field
28
+ *
29
+ * @type {string}
30
+ */
31
+ this.description = data.description;
32
+
33
+ /**
34
+ * The description localizations for this metadata field
35
+ *
36
+ * @type {?LocalizationMap}
37
+ */
38
+ this.descriptionLocalizations = data.description_localizations ?? null;
39
+
40
+ /**
41
+ * The dictionary key for this metadata field
42
+ *
43
+ * @type {string}
44
+ */
45
+ this.key = data.key;
46
+
47
+ /**
48
+ * The type of this metadata field
49
+ *
50
+ * @type {ApplicationRoleConnectionMetadataType}
51
+ */
52
+ this.type = data.type;
53
+ }
54
+ }
@@ -0,0 +1,189 @@
1
+ import { AttachmentFlagsBitField } from '../util/AttachmentFlagsBitField.js';
2
+ import { basename, flatten } from '../util/Util.js';
3
+
4
+ /**
5
+ * @typedef {Object} AttachmentPayload
6
+ * @property {Stream|BufferResolvable} attachment The attachment in this payload
7
+ * @property {string} [name] The name of the attachment
8
+ * @property {string} [description] The description of the attachment
9
+ * @property {title} [title] The title of the attachment
10
+ * @property {string} [waveform] The base64 encoded byte array representing a sampled waveform (from voice message attachments)
11
+ * @property {number} [duration] The duration of the attachment in seconds (from voice message attachments)
12
+ */
13
+
14
+ /**
15
+ * Represents an attachment
16
+ */
17
+ export class Attachment {
18
+ public id: any;
19
+ public size: any;
20
+ public url: any;
21
+ public proxyURL: any;
22
+ public height: any;
23
+ public width: any;
24
+ public contentType: any;
25
+ public ephemeral: any;
26
+ public duration: any;
27
+ public waveform: any;
28
+ public flags: any;
29
+ public title: any;
30
+ constructor(data) {
31
+ this.attachment = data.url;
32
+ /**
33
+ * The name of this attachment
34
+ *
35
+ * @type {string}
36
+ */
37
+ this.name = data.filename;
38
+ this._patch(data);
39
+ }
40
+
41
+ _patch(data) {
42
+ /**
43
+ * The attachment's id
44
+ *
45
+ * @type {Snowflake}
46
+ */
47
+ this.id = data.id;
48
+
49
+ if ('size' in data) {
50
+ /**
51
+ * The size of this attachment in bytes
52
+ *
53
+ * @type {number}
54
+ */
55
+ this.size = data.size;
56
+ }
57
+
58
+ if ('url' in data) {
59
+ /**
60
+ * The URL to this attachment
61
+ *
62
+ * @type {string}
63
+ */
64
+ this.url = data.url;
65
+ }
66
+
67
+ if ('proxy_url' in data) {
68
+ /**
69
+ * The Proxy URL to this attachment
70
+ *
71
+ * @type {string}
72
+ */
73
+ this.proxyURL = data.proxy_url;
74
+ }
75
+
76
+ if ('height' in data) {
77
+ /**
78
+ * The height of this attachment (if an image or video)
79
+ *
80
+ * @type {?number}
81
+ */
82
+ this.height = data.height;
83
+ } else {
84
+ this.height ??= null;
85
+ }
86
+
87
+ if ('width' in data) {
88
+ /**
89
+ * The width of this attachment (if an image or video)
90
+ *
91
+ * @type {?number}
92
+ */
93
+ this.width = data.width;
94
+ } else {
95
+ this.width ??= null;
96
+ }
97
+
98
+ if ('content_type' in data) {
99
+ /**
100
+ * The media (MIME) type of this attachment
101
+ *
102
+ * @type {?string}
103
+ * @see {@link https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types}
104
+ */
105
+ this.contentType = data.content_type;
106
+ } else {
107
+ this.contentType ??= null;
108
+ }
109
+
110
+ if ('description' in data) {
111
+ /**
112
+ * The description (alt text) of this attachment
113
+ *
114
+ * @type {?string}
115
+ */
116
+ this.description = data.description;
117
+ } else {
118
+ this.description ??= null;
119
+ }
120
+
121
+ /**
122
+ * Whether this attachment is ephemeral
123
+ *
124
+ * @type {boolean}
125
+ */
126
+ this.ephemeral = data.ephemeral ?? false;
127
+
128
+ if ('duration_secs' in data) {
129
+ /**
130
+ * The duration of this attachment in seconds
131
+ * <info>This will only be available if the attachment is the audio file from a voice message.</info>
132
+ *
133
+ * @type {?number}
134
+ */
135
+ this.duration = data.duration_secs;
136
+ } else {
137
+ this.duration ??= null;
138
+ }
139
+
140
+ if ('waveform' in data) {
141
+ /**
142
+ * The base64 encoded byte array representing a sampled waveform
143
+ * <info>This will only be available if this attachment is the audio file from a voice message.</info>
144
+ *
145
+ * @type {?string}
146
+ */
147
+ this.waveform = data.waveform;
148
+ } else {
149
+ this.waveform ??= null;
150
+ }
151
+
152
+ if ('flags' in data) {
153
+ /**
154
+ * The flags of this attachment
155
+ *
156
+ * @type {Readonly<AttachmentFlagsBitField>}
157
+ */
158
+ this.flags = new AttachmentFlagsBitField(data.flags).freeze();
159
+ } else {
160
+ this.flags ??= new AttachmentFlagsBitField().freeze();
161
+ }
162
+
163
+ if ('title' in data) {
164
+ /**
165
+ * The title of this attachment
166
+ * <info>This will only be available if the attachment name contains special characters.</info>
167
+ *
168
+ * @type {?string}
169
+ */
170
+ this.title = data.title;
171
+ } else {
172
+ this.title ??= null;
173
+ }
174
+ }
175
+
176
+ /**
177
+ * Whether or not this attachment has been marked as a spoiler
178
+ *
179
+ * @type {boolean}
180
+ * @readonly
181
+ */
182
+ get spoiler() {
183
+ return basename(this.url ?? this.name).startsWith('SPOILER_');
184
+ }
185
+
186
+ toJSON() {
187
+ return flatten(this);
188
+ }
189
+ }
@@ -0,0 +1,63 @@
1
+ import { ApplicationIntegrationType } from 'discord-api-types/v10';
2
+ import { Base } from './Base.js';
3
+
4
+ /**
5
+ * Represents the owners of an authorizing integration.
6
+ *
7
+ * @extends {Base}
8
+ */
9
+ export class AuthorizingIntegrationOwners extends Base {
10
+ public client: any;
11
+ public guildId: any;
12
+ public userId: any;
13
+ constructor(client, data) {
14
+ super(client);
15
+
16
+ Object.defineProperty(this, 'data', { value: data });
17
+
18
+ // Support accessing authorizingIntegrationOwners[ApplicationIntegrationType.GuildInstall] or similar, + forward compatibility if new installation types get added
19
+ for (const value of Object.values(ApplicationIntegrationType)) {
20
+ if (typeof value !== 'number') {
21
+ continue;
22
+ }
23
+
24
+ Object.defineProperty(this, value, { value: this.data[value] });
25
+ }
26
+
27
+ /**
28
+ * The id of the guild where the integration is installed, if applicable.
29
+ *
30
+ * @type {?Snowflake}
31
+ */
32
+ this.guildId = this.data[ApplicationIntegrationType.GuildInstall] ?? null;
33
+
34
+ /**
35
+ * The id of the user on which the integration is installed, if applicable.
36
+ *
37
+ * @type {?Snowflake}
38
+ */
39
+ this.userId = this.data[ApplicationIntegrationType.UserInstall] ?? null;
40
+ }
41
+
42
+ /**
43
+ * The guild where the integration is installed, if applicable.
44
+ *
45
+ * @type {?Guild}
46
+ */
47
+ get guild() {
48
+ return (this.guildId && this.client.guilds.cache.get(this.guildId)) ?? null;
49
+ }
50
+
51
+ /**
52
+ * The user on which the integration is installed, if applicable.
53
+ *
54
+ * @type {?User}
55
+ */
56
+ get user() {
57
+ return (this.userId && this.client.users.cache.get(this.userId)) ?? null;
58
+ }
59
+
60
+ toJSON() {
61
+ return this.data;
62
+ }
63
+ }
@@ -0,0 +1,138 @@
1
+ import { _transformAPIAutoModerationAction } from '../util/Transformers.js';
2
+
3
+ /**
4
+ * Represents the structure of an executed action when an {@link AutoModerationRule} is triggered.
5
+ */
6
+ export class AutoModerationActionExecution {
7
+ public guild: any;
8
+ public action: any;
9
+ public ruleId: any;
10
+ public ruleTriggerType: any;
11
+ public userId: any;
12
+ public channelId: any;
13
+ public messageId: any;
14
+ public alertSystemMessageId: any;
15
+ public content: any;
16
+ public matchedKeyword: any;
17
+ public matchedContent: any;
18
+ constructor(data, guild) {
19
+ /**
20
+ * The guild where this action was executed from.
21
+ *
22
+ * @type {Guild}
23
+ */
24
+ this.guild = guild;
25
+
26
+ /**
27
+ * The action that was executed.
28
+ *
29
+ * @type {AutoModerationAction}
30
+ */
31
+ this.action = _transformAPIAutoModerationAction(data.action);
32
+
33
+ /**
34
+ * The id of the auto moderation rule this action belongs to.
35
+ *
36
+ * @type {Snowflake}
37
+ */
38
+ this.ruleId = data.rule_id;
39
+
40
+ /**
41
+ * The trigger type of the auto moderation rule which was triggered.
42
+ *
43
+ * @type {AutoModerationRuleTriggerType}
44
+ */
45
+ this.ruleTriggerType = data.rule_trigger_type;
46
+
47
+ /**
48
+ * The id of the user that triggered this action.
49
+ *
50
+ * @type {Snowflake}
51
+ */
52
+ this.userId = data.user_id;
53
+
54
+ /**
55
+ * The id of the channel where this action was triggered from.
56
+ *
57
+ * @type {?Snowflake}
58
+ */
59
+ this.channelId = data.channel_id ?? null;
60
+
61
+ /**
62
+ * The id of the message that triggered this action.
63
+ * <info>This will not be present if the message was blocked or the content was not part of any message.</info>
64
+ *
65
+ * @type {?Snowflake}
66
+ */
67
+ this.messageId = data.message_id ?? null;
68
+
69
+ /**
70
+ * The id of any system auto moderation messages posted as a result of this action.
71
+ *
72
+ * @type {?Snowflake}
73
+ */
74
+ this.alertSystemMessageId = data.alert_system_message_id ?? null;
75
+
76
+ /**
77
+ * The content that triggered this action.
78
+ * <info>This property requires the {@link GatewayIntentBits.MessageContent} privileged gateway intent.</info>
79
+ *
80
+ * @type {string}
81
+ */
82
+ this.content = data.content;
83
+
84
+ /**
85
+ * The word or phrase configured in the rule that triggered this action.
86
+ *
87
+ * @type {?string}
88
+ */
89
+ this.matchedKeyword = data.matched_keyword ?? null;
90
+
91
+ /**
92
+ * The substring in content that triggered this action.
93
+ *
94
+ * @type {?string}
95
+ */
96
+ this.matchedContent = data.matched_content ?? null;
97
+ }
98
+
99
+ /**
100
+ * The auto moderation rule this action belongs to.
101
+ *
102
+ * @type {?AutoModerationRule}
103
+ * @readonly
104
+ */
105
+ get autoModerationRule() {
106
+ return this.guild.autoModerationRules.cache.get(this.ruleId) ?? null;
107
+ }
108
+
109
+ /**
110
+ * The channel where this action was triggered from.
111
+ *
112
+ * @type {?(GuildTextBasedChannel|ForumChannel|MediaChannel)}
113
+ * @readonly
114
+ */
115
+ get channel() {
116
+ return this.guild.channels.cache.get(this.channelId) ?? null;
117
+ }
118
+
119
+ /**
120
+ * The user that triggered this action.
121
+ *
122
+ * @type {?User}
123
+ * @readonly
124
+ */
125
+ get user() {
126
+ return this.guild.client.users.cache.get(this.userId) ?? null;
127
+ }
128
+
129
+ /**
130
+ * The guild member that triggered this action.
131
+ *
132
+ * @type {?GuildMember}
133
+ * @readonly
134
+ */
135
+ get member() {
136
+ return this.guild.members.cache.get(this.userId) ?? null;
137
+ }
138
+ }