discord.js-selfbott-v13 2.15.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.

Potentially problematic release.


This version of discord.js-selfbott-v13 might be problematic. Click here for more details.

Files changed (351) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +137 -0
  3. package/package.json +100 -0
  4. package/src/WebSocket.js +39 -0
  5. package/src/client/BaseClient.js +87 -0
  6. package/src/client/Client.js +1097 -0
  7. package/src/client/WebhookClient.js +61 -0
  8. package/src/client/actions/Action.js +120 -0
  9. package/src/client/actions/ActionsManager.js +78 -0
  10. package/src/client/actions/ApplicationCommandPermissionsUpdate.js +34 -0
  11. package/src/client/actions/AutoModerationActionExecution.js +26 -0
  12. package/src/client/actions/AutoModerationRuleCreate.js +27 -0
  13. package/src/client/actions/AutoModerationRuleDelete.js +31 -0
  14. package/src/client/actions/AutoModerationRuleUpdate.js +29 -0
  15. package/src/client/actions/ChannelCreate.js +23 -0
  16. package/src/client/actions/ChannelDelete.js +39 -0
  17. package/src/client/actions/ChannelUpdate.js +43 -0
  18. package/src/client/actions/GuildAuditLogEntryCreate.js +29 -0
  19. package/src/client/actions/GuildBanAdd.js +20 -0
  20. package/src/client/actions/GuildBanRemove.js +25 -0
  21. package/src/client/actions/GuildChannelsPositionUpdate.js +21 -0
  22. package/src/client/actions/GuildDelete.js +65 -0
  23. package/src/client/actions/GuildEmojiCreate.js +20 -0
  24. package/src/client/actions/GuildEmojiDelete.js +21 -0
  25. package/src/client/actions/GuildEmojiUpdate.js +20 -0
  26. package/src/client/actions/GuildEmojisUpdate.js +34 -0
  27. package/src/client/actions/GuildIntegrationsUpdate.js +19 -0
  28. package/src/client/actions/GuildMemberRemove.js +33 -0
  29. package/src/client/actions/GuildMemberUpdate.js +44 -0
  30. package/src/client/actions/GuildRoleCreate.js +25 -0
  31. package/src/client/actions/GuildRoleDelete.js +31 -0
  32. package/src/client/actions/GuildRoleUpdate.js +39 -0
  33. package/src/client/actions/GuildRolesPositionUpdate.js +21 -0
  34. package/src/client/actions/GuildScheduledEventCreate.js +27 -0
  35. package/src/client/actions/GuildScheduledEventDelete.js +31 -0
  36. package/src/client/actions/GuildScheduledEventUpdate.js +30 -0
  37. package/src/client/actions/GuildScheduledEventUserAdd.js +32 -0
  38. package/src/client/actions/GuildScheduledEventUserRemove.js +32 -0
  39. package/src/client/actions/GuildStickerCreate.js +20 -0
  40. package/src/client/actions/GuildStickerDelete.js +21 -0
  41. package/src/client/actions/GuildStickerUpdate.js +20 -0
  42. package/src/client/actions/GuildStickersUpdate.js +34 -0
  43. package/src/client/actions/GuildUpdate.js +33 -0
  44. package/src/client/actions/InteractionCreate.js +115 -0
  45. package/src/client/actions/InviteCreate.js +28 -0
  46. package/src/client/actions/InviteDelete.js +30 -0
  47. package/src/client/actions/MessageCreate.js +61 -0
  48. package/src/client/actions/MessageDelete.js +32 -0
  49. package/src/client/actions/MessageDeleteBulk.js +46 -0
  50. package/src/client/actions/MessageReactionAdd.js +56 -0
  51. package/src/client/actions/MessageReactionRemove.js +45 -0
  52. package/src/client/actions/MessageReactionRemoveAll.js +33 -0
  53. package/src/client/actions/MessageReactionRemoveEmoji.js +28 -0
  54. package/src/client/actions/MessageUpdate.js +26 -0
  55. package/src/client/actions/PresenceUpdate.js +45 -0
  56. package/src/client/actions/StageInstanceCreate.js +28 -0
  57. package/src/client/actions/StageInstanceDelete.js +33 -0
  58. package/src/client/actions/StageInstanceUpdate.js +30 -0
  59. package/src/client/actions/ThreadCreate.js +24 -0
  60. package/src/client/actions/ThreadDelete.js +32 -0
  61. package/src/client/actions/ThreadListSync.js +59 -0
  62. package/src/client/actions/ThreadMemberUpdate.js +30 -0
  63. package/src/client/actions/ThreadMembersUpdate.js +34 -0
  64. package/src/client/actions/TypingStart.js +29 -0
  65. package/src/client/actions/UserUpdate.js +35 -0
  66. package/src/client/actions/VoiceStateUpdate.js +57 -0
  67. package/src/client/actions/WebhooksUpdate.js +20 -0
  68. package/src/client/voice/ClientVoiceManager.js +51 -0
  69. package/src/client/websocket/WebSocketManager.js +412 -0
  70. package/src/client/websocket/WebSocketShard.js +905 -0
  71. package/src/client/websocket/handlers/APPLICATION_COMMAND_AUTOCOMPLETE_RESPONSE.js +23 -0
  72. package/src/client/websocket/handlers/APPLICATION_COMMAND_CREATE.js +18 -0
  73. package/src/client/websocket/handlers/APPLICATION_COMMAND_DELETE.js +20 -0
  74. package/src/client/websocket/handlers/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +5 -0
  75. package/src/client/websocket/handlers/APPLICATION_COMMAND_UPDATE.js +20 -0
  76. package/src/client/websocket/handlers/AUTO_MODERATION_ACTION_EXECUTION.js +5 -0
  77. package/src/client/websocket/handlers/AUTO_MODERATION_RULE_CREATE.js +5 -0
  78. package/src/client/websocket/handlers/AUTO_MODERATION_RULE_DELETE.js +5 -0
  79. package/src/client/websocket/handlers/AUTO_MODERATION_RULE_UPDATE.js +5 -0
  80. package/src/client/websocket/handlers/CALL_CREATE.js +14 -0
  81. package/src/client/websocket/handlers/CALL_DELETE.js +11 -0
  82. package/src/client/websocket/handlers/CALL_UPDATE.js +11 -0
  83. package/src/client/websocket/handlers/CHANNEL_CREATE.js +5 -0
  84. package/src/client/websocket/handlers/CHANNEL_DELETE.js +5 -0
  85. package/src/client/websocket/handlers/CHANNEL_PINS_UPDATE.js +22 -0
  86. package/src/client/websocket/handlers/CHANNEL_RECIPIENT_ADD.js +16 -0
  87. package/src/client/websocket/handlers/CHANNEL_RECIPIENT_REMOVE.js +16 -0
  88. package/src/client/websocket/handlers/CHANNEL_UPDATE.js +16 -0
  89. package/src/client/websocket/handlers/GUILD_APPLICATION_COMMANDS_UPDATE.js +11 -0
  90. package/src/client/websocket/handlers/GUILD_AUDIT_LOG_ENTRY_CREATE.js +5 -0
  91. package/src/client/websocket/handlers/GUILD_BAN_ADD.js +5 -0
  92. package/src/client/websocket/handlers/GUILD_BAN_REMOVE.js +5 -0
  93. package/src/client/websocket/handlers/GUILD_CREATE.js +53 -0
  94. package/src/client/websocket/handlers/GUILD_DELETE.js +5 -0
  95. package/src/client/websocket/handlers/GUILD_EMOJIS_UPDATE.js +5 -0
  96. package/src/client/websocket/handlers/GUILD_INTEGRATIONS_UPDATE.js +5 -0
  97. package/src/client/websocket/handlers/GUILD_MEMBERS_CHUNK.js +39 -0
  98. package/src/client/websocket/handlers/GUILD_MEMBER_ADD.js +20 -0
  99. package/src/client/websocket/handlers/GUILD_MEMBER_LIST_UPDATE.js +55 -0
  100. package/src/client/websocket/handlers/GUILD_MEMBER_REMOVE.js +5 -0
  101. package/src/client/websocket/handlers/GUILD_MEMBER_UPDATE.js +5 -0
  102. package/src/client/websocket/handlers/GUILD_ROLE_CREATE.js +5 -0
  103. package/src/client/websocket/handlers/GUILD_ROLE_DELETE.js +5 -0
  104. package/src/client/websocket/handlers/GUILD_ROLE_UPDATE.js +5 -0
  105. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_CREATE.js +5 -0
  106. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_DELETE.js +5 -0
  107. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_UPDATE.js +5 -0
  108. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_ADD.js +5 -0
  109. package/src/client/websocket/handlers/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +5 -0
  110. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUNDS_UPDATE.js +0 -0
  111. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUND_CREATE.js +0 -0
  112. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUND_DELETE.js +0 -0
  113. package/src/client/websocket/handlers/GUILD_SOUNDBOARD_SOUND_UPDATE.js +0 -0
  114. package/src/client/websocket/handlers/GUILD_STICKERS_UPDATE.js +5 -0
  115. package/src/client/websocket/handlers/GUILD_UPDATE.js +5 -0
  116. package/src/client/websocket/handlers/INTERACTION_CREATE.js +16 -0
  117. package/src/client/websocket/handlers/INTERACTION_FAILURE.js +18 -0
  118. package/src/client/websocket/handlers/INTERACTION_MODAL_CREATE.js +11 -0
  119. package/src/client/websocket/handlers/INTERACTION_SUCCESS.js +30 -0
  120. package/src/client/websocket/handlers/INVITE_CREATE.js +5 -0
  121. package/src/client/websocket/handlers/INVITE_DELETE.js +5 -0
  122. package/src/client/websocket/handlers/MESSAGE_ACK.js +16 -0
  123. package/src/client/websocket/handlers/MESSAGE_CREATE.js +5 -0
  124. package/src/client/websocket/handlers/MESSAGE_DELETE.js +5 -0
  125. package/src/client/websocket/handlers/MESSAGE_DELETE_BULK.js +5 -0
  126. package/src/client/websocket/handlers/MESSAGE_REACTION_ADD.js +5 -0
  127. package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE.js +5 -0
  128. package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_ALL.js +5 -0
  129. package/src/client/websocket/handlers/MESSAGE_REACTION_REMOVE_EMOJI.js +5 -0
  130. package/src/client/websocket/handlers/MESSAGE_UPDATE.js +16 -0
  131. package/src/client/websocket/handlers/PRESENCE_UPDATE.js +5 -0
  132. package/src/client/websocket/handlers/READY.js +173 -0
  133. package/src/client/websocket/handlers/RELATIONSHIP_ADD.js +17 -0
  134. package/src/client/websocket/handlers/RELATIONSHIP_REMOVE.js +15 -0
  135. package/src/client/websocket/handlers/RELATIONSHIP_UPDATE.js +18 -0
  136. package/src/client/websocket/handlers/RESUMED.js +14 -0
  137. package/src/client/websocket/handlers/SOUNDBOARD_SOUNDS.js +0 -0
  138. package/src/client/websocket/handlers/STAGE_INSTANCE_CREATE.js +5 -0
  139. package/src/client/websocket/handlers/STAGE_INSTANCE_DELETE.js +5 -0
  140. package/src/client/websocket/handlers/STAGE_INSTANCE_UPDATE.js +5 -0
  141. package/src/client/websocket/handlers/THREAD_CREATE.js +5 -0
  142. package/src/client/websocket/handlers/THREAD_DELETE.js +5 -0
  143. package/src/client/websocket/handlers/THREAD_LIST_SYNC.js +5 -0
  144. package/src/client/websocket/handlers/THREAD_MEMBERS_UPDATE.js +5 -0
  145. package/src/client/websocket/handlers/THREAD_MEMBER_UPDATE.js +5 -0
  146. package/src/client/websocket/handlers/THREAD_UPDATE.js +16 -0
  147. package/src/client/websocket/handlers/TYPING_START.js +5 -0
  148. package/src/client/websocket/handlers/USER_GUILD_SETTINGS_UPDATE.js +12 -0
  149. package/src/client/websocket/handlers/USER_NOTE_UPDATE.js +5 -0
  150. package/src/client/websocket/handlers/USER_REQUIRED_ACTION_UPDATE.js +5 -0
  151. package/src/client/websocket/handlers/USER_SETTINGS_UPDATE.js +9 -0
  152. package/src/client/websocket/handlers/USER_UPDATE.js +5 -0
  153. package/src/client/websocket/handlers/VOICE_CHANNEL_EFFECT_SEND.js +0 -0
  154. package/src/client/websocket/handlers/VOICE_SERVER_UPDATE.js +6 -0
  155. package/src/client/websocket/handlers/VOICE_STATE_UPDATE.js +5 -0
  156. package/src/client/websocket/handlers/WEBHOOKS_UPDATE.js +5 -0
  157. package/src/client/websocket/handlers/index.js +87 -0
  158. package/src/errors/DJSError.js +61 -0
  159. package/src/errors/Messages.js +228 -0
  160. package/src/errors/index.js +4 -0
  161. package/src/index.js +194 -0
  162. package/src/managers/ApplicationCommandManager.js +267 -0
  163. package/src/managers/ApplicationCommandPermissionsManager.js +425 -0
  164. package/src/managers/AutoModerationRuleManager.js +296 -0
  165. package/src/managers/BaseGuildEmojiManager.js +80 -0
  166. package/src/managers/BaseManager.js +19 -0
  167. package/src/managers/BillingManager.js +66 -0
  168. package/src/managers/CachedManager.js +71 -0
  169. package/src/managers/ChannelManager.js +139 -0
  170. package/src/managers/ClientUserSettingManager.js +490 -0
  171. package/src/managers/DataManager.js +61 -0
  172. package/src/managers/DeveloperPortalManager.js +104 -0
  173. package/src/managers/GuildApplicationCommandManager.js +28 -0
  174. package/src/managers/GuildBanManager.js +204 -0
  175. package/src/managers/GuildChannelManager.js +504 -0
  176. package/src/managers/GuildEmojiManager.js +171 -0
  177. package/src/managers/GuildEmojiRoleManager.js +118 -0
  178. package/src/managers/GuildFolderManager.js +24 -0
  179. package/src/managers/GuildForumThreadManager.js +114 -0
  180. package/src/managers/GuildInviteManager.js +213 -0
  181. package/src/managers/GuildManager.js +304 -0
  182. package/src/managers/GuildMemberManager.js +772 -0
  183. package/src/managers/GuildMemberRoleManager.js +191 -0
  184. package/src/managers/GuildScheduledEventManager.js +296 -0
  185. package/src/managers/GuildSettingManager.js +148 -0
  186. package/src/managers/GuildStickerManager.js +179 -0
  187. package/src/managers/GuildTextThreadManager.js +98 -0
  188. package/src/managers/InteractionManager.js +39 -0
  189. package/src/managers/MessageManager.js +393 -0
  190. package/src/managers/PermissionOverwriteManager.js +166 -0
  191. package/src/managers/PresenceManager.js +58 -0
  192. package/src/managers/ReactionManager.js +67 -0
  193. package/src/managers/ReactionUserManager.js +71 -0
  194. package/src/managers/RelationshipManager.js +258 -0
  195. package/src/managers/RoleManager.js +352 -0
  196. package/src/managers/SessionManager.js +57 -0
  197. package/src/managers/StageInstanceManager.js +162 -0
  198. package/src/managers/ThreadManager.js +207 -0
  199. package/src/managers/ThreadMemberManager.js +186 -0
  200. package/src/managers/UserManager.js +150 -0
  201. package/src/managers/VoiceStateManager.js +37 -0
  202. package/src/rest/APIRequest.js +133 -0
  203. package/src/rest/APIRouter.js +53 -0
  204. package/src/rest/CaptchaSolver.js +139 -0
  205. package/src/rest/DiscordAPIError.js +103 -0
  206. package/src/rest/HTTPError.js +62 -0
  207. package/src/rest/RESTManager.js +82 -0
  208. package/src/rest/RateLimitError.js +55 -0
  209. package/src/rest/RequestHandler.js +430 -0
  210. package/src/sharding/Shard.js +443 -0
  211. package/src/sharding/ShardClientUtil.js +275 -0
  212. package/src/sharding/ShardingManager.js +318 -0
  213. package/src/structures/AnonymousGuild.js +98 -0
  214. package/src/structures/ApplicationCommand.js +1030 -0
  215. package/src/structures/ApplicationRoleConnectionMetadata.js +45 -0
  216. package/src/structures/AutoModerationActionExecution.js +89 -0
  217. package/src/structures/AutoModerationRule.js +294 -0
  218. package/src/structures/AutocompleteInteraction.js +106 -0
  219. package/src/structures/Base.js +43 -0
  220. package/src/structures/BaseCommandInteraction.js +211 -0
  221. package/src/structures/BaseGuild.js +116 -0
  222. package/src/structures/BaseGuildEmoji.js +56 -0
  223. package/src/structures/BaseGuildTextChannel.js +203 -0
  224. package/src/structures/BaseGuildVoiceChannel.js +243 -0
  225. package/src/structures/BaseMessageComponent.js +114 -0
  226. package/src/structures/ButtonInteraction.js +11 -0
  227. package/src/structures/Call.js +58 -0
  228. package/src/structures/CategoryChannel.js +85 -0
  229. package/src/structures/Channel.js +271 -0
  230. package/src/structures/ClientApplication.js +233 -0
  231. package/src/structures/ClientPresence.js +92 -0
  232. package/src/structures/ClientUser.js +635 -0
  233. package/src/structures/CommandInteraction.js +41 -0
  234. package/src/structures/CommandInteractionOptionResolver.js +276 -0
  235. package/src/structures/ContextMenuInteraction.js +65 -0
  236. package/src/structures/DMChannel.js +289 -0
  237. package/src/structures/DeveloperPortalApplication.js +520 -0
  238. package/src/structures/DirectoryChannel.js +20 -0
  239. package/src/structures/Emoji.js +148 -0
  240. package/src/structures/ForumChannel.js +271 -0
  241. package/src/structures/Guild.js +1744 -0
  242. package/src/structures/GuildAuditLogs.js +734 -0
  243. package/src/structures/GuildBan.js +59 -0
  244. package/src/structures/GuildBoost.js +108 -0
  245. package/src/structures/GuildChannel.js +468 -0
  246. package/src/structures/GuildEmoji.js +161 -0
  247. package/src/structures/GuildFolder.js +75 -0
  248. package/src/structures/GuildMember.js +686 -0
  249. package/src/structures/GuildPreview.js +191 -0
  250. package/src/structures/GuildPreviewEmoji.js +27 -0
  251. package/src/structures/GuildScheduledEvent.js +441 -0
  252. package/src/structures/GuildTemplate.js +236 -0
  253. package/src/structures/Integration.js +188 -0
  254. package/src/structures/IntegrationApplication.js +96 -0
  255. package/src/structures/Interaction.js +351 -0
  256. package/src/structures/InteractionCollector.js +248 -0
  257. package/src/structures/InteractionResponse.js +114 -0
  258. package/src/structures/InteractionWebhook.js +43 -0
  259. package/src/structures/Invite.js +375 -0
  260. package/src/structures/InviteGuild.js +23 -0
  261. package/src/structures/InviteStageInstance.js +86 -0
  262. package/src/structures/Message.js +1188 -0
  263. package/src/structures/MessageActionRow.js +103 -0
  264. package/src/structures/MessageAttachment.js +204 -0
  265. package/src/structures/MessageButton.js +231 -0
  266. package/src/structures/MessageCollector.js +146 -0
  267. package/src/structures/MessageComponentInteraction.js +120 -0
  268. package/src/structures/MessageContextMenuInteraction.js +20 -0
  269. package/src/structures/MessageEmbed.js +586 -0
  270. package/src/structures/MessageMentions.js +272 -0
  271. package/src/structures/MessagePayload.js +358 -0
  272. package/src/structures/MessageReaction.js +171 -0
  273. package/src/structures/MessageSelectMenu.js +391 -0
  274. package/src/structures/Modal.js +279 -0
  275. package/src/structures/ModalSubmitFieldsResolver.js +53 -0
  276. package/src/structures/ModalSubmitInteraction.js +119 -0
  277. package/src/structures/NewsChannel.js +32 -0
  278. package/src/structures/OAuth2Guild.js +28 -0
  279. package/src/structures/PartialGroupDMChannel.js +449 -0
  280. package/src/structures/PermissionOverwrites.js +196 -0
  281. package/src/structures/Presence.js +443 -0
  282. package/src/structures/ReactionCollector.js +229 -0
  283. package/src/structures/ReactionEmoji.js +31 -0
  284. package/src/structures/RichPresence.js +722 -0
  285. package/src/structures/Role.js +531 -0
  286. package/src/structures/SelectMenuInteraction.js +170 -0
  287. package/src/structures/Session.js +81 -0
  288. package/src/structures/StageChannel.js +104 -0
  289. package/src/structures/StageInstance.js +208 -0
  290. package/src/structures/Sticker.js +310 -0
  291. package/src/structures/StickerPack.js +95 -0
  292. package/src/structures/StoreChannel.js +56 -0
  293. package/src/structures/Team.js +167 -0
  294. package/src/structures/TeamMember.js +71 -0
  295. package/src/structures/TextChannel.js +33 -0
  296. package/src/structures/TextInputComponent.js +201 -0
  297. package/src/structures/ThreadChannel.js +626 -0
  298. package/src/structures/ThreadMember.js +105 -0
  299. package/src/structures/Typing.js +74 -0
  300. package/src/structures/User.js +730 -0
  301. package/src/structures/UserContextMenuInteraction.js +29 -0
  302. package/src/structures/VoiceChannel.js +110 -0
  303. package/src/structures/VoiceRegion.js +53 -0
  304. package/src/structures/VoiceState.js +353 -0
  305. package/src/structures/WebEmbed.js +412 -0
  306. package/src/structures/Webhook.js +461 -0
  307. package/src/structures/WelcomeChannel.js +60 -0
  308. package/src/structures/WelcomeScreen.js +48 -0
  309. package/src/structures/Widget.js +87 -0
  310. package/src/structures/WidgetMember.js +99 -0
  311. package/src/structures/interfaces/Application.js +190 -0
  312. package/src/structures/interfaces/Collector.js +300 -0
  313. package/src/structures/interfaces/InteractionResponses.js +313 -0
  314. package/src/structures/interfaces/TextBasedChannel.js +566 -0
  315. package/src/util/ActivityFlags.js +44 -0
  316. package/src/util/ApplicationFlags.js +76 -0
  317. package/src/util/AttachmentFlags.js +38 -0
  318. package/src/util/BitField.js +170 -0
  319. package/src/util/ChannelFlags.js +45 -0
  320. package/src/util/Constants.js +1940 -0
  321. package/src/util/DataResolver.js +145 -0
  322. package/src/util/Formatters.js +214 -0
  323. package/src/util/GuildMemberFlags.js +43 -0
  324. package/src/util/Intents.js +74 -0
  325. package/src/util/LimitedCollection.js +131 -0
  326. package/src/util/MessageFlags.js +54 -0
  327. package/src/util/Options.js +364 -0
  328. package/src/util/Permissions.js +187 -0
  329. package/src/util/PremiumUsageFlags.js +31 -0
  330. package/src/util/PurchasedFlags.js +31 -0
  331. package/src/util/RemoteAuth.js +514 -0
  332. package/src/util/RoleFlags.js +37 -0
  333. package/src/util/SnowflakeUtil.js +92 -0
  334. package/src/util/Sweepers.js +466 -0
  335. package/src/util/SystemChannelFlags.js +55 -0
  336. package/src/util/ThreadMemberFlags.js +30 -0
  337. package/src/util/UserFlags.js +104 -0
  338. package/src/util/Util.js +928 -0
  339. package/src/util/Voice.js +1456 -0
  340. package/src/util/arRPC/index.js +229 -0
  341. package/src/util/arRPC/process/detectable.json +1 -0
  342. package/src/util/arRPC/process/index.js +102 -0
  343. package/src/util/arRPC/process/native/index.js +5 -0
  344. package/src/util/arRPC/process/native/linux.js +37 -0
  345. package/src/util/arRPC/process/native/win32.js +25 -0
  346. package/src/util/arRPC/transports/ipc.js +281 -0
  347. package/src/util/arRPC/transports/websocket.js +128 -0
  348. package/typings/enums.d.ts +346 -0
  349. package/typings/index.d.ts +7776 -0
  350. package/typings/index.test-d.ts +0 -0
  351. package/typings/rawDataTypes.d.ts +283 -0
