seyfert 1.4.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/LICENSE +21 -190
  2. package/README.md +22 -14
  3. package/lib/api/Router.js +5 -3
  4. package/lib/api/Routes/applications.d.ts +23 -1
  5. package/lib/api/Routes/channels.d.ts +1 -1
  6. package/lib/api/Routes/gateway.d.ts +1 -1
  7. package/lib/api/Routes/guilds.d.ts +8 -2
  8. package/lib/api/Routes/interactions.d.ts +1 -1
  9. package/lib/api/Routes/invites.d.ts +1 -1
  10. package/lib/api/Routes/stage-instances.d.ts +1 -1
  11. package/lib/api/Routes/stickers.d.ts +2 -2
  12. package/lib/api/Routes/users.d.ts +1 -1
  13. package/lib/api/Routes/voice.d.ts +1 -1
  14. package/lib/api/Routes/webhooks.d.ts +2 -2
  15. package/lib/api/api.d.ts +2 -2
  16. package/lib/api/api.js +2 -14
  17. package/lib/api/bucket.d.ts +0 -1
  18. package/lib/api/shared.d.ts +0 -1
  19. package/lib/api/utils/constants.d.ts +2 -5
  20. package/lib/api/utils/constants.js +3 -7
  21. package/lib/api/utils/utils.d.ts +1 -2
  22. package/lib/api/utils/utils.js +2 -3
  23. package/lib/builders/ActionRow.d.ts +1 -1
  24. package/lib/builders/ActionRow.js +3 -3
  25. package/lib/builders/Attachment.d.ts +2 -3
  26. package/lib/builders/Attachment.js +12 -13
  27. package/lib/builders/Base.d.ts +2 -2
  28. package/lib/builders/Base.js +1 -1
  29. package/lib/builders/Button.d.ts +7 -7
  30. package/lib/builders/Button.js +11 -9
  31. package/lib/builders/Embed.d.ts +1 -1
  32. package/lib/builders/Modal.d.ts +1 -1
  33. package/lib/builders/Modal.js +2 -2
  34. package/lib/builders/Poll.d.ts +2 -2
  35. package/lib/builders/Poll.js +5 -6
  36. package/lib/builders/SelectMenu.d.ts +1 -1
  37. package/lib/builders/SelectMenu.js +17 -18
  38. package/lib/builders/index.d.ts +1 -1
  39. package/lib/builders/index.js +10 -11
  40. package/lib/cache/adapters/default.d.ts +16 -9
  41. package/lib/cache/adapters/default.js +42 -31
  42. package/lib/cache/adapters/index.d.ts +0 -1
  43. package/lib/cache/adapters/index.js +0 -1
  44. package/lib/cache/adapters/limited.d.ts +17 -12
  45. package/lib/cache/adapters/limited.js +80 -36
  46. package/lib/cache/adapters/types.d.ts +6 -7
  47. package/lib/cache/adapters/workeradapter.d.ts +6 -6
  48. package/lib/cache/adapters/workeradapter.js +13 -0
  49. package/lib/cache/index.d.ts +24 -11
  50. package/lib/cache/index.js +335 -19
  51. package/lib/cache/resources/bans.d.ts +15 -0
  52. package/lib/cache/resources/bans.js +44 -0
  53. package/lib/cache/resources/channels.d.ts +6 -4
  54. package/lib/cache/resources/channels.js +13 -7
  55. package/lib/cache/resources/default/base.d.ts +7 -7
  56. package/lib/cache/resources/default/base.js +2 -2
  57. package/lib/cache/resources/default/guild-based.d.ts +6 -6
  58. package/lib/cache/resources/default/guild-based.js +6 -6
  59. package/lib/cache/resources/default/guild-related.d.ts +7 -7
  60. package/lib/cache/resources/default/guild-related.js +10 -8
  61. package/lib/cache/resources/emojis.d.ts +15 -6
  62. package/lib/cache/resources/emojis.js +13 -4
  63. package/lib/cache/resources/guilds.d.ts +9 -6
  64. package/lib/cache/resources/guilds.js +27 -6
  65. package/lib/cache/resources/members.d.ts +9 -6
  66. package/lib/cache/resources/members.js +24 -8
  67. package/lib/cache/resources/messages.d.ts +11 -7
  68. package/lib/cache/resources/messages.js +25 -11
  69. package/lib/cache/resources/overwrites.d.ts +11 -2
  70. package/lib/cache/resources/overwrites.js +9 -0
  71. package/lib/cache/resources/presence.d.ts +3 -2
  72. package/lib/cache/resources/roles.d.ts +9 -6
  73. package/lib/cache/resources/roles.js +13 -4
  74. package/lib/cache/resources/stage-instances.d.ts +2 -2
  75. package/lib/cache/resources/stickers.d.ts +9 -6
  76. package/lib/cache/resources/stickers.js +13 -4
  77. package/lib/cache/resources/threads.d.ts +9 -6
  78. package/lib/cache/resources/threads.js +13 -4
  79. package/lib/cache/resources/users.d.ts +9 -6
  80. package/lib/cache/resources/users.js +13 -4
  81. package/lib/cache/resources/voice-states.d.ts +11 -8
  82. package/lib/cache/resources/voice-states.js +15 -4
  83. package/lib/client/base.d.ts +32 -20
  84. package/lib/client/base.js +51 -30
  85. package/lib/client/client.d.ts +12 -9
  86. package/lib/client/client.js +43 -49
  87. package/lib/client/collectors.d.ts +36 -0
  88. package/lib/client/collectors.js +110 -0
  89. package/lib/client/httpclient.d.ts +8 -13
  90. package/lib/client/httpclient.js +27 -218
  91. package/lib/client/index.d.ts +1 -0
  92. package/lib/client/index.js +1 -0
  93. package/lib/client/transformers.d.ts +68 -0
  94. package/lib/client/transformers.js +99 -0
  95. package/lib/client/types.d.ts +5 -0
  96. package/lib/client/types.js +2 -0
  97. package/lib/client/workerclient.d.ts +18 -15
  98. package/lib/client/workerclient.js +148 -110
  99. package/lib/collection.d.ts +2 -2
  100. package/lib/collection.js +2 -2
  101. package/lib/commands/applications/chat.d.ts +40 -38
  102. package/lib/commands/applications/chat.js +22 -12
  103. package/lib/commands/applications/chatcontext.d.ts +17 -17
  104. package/lib/commands/applications/chatcontext.js +5 -5
  105. package/lib/commands/applications/menu.d.ts +9 -9
  106. package/lib/commands/applications/menu.js +5 -7
  107. package/lib/commands/applications/menucontext.d.ts +14 -13
  108. package/lib/commands/applications/menucontext.js +9 -9
  109. package/lib/commands/applications/options.d.ts +1 -1
  110. package/lib/commands/applications/options.js +20 -21
  111. package/lib/commands/applications/shared.d.ts +14 -0
  112. package/lib/commands/decorators.d.ts +47 -35
  113. package/lib/commands/decorators.js +19 -27
  114. package/lib/commands/handle.d.ts +64 -0
  115. package/lib/commands/handle.js +685 -0
  116. package/lib/commands/handler.d.ts +27 -18
  117. package/lib/commands/handler.js +296 -160
  118. package/lib/commands/optionresolver.d.ts +13 -13
  119. package/lib/commands/optionresolver.js +23 -28
  120. package/lib/common/bot/watcher.d.ts +4 -33
  121. package/lib/common/bot/watcher.js +0 -109
  122. package/lib/common/index.d.ts +2 -0
  123. package/lib/common/index.js +4 -1
  124. package/lib/common/it/colors.js +48 -49
  125. package/lib/common/it/formatter.d.ts +187 -0
  126. package/lib/common/it/formatter.js +226 -0
  127. package/lib/common/it/logger.d.ts +0 -1
  128. package/lib/common/it/logger.js +8 -8
  129. package/lib/common/it/utils.d.ts +15 -2
  130. package/lib/common/it/utils.js +80 -21
  131. package/lib/common/shorters/application.d.ts +56 -0
  132. package/lib/common/shorters/application.js +81 -0
  133. package/lib/common/shorters/bans.d.ts +42 -0
  134. package/lib/common/shorters/bans.js +78 -0
  135. package/lib/common/shorters/channels.d.ts +7 -6
  136. package/lib/common/shorters/channels.js +19 -15
  137. package/lib/common/shorters/emojis.d.ts +5 -6
  138. package/lib/common/shorters/emojis.js +8 -7
  139. package/lib/common/shorters/guilds.d.ts +18 -16
  140. package/lib/common/shorters/guilds.js +31 -26
  141. package/lib/common/shorters/interaction.d.ts +6 -6
  142. package/lib/common/shorters/interaction.js +12 -9
  143. package/lib/common/shorters/members.d.ts +29 -12
  144. package/lib/common/shorters/members.js +55 -16
  145. package/lib/common/shorters/messages.d.ts +7 -8
  146. package/lib/common/shorters/messages.js +10 -9
  147. package/lib/common/shorters/reactions.d.ts +3 -3
  148. package/lib/common/shorters/reactions.js +11 -11
  149. package/lib/common/shorters/roles.d.ts +9 -7
  150. package/lib/common/shorters/roles.js +26 -7
  151. package/lib/common/shorters/templates.d.ts +7 -8
  152. package/lib/common/shorters/templates.js +7 -7
  153. package/lib/common/shorters/threads.d.ts +6 -7
  154. package/lib/common/shorters/threads.js +6 -9
  155. package/lib/common/shorters/users.d.ts +4 -4
  156. package/lib/common/shorters/users.js +8 -4
  157. package/lib/common/shorters/webhook.d.ts +10 -10
  158. package/lib/common/shorters/webhook.js +12 -11
  159. package/lib/common/types/resolvables.d.ts +2 -2
  160. package/lib/common/types/util.d.ts +3 -1
  161. package/lib/common/types/write.d.ts +1 -1
  162. package/lib/components/ActionRow.d.ts +1 -1
  163. package/lib/components/BaseComponent.d.ts +1 -1
  164. package/lib/components/BaseComponent.js +1 -1
  165. package/lib/components/BaseSelectMenuComponent.d.ts +1 -1
  166. package/lib/components/ButtonComponent.d.ts +17 -7
  167. package/lib/components/ButtonComponent.js +19 -2
  168. package/lib/components/ChannelSelectMenuComponent.d.ts +3 -3
  169. package/lib/components/MentionableSelectMenuComponent.d.ts +2 -2
  170. package/lib/components/RoleSelectMenuComponent.d.ts +2 -2
  171. package/lib/components/StringSelectMenuComponent.d.ts +2 -2
  172. package/lib/components/TextInputComponent.d.ts +2 -2
  173. package/lib/components/UserSelectMenuComponent.d.ts +2 -2
  174. package/lib/components/componentcommand.d.ts +3 -2
  175. package/lib/components/componentcommand.js +4 -3
  176. package/lib/components/componentcontext.d.ts +11 -10
  177. package/lib/components/componentcontext.js +8 -8
  178. package/lib/components/handler.d.ts +16 -15
  179. package/lib/components/handler.js +101 -108
  180. package/lib/components/index.d.ts +3 -3
  181. package/lib/components/index.js +12 -10
  182. package/lib/components/modalcommand.d.ts +2 -1
  183. package/lib/components/modalcommand.js +1 -0
  184. package/lib/components/modalcontext.d.ts +13 -12
  185. package/lib/components/modalcontext.js +2 -2
  186. package/lib/deps/mixer.d.ts +8 -0
  187. package/lib/deps/mixer.js +66 -0
  188. package/lib/events/event.d.ts +4 -3
  189. package/lib/events/handler.d.ts +40 -15
  190. package/lib/events/handler.js +99 -21
  191. package/lib/events/hooks/application_command.d.ts +2 -2
  192. package/lib/events/hooks/auto_moderation.d.ts +6 -7
  193. package/lib/events/hooks/auto_moderation.js +4 -4
  194. package/lib/events/hooks/channel.d.ts +2 -2
  195. package/lib/events/hooks/channel.js +4 -7
  196. package/lib/events/hooks/custom.d.ts +3 -3
  197. package/lib/events/hooks/dispatch.d.ts +3 -4
  198. package/lib/events/hooks/dispatch.js +2 -2
  199. package/lib/events/hooks/entitlement.d.ts +5 -37
  200. package/lib/events/hooks/entitlement.js +7 -7
  201. package/lib/events/hooks/guild.d.ts +126 -181
  202. package/lib/events/hooks/guild.js +13 -15
  203. package/lib/events/hooks/integration.d.ts +71 -15
  204. package/lib/events/hooks/integration.js +3 -3
  205. package/lib/events/hooks/interactions.d.ts +2 -2
  206. package/lib/events/hooks/invite.d.ts +18 -14
  207. package/lib/events/hooks/message.d.ts +72 -52
  208. package/lib/events/hooks/message.js +4 -8
  209. package/lib/events/hooks/presence.d.ts +21 -16
  210. package/lib/events/hooks/stage.d.ts +4 -4
  211. package/lib/events/hooks/thread.d.ts +140 -60
  212. package/lib/events/hooks/thread.js +4 -4
  213. package/lib/events/hooks/typing.d.ts +28 -5
  214. package/lib/events/hooks/typing.js +2 -2
  215. package/lib/events/hooks/user.d.ts +3 -3
  216. package/lib/events/hooks/user.js +2 -2
  217. package/lib/events/hooks/voice.d.ts +28 -3
  218. package/lib/events/hooks/voice.js +8 -4
  219. package/lib/events/hooks/webhook.d.ts +1 -1
  220. package/lib/index.d.ts +6 -15
  221. package/lib/index.js +8 -12
  222. package/lib/langs/handler.d.ts +14 -10
  223. package/lib/langs/handler.js +40 -9
  224. package/lib/structures/AutoModerationRule.d.ts +4 -4
  225. package/lib/structures/AutoModerationRule.js +1 -2
  226. package/lib/structures/ClientUser.d.ts +1 -1
  227. package/lib/structures/Entitlement.d.ts +10 -0
  228. package/lib/structures/Entitlement.js +16 -0
  229. package/lib/structures/Guild.d.ts +37 -30
  230. package/lib/structures/Guild.js +7 -2
  231. package/lib/structures/GuildBan.d.ts +25 -0
  232. package/lib/structures/GuildBan.js +37 -0
  233. package/lib/structures/GuildEmoji.d.ts +4 -4
  234. package/lib/structures/GuildEmoji.js +3 -2
  235. package/lib/structures/GuildMember.d.ts +27 -19
  236. package/lib/structures/GuildMember.js +21 -11
  237. package/lib/structures/GuildPreview.d.ts +1 -1
  238. package/lib/structures/GuildRole.d.ts +5 -3
  239. package/lib/structures/GuildRole.js +8 -1
  240. package/lib/structures/GuildTemplate.d.ts +2 -2
  241. package/lib/structures/GuildTemplate.js +1 -1
  242. package/lib/structures/Interaction.d.ts +56 -38
  243. package/lib/structures/Interaction.js +134 -86
  244. package/lib/structures/Message.d.ts +80 -20
  245. package/lib/structures/Message.js +67 -26
  246. package/lib/structures/Poll.d.ts +4 -3
  247. package/lib/structures/Poll.js +6 -2
  248. package/lib/structures/Sticker.d.ts +10 -10
  249. package/lib/structures/Sticker.js +7 -7
  250. package/lib/structures/User.d.ts +6 -4
  251. package/lib/structures/User.js +6 -2
  252. package/lib/structures/VoiceState.d.ts +15 -11
  253. package/lib/structures/VoiceState.js +35 -17
  254. package/lib/structures/Webhook.d.ts +6 -7
  255. package/lib/structures/Webhook.js +6 -7
  256. package/lib/structures/channels.d.ts +14 -10
  257. package/lib/structures/channels.js +97 -62
  258. package/lib/structures/extra/BaseGuild.d.ts +1 -1
  259. package/lib/structures/extra/BaseGuild.js +3 -3
  260. package/lib/structures/extra/BitField.d.ts +1 -1
  261. package/lib/structures/extra/BitField.js +3 -2
  262. package/lib/structures/extra/DiscordBase.js +2 -2
  263. package/lib/structures/extra/Permissions.d.ts +3 -1
  264. package/lib/structures/extra/Permissions.js +8 -3
  265. package/lib/types/gateway.d.ts +1537 -0
  266. package/lib/types/gateway.js +4 -0
  267. package/lib/types/index.d.ts +9 -1
  268. package/lib/types/index.js +28 -1
  269. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.d.ts +5 -0
  270. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.js +2 -0
  271. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.d.ts +22 -0
  272. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.js +2 -0
  273. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.d.ts +4 -0
  274. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.js +2 -0
  275. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.d.ts +7 -0
  276. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.js +2 -0
  277. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.d.ts +17 -0
  278. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.js +2 -0
  279. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.d.ts +5 -0
  280. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.js +2 -0
  281. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.d.ts +17 -0
  282. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.js +2 -0
  283. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.d.ts +5 -0
  284. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.js +2 -0
  285. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.d.ts +25 -0
  286. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.js +20 -0
  287. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.d.ts +17 -0
  288. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.js +2 -0
  289. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.d.ts +11 -0
  290. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.js +2 -0
  291. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts +11 -0
  292. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.js +2 -0
  293. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.d.ts +5 -0
  294. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.js +2 -0
  295. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.d.ts +60 -0
  296. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.js +29 -0
  297. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.d.ts +65 -0
  298. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.js +2 -0
  299. package/lib/types/payloads/_interactions/_applicationCommands/internals.d.ts +8 -0
  300. package/lib/types/payloads/_interactions/_applicationCommands/internals.js +2 -0
  301. package/lib/types/payloads/_interactions/_applicationCommands/permissions.d.ts +54 -0
  302. package/lib/types/payloads/_interactions/_applicationCommands/permissions.js +20 -0
  303. package/lib/types/payloads/_interactions/applicationCommands.d.ts +153 -0
  304. package/lib/types/payloads/_interactions/applicationCommands.js +61 -0
  305. package/lib/types/payloads/_interactions/autocomplete.d.ts +10 -0
  306. package/lib/types/payloads/_interactions/autocomplete.js +2 -0
  307. package/lib/types/payloads/_interactions/base.d.ts +197 -0
  308. package/lib/types/payloads/_interactions/base.js +2 -0
  309. package/lib/types/payloads/_interactions/messageComponents.d.ts +41 -0
  310. package/lib/types/payloads/_interactions/messageComponents.js +2 -0
  311. package/lib/types/payloads/_interactions/modalSubmit.d.ts +35 -0
  312. package/lib/types/payloads/_interactions/modalSubmit.js +2 -0
  313. package/lib/types/payloads/_interactions/ping.d.ts +3 -0
  314. package/lib/types/payloads/_interactions/ping.js +2 -0
  315. package/lib/types/payloads/_interactions/responses.d.ts +112 -0
  316. package/lib/types/payloads/_interactions/responses.js +54 -0
  317. package/lib/types/payloads/application.d.ts +292 -0
  318. package/lib/types/payloads/application.js +117 -0
  319. package/lib/types/payloads/auditLog.d.ts +644 -0
  320. package/lib/types/payloads/auditLog.js +80 -0
  321. package/lib/types/payloads/autoModeration.d.ts +219 -0
  322. package/lib/types/payloads/autoModeration.js +87 -0
  323. package/lib/types/payloads/channel.d.ts +1708 -0
  324. package/lib/types/payloads/channel.js +372 -0
  325. package/lib/types/payloads/emoji.d.ts +48 -0
  326. package/lib/types/payloads/emoji.js +5 -0
  327. package/lib/types/payloads/gateway.d.ts +373 -0
  328. package/lib/types/payloads/gateway.js +82 -0
  329. package/lib/types/payloads/guild.d.ts +1060 -0
  330. package/lib/types/payloads/guild.js +324 -0
  331. package/lib/types/payloads/guildScheduledEvent.d.ts +138 -0
  332. package/lib/types/payloads/guildScheduledEvent.js +32 -0
  333. package/lib/types/payloads/index.d.ts +64 -0
  334. package/lib/types/payloads/index.js +37 -0
  335. package/lib/types/payloads/interactions.d.ts +24 -0
  336. package/lib/types/payloads/interactions.js +23 -0
  337. package/lib/types/payloads/invite.d.ts +121 -0
  338. package/lib/types/payloads/invite.js +23 -0
  339. package/lib/types/payloads/monetization.d.ts +150 -0
  340. package/lib/types/payloads/monetization.js +79 -0
  341. package/lib/types/payloads/oauth2.d.ts +131 -0
  342. package/lib/types/payloads/oauth2.js +135 -0
  343. package/lib/types/payloads/permissions.d.ts +97 -0
  344. package/lib/types/payloads/permissions.js +16 -0
  345. package/lib/types/payloads/poll.d.ts +104 -0
  346. package/lib/types/payloads/poll.js +16 -0
  347. package/lib/types/payloads/stageInstance.d.ts +77 -0
  348. package/lib/types/payloads/stageInstance.js +19 -0
  349. package/lib/types/payloads/sticker.d.ts +123 -0
  350. package/lib/types/payloads/sticker.js +30 -0
  351. package/lib/types/payloads/teams.d.ts +78 -0
  352. package/lib/types/payloads/teams.js +23 -0
  353. package/lib/types/payloads/template.d.ts +62 -0
  354. package/lib/types/payloads/template.js +5 -0
  355. package/lib/types/payloads/user.d.ts +337 -0
  356. package/lib/types/payloads/user.js +167 -0
  357. package/lib/types/payloads/voice.d.ts +89 -0
  358. package/lib/types/payloads/voice.js +5 -0
  359. package/lib/types/payloads/webhook.d.ts +76 -0
  360. package/lib/types/payloads/webhook.js +21 -0
  361. package/lib/types/rest/application.d.ts +57 -0
  362. package/lib/types/rest/application.js +2 -0
  363. package/lib/types/rest/auditLog.d.ts +30 -0
  364. package/lib/types/rest/auditLog.js +2 -0
  365. package/lib/types/rest/autoModeration.d.ts +66 -0
  366. package/lib/types/rest/autoModeration.js +2 -0
  367. package/lib/types/rest/channel.d.ts +712 -0
  368. package/lib/types/rest/channel.js +11 -0
  369. package/lib/types/rest/emoji.d.ts +54 -0
  370. package/lib/types/rest/emoji.js +2 -0
  371. package/lib/types/rest/gateway.d.ts +9 -0
  372. package/lib/types/rest/gateway.js +2 -0
  373. package/lib/types/rest/guild.d.ts +865 -0
  374. package/lib/types/rest/guild.js +2 -0
  375. package/lib/types/rest/guildScheduledEvent.d.ts +126 -0
  376. package/lib/types/rest/guildScheduledEvent.js +2 -0
  377. package/lib/types/rest/index.d.ts +296 -0
  378. package/lib/types/rest/index.js +292 -0
  379. package/lib/types/rest/interactions.d.ts +194 -0
  380. package/lib/types/rest/interactions.js +2 -0
  381. package/lib/types/rest/invite.d.ts +24 -0
  382. package/lib/types/rest/invite.js +2 -0
  383. package/lib/types/rest/monetization.d.ts +82 -0
  384. package/lib/types/rest/monetization.js +11 -0
  385. package/lib/types/rest/oauth2.d.ts +172 -0
  386. package/lib/types/rest/oauth2.js +2 -0
  387. package/lib/types/rest/poll.d.ts +44 -0
  388. package/lib/types/rest/poll.js +2 -0
  389. package/lib/types/rest/stageInstance.d.ts +58 -0
  390. package/lib/types/rest/stageInstance.js +2 -0
  391. package/lib/types/rest/sticker.d.ts +77 -0
  392. package/lib/types/rest/sticker.js +2 -0
  393. package/lib/types/rest/template.d.ts +62 -0
  394. package/lib/types/rest/template.js +2 -0
  395. package/lib/types/rest/user.d.ts +120 -0
  396. package/lib/types/rest/user.js +2 -0
  397. package/lib/types/rest/voice.d.ts +17 -0
  398. package/lib/types/rest/voice.js +2 -0
  399. package/lib/types/rest/webhook.d.ts +250 -0
  400. package/lib/types/rest/webhook.js +2 -0
  401. package/lib/types/utils/index.d.ts +797 -0
  402. package/lib/types/utils/index.js +799 -0
  403. package/lib/websocket/SharedTypes.d.ts +4 -3
  404. package/lib/websocket/SharedTypes.js +1 -1
  405. package/lib/websocket/constants/index.d.ts +0 -1
  406. package/lib/websocket/discord/basesocket.d.ts +7 -6
  407. package/lib/websocket/discord/basesocket.js +35 -6
  408. package/lib/websocket/discord/events/memberUpdate.d.ts +1 -6
  409. package/lib/websocket/discord/events/memberUpdate.js +2 -1
  410. package/lib/websocket/discord/events/presenceUpdate.d.ts +5 -18
  411. package/lib/websocket/discord/events/presenceUpdate.js +5 -6
  412. package/lib/websocket/discord/shard.d.ts +9 -8
  413. package/lib/websocket/discord/shard.js +65 -47
  414. package/lib/websocket/discord/sharder.d.ts +6 -5
  415. package/lib/websocket/discord/sharder.js +11 -10
  416. package/lib/websocket/discord/shared.d.ts +13 -5
  417. package/lib/websocket/discord/socket/custom.d.ts +52 -0
  418. package/lib/websocket/discord/socket/custom.js +283 -0
  419. package/lib/websocket/discord/worker.d.ts +5 -10
  420. package/lib/websocket/discord/workermanager.d.ts +8 -15
  421. package/lib/websocket/discord/workermanager.js +35 -39
  422. package/lib/websocket/structures/index.d.ts +0 -1
  423. package/lib/websocket/structures/index.js +1 -1
  424. package/lib/websocket/structures/timeout.d.ts +0 -1
  425. package/package.json +65 -74
  426. package/lib/cache/adapters/redis.d.ts +0 -37
  427. package/lib/cache/adapters/redis.js +0 -218
  428. package/lib/client/oninteractioncreate.d.ts +0 -4
  429. package/lib/client/oninteractioncreate.js +0 -198
  430. package/lib/client/onmessagecreate.d.ts +0 -3
  431. package/lib/client/onmessagecreate.js +0 -395
  432. package/lib/structures/extra/functions.d.ts +0 -12
  433. package/lib/structures/extra/functions.js +0 -70
package/lib/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type BaseClientOptions, type InternalRuntimeConfig, type InternalRuntimeConfigHTTP, type RuntimeConfig, type RuntimeConfigHTTP } from './client/base';
2
- import type { ClientNameEvents, EventContext } from './events';
3
- export { Logger, PermissionStrings, Watcher } from './common';
2
+ import type { CustomEventsKeys, ClientNameEvents, ResolveEventParams } from './events';
3
+ export { Logger, PermissionStrings, Formatter } from './common';
4
4
  export { Collection, LimitedCollection } from './collection';
5
5
  export * from './api';
6
6
  export * from './builders';
@@ -12,7 +12,6 @@ export * from './langs';
12
12
  export { ShardManager, WorkerManager } from './websocket/discord';
13
13
  export * from './structures';
14
14
  export * from './client';
15
- export declare function throwError(msg: string): never;
16
15
  /**
17
16
  * Creates an event with the specified data and run function.
18
17
  *
@@ -27,26 +26,18 @@ export declare function throwError(msg: string): never;
27
26
  * }
28
27
  * });
29
28
  */
30
- export declare function createEvent<E extends ClientNameEvents>(data: {
29
+ export declare function createEvent<E extends ClientNameEvents | CustomEventsKeys>(data: {
31
30
  data: {
32
31
  name: E;
33
32
  once?: boolean;
34
33
  };
35
- run: (...args: EventContext<{
36
- data: {
37
- name: E;
38
- };
39
- }>) => any;
34
+ run: (...args: ResolveEventParams<E>) => any;
40
35
  }): {
41
36
  data: {
42
37
  name: E;
43
38
  once?: boolean;
44
39
  };
45
- run: (...args: EventContext<{
46
- data: {
47
- name: E;
48
- };
49
- }>) => any;
40
+ run: (...args: ResolveEventParams<E>) => any;
50
41
  };
51
42
  export declare const config: {
52
43
  /**
@@ -78,4 +69,4 @@ export declare const config: {
78
69
  * };
79
70
  * });
80
71
  */
81
- export declare function extendContext<T extends {}>(cb: (interaction: Parameters<NonNullable<BaseClientOptions['context']>>[0]) => T): (interaction: Parameters<NonNullable<BaseClientOptions['context']>>[0]) => T;
72
+ export declare function extendContext<T extends {}>(cb: (interaction: Parameters<NonNullable<BaseClientOptions['context']>>[0]) => T): (interaction: Parameters<NonNullable<BaseClientOptions["context"]>>[0]) => T;
package/lib/index.js CHANGED
@@ -14,13 +14,15 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.extendContext = exports.config = exports.createEvent = exports.throwError = exports.WorkerManager = exports.ShardManager = exports.LimitedCollection = exports.Collection = exports.Watcher = exports.Logger = void 0;
18
- const v10_1 = require("discord-api-types/gateway/v10");
17
+ exports.config = exports.WorkerManager = exports.ShardManager = exports.LimitedCollection = exports.Collection = exports.Formatter = exports.Logger = void 0;
18
+ exports.createEvent = createEvent;
19
+ exports.extendContext = extendContext;
20
+ const types_1 = require("./types");
19
21
  const base_1 = require("./client/base");
20
22
  const common_1 = require("./common");
21
23
  var common_2 = require("./common");
22
24
  Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return common_2.Logger; } });