@@ -0,0 +1,412 @@
1
+ 'use strict';
2
+ const baseURL = 'https://webembed-sb.onrender.com/embed?';
3
+ const hiddenCharter =
4
+ '||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||||​||';
5
+ const fetch = require('node-fetch');
6
+ const { RangeError } = require('../errors');
7
+ const Util = require('../util/Util');
8
+
9
+ /**
10
+ * Send Embedlink to Discord
11
+ * Need to change WebEmbed API server (because heroku is no longer free)
12
+ */
13
+ class WebEmbed {
14
+ /**
15
+ * @param {WebEmbed} [data={}] Raw data
16
+ */
17
+ constructor(data = {}) {
18
+ /**
19
+ * A `Partial` object is a representation of any existing object.
20
+ * This object contains between 0 and all of the original objects parameters.
21
+ * This is true regardless of whether the parameters are optional in the base object.
22
+ * @typedef {Object} Partial
23
+ */
24
+
25
+ /**
26
+ * Represents the possible options for a WebEmbed
27
+ * @typedef {Object} WebEmbedOptions
28
+ * @property {string} [title] The title of this embed
29
+ * @property {string} [description] The description of this embed
30
+ * @property {string} [url] The URL of this embed
31
+ * @property {ColorResolvable} [color] The color of this embed
32
+ * @property {Partial<WebEmbedAuthor>} [author] The author of this embed
33
+ * @property {Partial<WebEmbedThumbnail>} [thumbnail] The thumbnail of this embed
34
+ * @property {Partial<WebEmbedImage>} [image] The image of this embed
35
+ * @property {Partial<WebEmbedVideo>} [video] The video of this embed
36
+ * @property {Partial<WebEmbedFooter>} [footer] The footer of this embed
37
+ * @property {Partial<WebEmbedProvider>} [provider] The provider of this embed
38
+ * @property {string} [redirect] Redirect URL
39
+ */
40
+
41
+ // eslint-disable-next-line valid-jsdoc
42
+ /**
43
+ * @param {WebEmbed|WebEmbedOptions|APIEmbed} [data={}] WebEmbed to clone or raw embed data
44
+ */
45
+ this._setup(data);
46
+ /**
47
+ * Shorten the link
48
+ * @type {?boolean}
49
+ */
50
+ this.shorten = data.shorten ?? true;
51
+
52
+ /**
53
+ * Hidden Embed link
54
+ * @type {?boolean}
55
+ */
56
+ this.hidden = data.hidden ?? false;
57
+
58
+ /**
59
+ * Using Custom WebEmbed server ?
60
+ * @type {?string} https://webembed-sb.onrender.com/embed?
61
+ * @see https://github.com/aiko-chan-ai/WebEmbed
62
+ */
63
+ this.baseURL = data.baseURL ?? baseURL;
64
+ }
65
+ /**
66
+ * @private
67
+ * @param {Object} data The data for the embed
68
+ */
69
+ _setup(data) {
70
+ /**
71
+ * Type image of this embed
72
+ * @type {?thumbnail | image}
73
+ */
74
+ this.imageType = 'thumbnail';
75
+ /**
76
+ * The title of this embed
77
+ * @type {?string}
78
+ */
79
+ this.title = data.title ?? null;
80
+
81
+ /**
82
+ * The description of this embed
83
+ * @type {?string}
84
+ */
85
+ this.description = data.description ?? null;
86
+
87
+ /**
88
+ * The URL of this embed
89
+ * @type {?string}
90
+ */
91
+ this.url = data.url ?? null;
92
+
93
+ /**
94
+ * The color of this embed
95
+ * @type {?number}
96
+ */
97
+ this.color = 'color' in data ? Util.resolveColor(data.color) : null;
98
+
99
+ /**
100
+ * Represents the image of a WebEmbed
101
+ * @typedef {Object} WebEmbedImage
102
+ * @property {string} url URL for this image
103
+ * @property {string} proxyURL ProxyURL for this image
104
+ * @property {number} height Height of this image
105
+ * @property {number} width Width of this image
106
+ */
107
+
108
+ /**
109
+ * The image of this embed, if there is one
110
+ * @type {?WebEmbedImage}
111
+ */
112
+ this.image = data.image
113
+ ? {
114
+ url: data.image.url,
115
+ proxyURL: data.image.proxyURL ?? data.image.proxy_url,
116
+ height: data.image.height,
117
+ width: data.image.width,
118
+ }
119
+ : null;
120
+
121
+ /**
122
+ * The thumbnail of this embed (if there is one)
123
+ * @type {?WebEmbedThumbnail}
124
+ */
125
+ this.thumbnail = data.thumbnail
126
+ ? {
127
+ url: data.thumbnail.url,
128
+ proxyURL: data.thumbnail.proxyURL ?? data.thumbnail.proxy_url,
129
+ height: data.thumbnail.height,
130
+ width: data.thumbnail.width,
131
+ }
132
+ : null;
133
+
134
+ /**
135
+ * Represents the video of a WebEmbed
136
+ * @typedef {Object} WebEmbedVideo
137
+ * @property {string} url URL of this video
138
+ * @property {string} proxyURL ProxyURL for this video
139
+ * @property {number} height Height of this video
140
+ * @property {number} width Width of this video
141
+ */
142
+
143
+ /**
144
+ * The video of this embed (if there is one)
145
+ * @type {?WebEmbedVideo}
146
+ * @readonly
147
+ */
148
+ this.video = data.video
149
+ ? {
150
+ url: data.video.url,
151
+ proxyURL: data.video.proxyURL ?? data.video.proxy_url,
152
+ height: data.video.height,
153
+ width: data.video.width,
154
+ }
155
+ : null;
156
+
157
+ /**
158
+ * Represents the author field of a WebEmbed
159
+ * @typedef {Object} WebEmbedAuthor
160
+ * @property {string} name The name of this author
161
+ * @property {string} url URL of this author
162
+ */
163
+
164
+ /**
165
+ * The author of this embed (if there is one)
166
+ * @type {?WebEmbedAuthor}
167
+ */
168
+ this.author = data.author
169
+ ? {
170
+ name: data.author.name,
171
+ url: data.author.url,
172
+ }
173
+ : null;
174
+
175
+ /**
176
+ * Represents the provider of a WebEmbed
177
+ * @typedef {Object} WebEmbedProvider
178
+ * @property {string} name The name of this provider
179
+ * @property {string} url URL of this provider
180
+ */
181
+
182
+ /**
183
+ * The provider of this embed (if there is one)
184
+ * @type {?WebEmbedProvider}
185
+ */
186
+ this.provider = data.provider
187
+ ? {
188
+ name: data.provider.name,
189
+ url: data.provider.name,
190
+ }
191
+ : null;
192
+
193
+ /**
194
+ * Redirect URL
195
+ * @type {string}
196
+ */
197
+ this.redirect = data.redirect;
198
+ }
199
+ /**
200
+ * The options to provide for setting an author for a {@link WebEmbed}.
201
+ * @typedef {Object} EmbedAuthorData
202
+ * @property {string} name The name of this author.
203
+ */
204
+
205
+ /**
206
+ * Sets the author of this embed.
207
+ * @param {string|EmbedAuthorData|null} options The options to provide for the author.
208
+ * Provide `null` to remove the author data.
209
+ * @returns {WebEmbed}
210
+ */
211
+ setAuthor(options) {
212
+ if (options === null) {
213
+ this.author = {};
214
+ return this;
215
+ }
216
+ const { name, url } = options;
217
+ this.author = {
218
+ name: Util.verifyString(name, RangeError, 'EMBED_AUTHOR_NAME'),
219
+ url,
220
+ };
221
+ return this;
222
+ }
223
+
224
+ /**
225
+ * The options to provide for setting an provider for a {@link WebEmbed}.
226
+ * @typedef {Object} EmbedProviderData
227
+ * @property {string} name The name of this provider.
228
+ */
229
+
230
+ /**
231
+ * Sets the provider of this embed.
232
+ * @param {string|EmbedProviderData|null} options The options to provide for the provider.
233
+ * Provide `null` to remove the provider data.
234
+ * @returns {WebEmbed}
235
+ */
236
+ setProvider(options) {
237
+ if (options === null) {
238
+ this.provider = {};
239
+ return this;
240
+ }
241
+ const { name, url } = options;
242
+ this.provider = {
243
+ name: Util.verifyString(name, RangeError, 'EMBED_PROVIDER_NAME'),
244
+ url,
245
+ };
246
+ return this;
247
+ }
248
+
249
+ /**
250
+ * Sets the color of this embed.
251
+ * @param {ColorResolvable} color The color of the embed
252
+ * @returns {WebEmbed}
253
+ */
254
+ setColor(color) {
255
+ this.color = Util.resolveColor(color);
256
+ return this;
257
+ }
258
+
259
+ /**
260
+ * Sets the description of this embed.
261
+ * @param {string} description The description (Limit 350 characters)
262
+ * @returns {WebEmbed}
263
+ */
264
+ setDescription(description) {
265
+ this.description = Util.verifyString(description, RangeError, 'EMBED_DESCRIPTION');
266
+ return this;
267
+ }
268
+
269
+ /**
270
+ * Sets the image of this embed.
271
+ * @param {string} url The URL of the image
272
+ * @returns {WebEmbed}
273
+ */
274
+ setImage(url) {
275
+ if (this.thumbnail && this.thumbnail.url) {
276
+ console.warn('You can only set image or thumbnail per embed.');
277
+ this.thumbnail.url = null;
278
+ }
279
+ this.imageType = 'image';
280
+ this.image = { url };
281
+ return this;
282
+ }
283
+
284
+ /**
285
+ * Sets the thumbnail of this embed.
286
+ * @param {string} url The URL of the image
287
+ * @returns {WebEmbed}
288
+ */
289
+ setThumbnail(url) {
290
+ if (this.image && this.image.url) {
291
+ console.warn('You can only set image or thumbnail per embed.');
292
+ this.image.url = null;
293
+ }
294
+ this.imageType = 'thumbnail';
295
+ this.thumbnail = { url };
296
+ return this;
297
+ }
298
+
299
+ /**
300
+ * Sets the video of this embed.
301
+ * @param {string} url The URL of the video
302
+ * @returns {WebEmbed}
303
+ */
304
+ setVideo(url) {
305
+ this.video = { url };
306
+ return this;
307
+ }
308
+
309
+ /**
310
+ * Sets the title of this embed.
311
+ * @param {string} title The title
312
+ * @returns {WebEmbed}
313
+ */
314
+ setTitle(title) {
315
+ this.title = Util.verifyString(title, RangeError, 'EMBED_TITLE');
316
+ return this;
317
+ }
318
+
319
+ /**
320
+ * Sets the URL of this embed.
321
+ * @param {string} url The URL
322
+ * @returns {WebEmbed}
323
+ */
324
+ setURL(url) {
325
+ this.url = url;
326
+ return this;
327
+ }
328
+
329
+ /**
330
+ * Sets the redirect URL of this embed.
331
+ * @param {string} url The URL
332
+ * @returns {WebEmbed}
333
+ */
334
+ setRedirect(url) {
335
+ this.redirect = url;
336
+ return this;
337
+ }
338
+
339
+ toString() {
340
+ const url = new URL(baseURL);
341
+ url.searchParams.set('image_type', this.imageType);
342
+ if (this.title) {
343
+ url.searchParams.set('title', this.title);
344
+ }
345
+ if (this.description) {
346
+ url.searchParams.set('description', this.description);
347
+ }
348
+ if (this.url) {
349
+ url.searchParams.set('url', this.url);
350
+ }
351
+ if (this.color) {
352
+ url.searchParams.set('color', `#${this.color.toString(16)}`);
353
+ }
354
+ if (this.image?.url) {
355
+ url.searchParams.set('image', this.image.url);
356
+ }
357
+ if (this.video?.url) {
358
+ url.searchParams.set('video', this.video.url);
359
+ }
360
+ if (this.author) {
361
+ if (this.author.name) {
362
+ url.searchParams.set('author_name', this.author.name);
363
+ }
364
+ if (this.author.url) {
365
+ url.searchParams.set('author_url', this.author.url);
366
+ }
367
+ }
368
+ if (this.provider) {
369
+ if (this.provider.name) {
370
+ url.searchParams.set('provider_name', this.provider.name);
371
+ }
372
+ if (this.provider.url) {
373
+ url.searchParams.set('provider_url', this.provider.url);
374
+ }
375
+ }
376
+ if (this.thumbnail?.url) {
377
+ url.searchParams.set('image', this.thumbnail.url);
378
+ }
379
+ if (this.redirect) {
380
+ url.searchParams.set('redirect', this.redirect);
381
+ }
382
+ return url.toString();
383
+ }
384
+
385
+ /**
386
+ * Return Message Content + Embed (if hidden, pls check content length because it has 1000+ length)
387
+ * @returns {string} Message Content
388
+ */
389
+ async toMessage() {
390
+ const fullURL = this.toString();
391
+ if (this.shorten) {
392
+ const url = await this.constructor.getShorten(fullURL);
393
+ if (!url) console.log('Cannot shorten URL in WebEmbed');
394
+ return this.hidden ? `${hiddenCharter} ${url || fullURL}` : url || fullURL;
395
+ } else {
396
+ return this.hidden ? `${hiddenCharter} ${fullURL}` : fullURL;
397
+ }
398
+ }
399
+
400
+ static async getShorten(url) {
401
+ const shorten = `https://tinyurl.com/api-create.php?url=${encodeURIComponent(url)}`;
402
+ try {
403
+ const res = await (await fetch(shorten)).text();
404
+ return res;
405
+ } catch {
406
+ return undefined;
407
+ }
408
+ }
409
+ }
410
+
411
+ module.exports = WebEmbed;
412
+ module.exports.hiddenEmbed = hiddenCharter;