23
- Object.defineProperty(exports, "Watcher", { enumerable: true, get: function () { return common_2.Watcher; } });
25
+ Object.defineProperty(exports, "Formatter", { enumerable: true, get: function () { return common_2.Formatter; } });
24
26
  //
25
27
  var collection_1 = require("./collection");
26
28
  Object.defineProperty(exports, "Collection", { enumerable: true, get: function () { return collection_1.Collection; } });
@@ -41,11 +43,7 @@ Object.defineProperty(exports, "WorkerManager", { enumerable: true, get: functio
41
43
  __exportStar(require("./structures"), exports);
42
44
  //
43
45
  __exportStar(require("./client"), exports);
44
- //
45
- function throwError(msg) {
46
- throw new Error(msg);
47
- }
48
- exports.throwError = throwError;
46
+ ///
49
47
  /**
50
48
  * Creates an event with the specified data and run function.
51
49
  *
@@ -64,7 +62,6 @@ function createEvent(data) {
64
62
  data.data.once ??= false;
65
63
  return data;
66
64
  }
67
- exports.createEvent = createEvent;
68
65
  exports.config = {
69
66
  /**
70
67
  * Configurations for the bot.
@@ -78,7 +75,7 @@ exports.config = {
78
75
  intents: 'intents' in data
79
76
  ? typeof data.intents === 'number'
80
77
  ? data.intents
81
- : data.intents?.reduce((pr, acc) => pr | (typeof acc === 'number' ? acc : v10_1.GatewayIntentBits[acc]), 0) ?? 0
78
+ : data.intents?.reduce((pr, acc) => pr | (typeof acc === 'number' ? acc : types_1.GatewayIntentBits[acc]), 0) ?? 0
82
79
  : 0,
83
80
  };
84
81
  },
@@ -94,7 +91,7 @@ exports.config = {
94
91
  ...data,
95
92
  };
96
93
  if ((0, common_1.isCloudfareWorker)())
97
- base_1.BaseClient._seyferHttpConfig = obj;
94
+ base_1.BaseClient._seyfertCfWorkerConfig = obj;
98
95
  return obj;
99
96
  },
100
97
  };
@@ -115,4 +112,3 @@ exports.config = {
115
112
  function extendContext(cb) {
116
113
  return cb;
117
114
  }
118
- exports.extendContext = extendContext;
@@ -1,21 +1,25 @@
1
- import type { LocaleString } from 'discord-api-types/v10';
2
1
  import { BaseHandler } from '../common';
2
+ import type { FileLoaded } from '../commands/handler';
3
+ import type { LocaleString } from '../types';
3
4
  export declare class LangsHandler extends BaseHandler {
4
5
  values: Partial<Record<string, any>>;
6
+ private __paths;
5
7
  protected filter: (path: string) => boolean;
6
8
  defaultLang?: string;
7
9
  aliases: [string, LocaleString[]][];
8
10
  getLocale(locale: string): string;
9
11
  getKey(lang: string, message: string): string | undefined;
10
12
  get(userLocale: string): import("./router").__InternalParseLocale<import("..").DefaultLocale> & {
11
- get(locale?: string | undefined): import("..").DefaultLocale;
13
+ get(locale?: string): import("..").DefaultLocale;
12
14
  };
13
- load(dir: string, instances?: {
14
- name: string;
15
- file: Record<string, any>;
16
- }[]): Promise<void>;
17
- setHandlers({ callback }: {
18
- callback: LangsHandler['callback'];
19
- }): void;
20
- callback: (_locale: string, file: Record<string, any>) => Record<string, any> | false;
15
+ load(dir: string): Promise<void>;
16
+ parse(file: EventInstance): void;
17
+ set(instances: EventInstance[]): void;
18
+ reload(lang: string): Promise<false | Record<string, any> | null>;
19
+ reloadAll(stopIfFail?: boolean): Promise<void>;
20
+ onFile(_locale: string, file: FileLoaded<Record<string, any>>): Record<string, any> | false;
21
21
  }
22
+ export type EventInstance = {
23
+ name: string;
24
+ file: Record<string, any>;
25
+ };
@@ -5,6 +5,7 @@ const common_1 = require("../common");
5
5
  const router_1 = require("./router");
6
6
  class LangsHandler extends common_1.BaseHandler {
7
7
  values = {};
8
+ __paths = {};
8
9
  filter = (path) => path.endsWith('.js') || (!path.endsWith('.d.ts') && path.endsWith('.ts')) || path.endsWith('.json');
9
10
  defaultLang;
10
11
  aliases = [];
@@ -30,18 +31,48 @@ class LangsHandler extends common_1.BaseHandler {
30
31
  const locale = this.getLocale(userLocale);
31
32
  return (0, router_1.LangRouter)(locale, this.defaultLang ?? locale, this.values)();
32
33
  }
33
- async load(dir, instances) {
34
- const files = instances ?? (await this.loadFilesK(await this.getFiles(dir)));
34
+ async load(dir) {
35
+ const files = await this.loadFilesK(await this.getFiles(dir));
35
36
  for (const i of files) {
36
- const locale = i.name.split('.').slice(0, -1).join('.') || i.name;
37
- const result = this.callback(locale, i.file);
38
- if (result)
39
- this.values[locale] = result;
37
+ this.parse(i);
40
38
  }
41
39
  }
42
- setHandlers({ callback }) {
43
- this.callback = callback;
40
+ parse(file) {
41
+ const locale = file.name.split('.').slice(0, -1).join('.') || file.name;
42
+ const result = this.onFile(locale, file.file);
43
+ if ('path' in file)
44
+ this.__paths[locale] = file.path;
45
+ if (result)
46
+ this.values[locale] = result;
47
+ }
48
+ set(instances) {
49
+ for (const i of instances) {
50
+ this.parse(i);
51
+ }
52
+ }
53
+ async reload(lang) {
54
+ if ((0, common_1.isCloudfareWorker)()) {
55
+ throw new Error('Reload in cloudfare worker is not supported');
56
+ }
57
+ const value = this.__paths[lang];
58
+ if (!value)
59
+ return null;
60
+ delete require.cache[value];
61
+ return (this.values[lang] = await (0, common_1.magicImport)(value).then(x => this.onFile(lang, x)));
62
+ }
63
+ async reloadAll(stopIfFail = true) {
64
+ for (const i in this.__paths) {
65
+ try {
66
+ await this.reload(i);
67
+ }
68
+ catch (e) {
69
+ if (stopIfFail)
70
+ throw e;
71
+ }
72
+ }
73
+ }
74
+ onFile(_locale, file) {
75
+ return file.default ?? false;
44
76
  }
45
- callback = (_locale, file) => file;
46
77
  }
47
78
  exports.LangsHandler = LangsHandler;
@@ -1,15 +1,15 @@
1
- import type { APIAutoModerationRule, RESTPatchAPIAutoModerationRuleJSONBody, RESTPostAPIAutoModerationRuleJSONBody } from 'discord-api-types/v10';
2
1
  import type { UsingClient } from '../commands';
3
- import { type MethodContext, type ObjectToLower } from '../common';
2
+ import type { MethodContext, ObjectToLower } from '../common';
3
+ import type { APIAutoModerationRule, RESTPatchAPIAutoModerationRuleJSONBody, RESTPostAPIAutoModerationRuleJSONBody } from '../types';
4
4
  import { DiscordBase } from './extra/DiscordBase';
5
5
  export interface AutoModerationRule extends ObjectToLower<APIAutoModerationRule> {
6
6
  }
7
7
  export declare class AutoModerationRule extends DiscordBase<APIAutoModerationRule> {
8
8
  constructor(client: UsingClient, data: APIAutoModerationRule);
9
9
  fetchCreator(force?: boolean): Promise<import("./GuildMember").GuildMember>;
10
- guild(force?: boolean): Promise<import("./Guild").Guild<"cached"> | import("./Guild").Guild<"api">>;
10
+ guild(force?: boolean): Promise<import("./Guild").Guild<"api">>;
11
11
  fetch(): Promise<AutoModerationRule>;
12
- edit(body: ObjectToLower<RESTPatchAPIAutoModerationRuleJSONBody>, reason?: string): Promise<AutoModerationRule>;
12
+ edit(body: RESTPatchAPIAutoModerationRuleJSONBody, reason?: string): Promise<AutoModerationRule>;
13
13
  delete(reason?: string): Promise<never>;
14
14
  static methods({ client, guildId }: MethodContext<{
15
15
  guildId: string;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AutoModerationRule = void 0;
4
- const common_1 = require("../common");
5
4
  const DiscordBase_1 = require("./extra/DiscordBase");
6
5
  class AutoModerationRule extends DiscordBase_1.DiscordBase {
7
6
  constructor(client, data) {
@@ -28,7 +27,7 @@ class AutoModerationRule extends DiscordBase_1.DiscordBase {
28
27
  create: (body) => client.guilds.moderation.create(guildId, body),
29
28
  delete: (ruleId, reason) => client.guilds.moderation.delete(guildId, ruleId, reason),
30
29
  fetch: (ruleId) => client.guilds.moderation.fetch(guildId, ruleId),
31
- edit: (ruleId, body, reason) => client.guilds.moderation.edit(guildId, ruleId, (0, common_1.toCamelCase)(body), reason),
30
+ edit: (ruleId, body, reason) => client.guilds.moderation.edit(guildId, ruleId, body, reason),
32
31
  };
33
32
  }
34
33
  }
@@ -1,5 +1,5 @@
1
- import type { GatewayReadyDispatchData, RESTPatchAPICurrentUserJSONBody } from 'discord-api-types/v10';
2
1
  import type { UsingClient } from '../commands';
2
+ import type { GatewayReadyDispatchData, RESTPatchAPICurrentUserJSONBody } from '../types';
3
3
  import { User } from './User';
4
4
  export declare class ClientUser extends User {
5
5
  application: GatewayReadyDispatchData['application'];
@@ -0,0 +1,10 @@
1
+ import type { ObjectToLower } from '../common';
2
+ import type { APIEntitlement } from '../types';
3
+ import { DiscordBase } from './extra/DiscordBase';
4
+ export interface Entitlement extends ObjectToLower<APIEntitlement> {
5
+ }
6
+ export declare class Entitlement extends DiscordBase<APIEntitlement> {
7
+ get startsAtTimestamp(): number | null;
8
+ get endsAtTimestamp(): number | null;
9
+ consume(): Promise<never>;
10
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Entitlement = void 0;
4
+ const DiscordBase_1 = require("./extra/DiscordBase");
5
+ class Entitlement extends DiscordBase_1.DiscordBase {
6
+ get startsAtTimestamp() {
7
+ return this.startsAt ? Date.parse(this.startsAt) : null;
8
+ }
9
+ get endsAtTimestamp() {
10
+ return this.endsAt ? Date.parse(this.endsAt) : null;
11
+ }
12
+ consume() {
13
+ return this.client.applications.consumeEntitlement(this.applicationId, this.id);
14
+ }
15
+ }
16
+ exports.Entitlement = Entitlement;
@@ -1,4 +1,3 @@
1
- import type { APIGuild, GatewayGuildCreateDispatchData } from 'discord-api-types/v10';
2
1
  import type { UsingClient } from '../commands';
3
2
  import type { ObjectToLower, StructPropState, StructStates, ToClass } from '../common/types/util';
4
3
  import { AutoModerationRule } from './AutoModerationRule';
@@ -9,9 +8,11 @@ import { GuildTemplate } from './GuildTemplate';
9
8
  import { Sticker } from './Sticker';
10
9
  import { BaseGuild } from './extra/BaseGuild';
11
10
  import type { DiscordBase } from './extra/DiscordBase';
11
+ import { GuildBan } from './GuildBan';
12
+ import type { APIGuild, GatewayGuildCreateDispatchData, RESTPatchAPIGuildJSONBody } from '../types';
12
13
  export interface Guild extends ObjectToLower<Omit<APIGuild, 'stickers' | 'emojis' | 'roles'>>, DiscordBase {
13
14
  }
14
- declare const Guild_base: ToClass<Omit<BaseGuild, "name" | "id" | "description" | "icon" | "splash" | "banner" | "features" | "welcomeScreen" | "verificationLevel" | "vanityUrlCode">, Guild<"api">>;
15
+ declare const Guild_base: ToClass<Omit<BaseGuild, "id" | "name" | "description" | "icon" | "splash" | "banner" | "features" | "welcomeScreen" | "verificationLevel" | "vanityUrlCode">, Guild<"api">>;
15
16
  export declare class Guild<State extends StructStates = 'api'> extends Guild_base {
16
17
  joinedAt: StructPropState<number, State, 'create'>;
17
18
  memberCount: StructPropState<number, State, 'create'>;
@@ -23,63 +24,69 @@ export declare class Guild<State extends StructStates = 'api'> extends Guild_bas
23
24
  };
24
25
  get maxStickers(): MaxStickers;
25
26
  get maxEmojis(): MaxEmojis;
26
- fetchOwner(force?: boolean): Promise<null> | Promise<GuildMember>;
27
+ fetchOwner(force?: boolean): Promise<GuildMember | null>;
27
28
  templates: {
28
29
  fetch: (code: string) => Promise<GuildTemplate>;
29
30
  list: () => Promise<GuildTemplate[]>;
30
- create: (body: import("discord-api-types/v10").RESTPostAPIGuildTemplatesJSONBody) => Promise<GuildTemplate>;
31
+ create: (body: import("../types").RESTPostAPIGuildTemplatesJSONBody) => Promise<GuildTemplate>;
31
32
  sync: (code: string) => Promise<GuildTemplate>;
32
- edit: (code: string, body: import("discord-api-types/utils/internals").AddUndefinedToPossiblyUndefinedPropertiesOfInterface<Partial<import("discord-api-types/v10").RESTPostAPIGuildTemplatesJSONBody>>) => Promise<GuildTemplate>;
33
+ edit: (code: string, body: import("../types").RESTPatchAPIGuildTemplateJSONBody) => Promise<GuildTemplate>;
33
34
  delete: (code: string) => Promise<GuildTemplate>;
34
35
  };
35
36
  stickers: {
36
37
  list: () => Promise<Sticker[]>;
37
- create: (payload: import("./Sticker").CreateStickerBodyRequest, reason?: string | undefined) => Promise<Sticker>;
38
- edit: (stickerId: string, body: import("discord-api-types/v10").RESTPatchAPIGuildStickerJSONBody, reason?: string | undefined) => Promise<Sticker>;
38
+ create: (payload: import("./Sticker").CreateStickerBodyRequest, reason?: string) => Promise<Sticker>;
39
+ edit: (stickerId: string, body: import("../types").RESTPatchAPIGuildStickerJSONBody, reason?: string) => Promise<Sticker>;
39
40
  fetch: (stickerId: string, force?: boolean) => Promise<Sticker>;
40
- delete: (stickerId: string, reason?: string | undefined) => Promise<void>;
41
+ delete: (stickerId: string, reason?: string) => Promise<void>;
41
42
  };
42
43
  members: {
43
44
  resolve: (resolve: import("../common").GuildMemberResolvable) => Promise<GuildMember | undefined>;
44
- search: (query?: import("discord-api-types/v10").RESTGetAPIGuildMembersSearchQuery | undefined) => Promise<GuildMember[]>;
45
- unban: (id: string, body?: import("discord-api-types/v10").RESTPutAPIGuildBanJSONBody | undefined, reason?: string | undefined) => Promise<void>;
46
- ban: (id: string, body?: import("discord-api-types/v10").RESTPutAPIGuildBanJSONBody | undefined, reason?: string | undefined) => Promise<void>;
47
- kick: (id: string, reason?: string | undefined) => Promise<void>;
48
- edit: (id: string, body: import("discord-api-types/v10").RESTPatchAPIGuildMemberJSONBody, reason?: string | undefined) => Promise<GuildMember>;
49
- add: (id: string, body: import("discord-api-types/v10").RESTPutAPIGuildMemberJSONBody) => Promise<GuildMember | undefined>;
45
+ search: (query?: import("../types").RESTGetAPIGuildMembersSearchQuery) => Promise<GuildMember[]>;
46
+ unban: (id: string, body?: import("../types").RESTPutAPIGuildBanJSONBody, reason?: string) => Promise<void>;
47
+ ban: (id: string, body?: import("../types").RESTPutAPIGuildBanJSONBody, reason?: string) => Promise<void>;
48
+ kick: (id: string, reason?: string) => Promise<void>;
49
+ edit: (id: string, body: import("../types").RESTPatchAPIGuildMemberJSONBody, reason?: string) => Promise<GuildMember>;
50
+ add: (id: string, body: import("../types").RESTPutAPIGuildMemberJSONBody) => Promise<GuildMember | undefined>;
50
51
  fetch: (memberId: string, force?: boolean) => Promise<GuildMember>;
51
- list: (query?: import("discord-api-types/v10").RESTGetAPIGuildMembersQuery | undefined, force?: boolean) => Promise<GuildMember[]>;
52
+ list: (query?: import("../types").RESTGetAPIGuildMembersQuery, force?: boolean) => Promise<GuildMember[]>;
52
53
  };
53
54
  moderationRules: {
54
55
  list: () => Promise<AutoModerationRule[]>;
55
- create: (body: import("discord-api-types/v10").RESTPostAPIAutoModerationRuleJSONBody) => Promise<AutoModerationRule>;
56
- delete: (ruleId: string, reason?: string | undefined) => Promise<never>;
56
+ create: (body: import("../types").RESTPostAPIAutoModerationRuleJSONBody) => Promise<AutoModerationRule>;
57
+ delete: (ruleId: string, reason?: string) => Promise<never>;
57
58
  fetch: (ruleId: string) => Promise<AutoModerationRule>;
58
- edit: (ruleId: string, body: import("discord-api-types/v10").RESTPatchAPIAutoModerationRuleJSONBody, reason?: string | undefined) => Promise<AutoModerationRule>;
59
+ edit: (ruleId: string, body: import("../types").RESTPatchAPIAutoModerationRuleJSONBody, reason?: string) => Promise<AutoModerationRule>;
59
60
  };
60
61
  roles: {
61
- create: (body: import("discord-api-types/v10").RESTPostAPIGuildRoleJSONBody) => Promise<GuildRole>;
62
+ create: (body: import("../types").RESTPostAPIGuildRoleJSONBody) => Promise<GuildRole>;
62
63
  list: (force?: boolean) => Promise<GuildRole[]>;
63
- edit: (roleId: string, body: import("discord-api-types/v10").RESTPatchAPIGuildRoleJSONBody, reason?: string | undefined) => Promise<GuildRole>;
64
- delete: (roleId: string, reason?: string | undefined) => Promise<GuildRole>;
65
- editPositions: (body: import("discord-api-types/v10").RESTPatchAPIGuildRolePositionsJSONBody) => Promise<GuildRole[]>;
64
+ edit: (roleId: string, body: import("../types").RESTPatchAPIGuildRoleJSONBody, reason?: string) => Promise<GuildRole>;
65
+ delete: (roleId: string, reason?: string) => Promise<GuildRole>;
66
+ editPositions: (body: import("../types").RESTPatchAPIGuildRolePositionsJSONBody) => Promise<GuildRole[]>;
66
67
  };
67
68
  channels: {
68
69
  list: (force?: boolean) => Promise<import("./channels").AllChannels[]>;
69
70
  fetch: (id: string, force?: boolean) => Promise<import("./channels").AllChannels>;
70
- create: (body: import("discord-api-types/v10").RESTPostAPIGuildChannelJSONBody) => Promise<import("./channels").AllChannels>;
71
- delete: (id: string, reason?: string | undefined) => Promise<import("./channels").AllChannels>;
72
- edit: (id: string, body: import("discord-api-types/v10").RESTPatchAPIChannelJSONBody, reason?: string | undefined) => Promise<import("./channels").AllChannels>;
73
- editPositions: (body: import("discord-api-types/v10").RESTPatchAPIGuildChannelPositionsJSONBody) => Promise<never>;
71
+ create: (body: import("../types").RESTPostAPIGuildChannelJSONBody) => Promise<import("./channels").AllChannels>;
72
+ delete: (id: string, reason?: string) => Promise<import("./channels").AllChannels>;
73
+ edit: (id: string, body: import("../types").RESTPatchAPIChannelJSONBody, reason?: string) => Promise<import("./channels").AllChannels>;
74
+ editPositions: (body: import("../types").RESTPatchAPIGuildChannelPositionsJSONBody) => Promise<never>;
74
75
  };
75
76
  emojis: {
76
- edit: (emojiId: string, body: import("discord-api-types/v10").RESTPatchAPIGuildEmojiJSONBody, reason?: string | undefined) => Promise<GuildEmoji>;
77
- create: (body: Omit<import("discord-api-types/v10").RESTPostAPIGuildEmojiJSONBody, "image"> & {
78
- image: import("../common").ImageResolvable;
79
- }) => Promise<void>;
77
+ edit: (emojiId: string, body: import("../types").RESTPatchAPIGuildEmojiJSONBody, reason?: string) => Promise<GuildEmoji>;
78
+ create: (body: Parameters<import("../common").EmojiShorter["create"]>[1]) => Promise<GuildEmoji>;
80
79
  fetch: (emojiId: string, force?: boolean) => Promise<GuildEmoji>;
81
80
  list: (force?: boolean) => Promise<GuildEmoji[]>;
82
81
  };
82
+ bans: {
83
+ fetch: (userId: string, force?: boolean) => Promise<GuildBan>;
84
+ list: (query?: import("../types").RESTGetAPIGuildBansQuery, force?: boolean) => Promise<GuildBan[]>;
85
+ create: (memberId: string, body?: Parameters<import("../common/shorters/bans").BanShorter["create"]>[2], reason?: string) => Promise<void>;
86
+ remove: (memberId: string, reason?: string) => Promise<void>;
87
+ bulkCreate: (body: Parameters<import("../common/shorters/bans").BanShorter["bulkCreate"]>[1], reason?: string) => Promise<import("../types").RESTPostAPIGuildBulkBanResult>;
88
+ };
89
+ edit(body: RESTPatchAPIGuildJSONBody, reason?: string): Promise<Guild<"api">>;
83
90
  }
84
91
  /** Maximun custom guild emojis per level */
85
92
  export type MaxEmojis = 50 | 100 | 150 | 250;
@@ -9,6 +9,7 @@ const GuildTemplate_1 = require("./GuildTemplate");
9
9
  const Sticker_1 = require("./Sticker");
10
10
  const channels_1 = require("./channels");
11
11
  const BaseGuild_1 = require("./extra/BaseGuild");
12
+ const GuildBan_1 = require("./GuildBan");
12
13
  class Guild extends BaseGuild_1.BaseGuild {
13
14
  joinedAt;
14
15
  memberCount;
@@ -48,10 +49,10 @@ class Guild extends BaseGuild_1.BaseGuild {
48
49
  return 50;
49
50
  }
50
51
  }
51
- fetchOwner(force = false) {
52
+ async fetchOwner(force = false) {
52
53
  // For no reason, discord has some guilds without owner... 🤓
53
54
  if (!this.ownerId) {
54
- return Promise.resolve(null);
55
+ return null;
55
56
  }
56
57
  return this.members.fetch(this.ownerId, force);
57
58
  }
@@ -62,5 +63,9 @@ class Guild extends BaseGuild_1.BaseGuild {
62
63
  roles = GuildRole_1.GuildRole.methods({ client: this.client, guildId: this.id });
63
64
  channels = channels_1.BaseChannel.allMethods({ client: this.client, guildId: this.id });
64
65
  emojis = GuildEmoji_1.GuildEmoji.methods({ client: this.client, guildId: this.id });
66
+ bans = GuildBan_1.GuildBan.methods({ client: this.client, guildId: this.id });
67
+ edit(body, reason) {
68
+ return this.client.guilds.edit(this.id, body, reason);
69
+ }
65
70
  }
66
71
  exports.Guild = Guild;
@@ -0,0 +1,25 @@
1
+ import type { UsingClient } from '../commands';
2
+ import { type MethodContext, type ObjectToLower } from '../common';
3
+ import { DiscordBase } from './extra/DiscordBase';
4
+ import type { BanShorter } from '../common/shorters/bans';
5
+ import type { APIBan, RESTGetAPIGuildBansQuery } from '../types';
6
+ export interface GuildBan extends DiscordBase, ObjectToLower<Omit<APIBan, 'id'>> {
7
+ }
8
+ export declare class GuildBan extends DiscordBase {
9
+ readonly guildId: string;
10
+ constructor(client: UsingClient, data: APIBan, guildId: string);
11
+ create(body?: Parameters<BanShorter['create']>[2], reason?: string): Promise<void>;
12
+ remove(reason?: string): Promise<void>;
13
+ guild(force?: boolean): Promise<import("./Guild").Guild<"api">>;
14
+ fetch(force?: boolean): Promise<GuildBan>;
15
+ toString(): `<@${string}>`;
16
+ static methods({ client, guildId }: MethodContext<{
17
+ guildId: string;
18
+ }>): {
19
+ fetch: (userId: string, force?: boolean) => Promise<GuildBan>;
20
+ list: (query?: RESTGetAPIGuildBansQuery, force?: boolean) => Promise<GuildBan[]>;
21
+ create: (memberId: string, body?: Parameters<BanShorter["create"]>[2], reason?: string) => Promise<void>;
22
+ remove: (memberId: string, reason?: string) => Promise<void>;
23
+ bulkCreate: (body: Parameters<BanShorter["bulkCreate"]>[1], reason?: string) => Promise<import("../types").RESTPostAPIGuildBulkBanResult>;
24
+ };
25
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GuildBan = void 0;
4
+ const common_1 = require("../common");
5
+ const DiscordBase_1 = require("./extra/DiscordBase");
6
+ class GuildBan extends DiscordBase_1.DiscordBase {
7
+ guildId;
8
+ constructor(client, data, guildId) {
9
+ super(client, { ...data, id: data.user.id });
10
+ this.guildId = guildId;
11
+ }
12
+ create(body, reason) {
13
+ return this.client.bans.create(this.guildId, this.id, body, reason);
14
+ }
15
+ remove(reason) {
16
+ return this.client.bans.remove(this.guildId, this.id, reason);
17
+ }
18
+ guild(force = false) {
19
+ return this.client.guilds.fetch(this.guildId, force);
20
+ }
21
+ fetch(force = false) {
22
+ return this.client.bans.fetch(this.guildId, this.id, force);
23
+ }
24
+ toString() {
25
+ return common_1.Formatter.userMention(this.id);
26
+ }
27
+ static methods({ client, guildId }) {
28
+ return {
29
+ fetch: (userId, force = false) => client.bans.fetch(guildId, userId, force),
30
+ list: (query, force = false) => client.bans.list(guildId, query, force),
31
+ create: (memberId, body, reason) => client.bans.create(guildId, memberId, body, reason),
32
+ remove: (memberId, reason) => client.bans.remove(guildId, memberId, reason),
33
+ bulkCreate: (body, reason) => client.bans.bulkCreate(guildId, body, reason),
34
+ };
35
+ }
36
+ }
37
+ exports.GuildBan = GuildBan;
@@ -1,14 +1,14 @@
1
- import type { APIEmoji, RESTPatchAPIChannelJSONBody, RESTPatchAPIGuildEmojiJSONBody } from 'discord-api-types/v10';
2
1
  import type { BaseCDNUrlOptions } from '../api';
3
2
  import type { UsingClient } from '../commands';
4
- import type { EmojiShorter, MethodContext, ObjectToLower } from '../common';
3
+ import { type EmojiShorter, type MethodContext, type ObjectToLower } from '../common';
4
+ import type { APIEmoji, RESTPatchAPIChannelJSONBody, RESTPatchAPIGuildEmojiJSONBody } from '../types';
5
5
  import { DiscordBase } from './extra/DiscordBase';
6
6
  export interface GuildEmoji extends DiscordBase, ObjectToLower<Omit<APIEmoji, 'id'>> {
7
7
  }
8
8
  export declare class GuildEmoji extends DiscordBase {
9
9
  readonly guildId: string;
10
10
  constructor(client: UsingClient, data: APIEmoji, guildId: string);
11
- guild(force?: boolean): Promise<import("./Guild").Guild<"cached"> | import("./Guild").Guild<"api">> | undefined;
11
+ guild(force?: boolean): Promise<import("./Guild").Guild<"api"> | undefined>;
12
12
  edit(body: RESTPatchAPIChannelJSONBody, reason?: string): Promise<GuildEmoji>;
13
13
  delete(reason?: string): Promise<void>;
14
14
  fetch(force?: boolean): Promise<GuildEmoji>;
@@ -23,7 +23,7 @@ export declare class GuildEmoji extends DiscordBase {
23
23
  guildId: string;
24
24
  }>): {
25
25
  edit: (emojiId: string, body: RESTPatchAPIGuildEmojiJSONBody, reason?: string) => Promise<GuildEmoji>;
26
- create: (body: Parameters<EmojiShorter['create']>[1]) => Promise<void>;
26
+ create: (body: Parameters<EmojiShorter["create"]>[1]) => Promise<GuildEmoji>;
27
27
  fetch: (emojiId: string, force?: boolean) => Promise<GuildEmoji>;
28
28
  list: (force?: boolean) => Promise<GuildEmoji[]>;
29
29
  };
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GuildEmoji = void 0;
4
+ const common_1 = require("../common");
4
5
  const DiscordBase_1 = require("./extra/DiscordBase");
5
6
  class GuildEmoji extends DiscordBase_1.DiscordBase {
6
7
  guildId;
@@ -8,7 +9,7 @@ class GuildEmoji extends DiscordBase_1.DiscordBase {
8
9
  super(client, { ...data, id: data.id });
9
10
  this.guildId = guildId;
10
11
  }
11
- guild(force = false) {
12
+ async guild(force = false) {
12
13
  if (!this.guildId)
13
14
  return;
14
15
  return this.client.guilds.fetch(this.guildId, force);
@@ -26,7 +27,7 @@ class GuildEmoji extends DiscordBase_1.DiscordBase {
26
27
  return this.rest.cdn.emojis(this.id).get(options);
27
28
  }
28
29
  toString() {
29
- return `<${this.animated ? 'a' : ''}:${this.name}:${this.id}>`;
30
+ return common_1.Formatter.emojiMention(this.id, this.name, this.animated);
30
31
  }
31
32
  toJSON() {
32
33
  return {