seyfert 1.5.0 → 2.1.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 (439) hide show
  1. package/LICENSE +21 -190
  2. package/README.md +18 -10
  3. package/lib/api/Router.js +2 -2
  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 +5 -2
  8. package/lib/api/Routes/interactions.d.ts +8 -2
  9. package/lib/api/Routes/invites.d.ts +1 -1
  10. package/lib/api/Routes/skus.d.ts +11 -0
  11. package/lib/api/Routes/skus.js +2 -0
  12. package/lib/api/Routes/stage-instances.d.ts +1 -1
  13. package/lib/api/Routes/stickers.d.ts +2 -2
  14. package/lib/api/Routes/users.d.ts +1 -1
  15. package/lib/api/Routes/voice.d.ts +1 -1
  16. package/lib/api/Routes/webhooks.d.ts +2 -2
  17. package/lib/api/api.d.ts +3 -3
  18. package/lib/api/api.js +15 -25
  19. package/lib/api/bucket.d.ts +0 -1
  20. package/lib/api/shared.d.ts +1 -2
  21. package/lib/api/utils/constants.d.ts +2 -5
  22. package/lib/api/utils/constants.js +3 -7
  23. package/lib/api/utils/utils.d.ts +1 -2
  24. package/lib/api/utils/utils.js +2 -3
  25. package/lib/builders/ActionRow.d.ts +1 -1
  26. package/lib/builders/ActionRow.js +3 -3
  27. package/lib/builders/Attachment.d.ts +3 -4
  28. package/lib/builders/Attachment.js +24 -25
  29. package/lib/builders/Base.d.ts +2 -2
  30. package/lib/builders/Base.js +1 -1
  31. package/lib/builders/Button.d.ts +7 -7
  32. package/lib/builders/Button.js +11 -9
  33. package/lib/builders/Embed.d.ts +1 -1
  34. package/lib/builders/Modal.d.ts +1 -1
  35. package/lib/builders/Modal.js +2 -2
  36. package/lib/builders/Poll.d.ts +2 -2
  37. package/lib/builders/Poll.js +5 -6
  38. package/lib/builders/SelectMenu.d.ts +1 -1
  39. package/lib/builders/SelectMenu.js +17 -18
  40. package/lib/builders/index.d.ts +1 -1
  41. package/lib/builders/index.js +10 -11
  42. package/lib/cache/adapters/default.d.ts +16 -9
  43. package/lib/cache/adapters/default.js +42 -31
  44. package/lib/cache/adapters/index.d.ts +0 -1
  45. package/lib/cache/adapters/index.js +0 -1
  46. package/lib/cache/adapters/limited.d.ts +17 -12
  47. package/lib/cache/adapters/limited.js +80 -36
  48. package/lib/cache/adapters/types.d.ts +6 -7
  49. package/lib/cache/adapters/workeradapter.d.ts +6 -6
  50. package/lib/cache/adapters/workeradapter.js +13 -0
  51. package/lib/cache/index.d.ts +20 -8
  52. package/lib/cache/index.js +328 -22
  53. package/lib/cache/resources/bans.d.ts +9 -6
  54. package/lib/cache/resources/bans.js +13 -4
  55. package/lib/cache/resources/channels.d.ts +6 -4
  56. package/lib/cache/resources/channels.js +13 -7
  57. package/lib/cache/resources/default/base.d.ts +7 -7
  58. package/lib/cache/resources/default/base.js +2 -2
  59. package/lib/cache/resources/default/guild-based.d.ts +6 -6
  60. package/lib/cache/resources/default/guild-based.js +6 -6
  61. package/lib/cache/resources/default/guild-related.d.ts +7 -7
  62. package/lib/cache/resources/default/guild-related.js +10 -8
  63. package/lib/cache/resources/emojis.d.ts +15 -6
  64. package/lib/cache/resources/emojis.js +13 -4
  65. package/lib/cache/resources/guilds.d.ts +9 -6
  66. package/lib/cache/resources/guilds.js +27 -6
  67. package/lib/cache/resources/members.d.ts +9 -6
  68. package/lib/cache/resources/members.js +22 -6
  69. package/lib/cache/resources/messages.d.ts +11 -7
  70. package/lib/cache/resources/messages.js +19 -7
  71. package/lib/cache/resources/overwrites.d.ts +11 -2
  72. package/lib/cache/resources/overwrites.js +9 -0
  73. package/lib/cache/resources/presence.d.ts +3 -2
  74. package/lib/cache/resources/roles.d.ts +9 -6
  75. package/lib/cache/resources/roles.js +13 -4
  76. package/lib/cache/resources/stage-instances.d.ts +2 -2
  77. package/lib/cache/resources/stickers.d.ts +9 -6
  78. package/lib/cache/resources/stickers.js +13 -4
  79. package/lib/cache/resources/threads.d.ts +9 -6
  80. package/lib/cache/resources/threads.js +13 -4
  81. package/lib/cache/resources/users.d.ts +9 -6
  82. package/lib/cache/resources/users.js +13 -4
  83. package/lib/cache/resources/voice-states.d.ts +11 -8
  84. package/lib/cache/resources/voice-states.js +15 -4
  85. package/lib/client/base.d.ts +29 -21
  86. package/lib/client/base.js +64 -57
  87. package/lib/client/client.d.ts +11 -16
  88. package/lib/client/client.js +51 -37
  89. package/lib/client/collectors.d.ts +10 -10
  90. package/lib/client/collectors.js +26 -1
  91. package/lib/client/httpclient.d.ts +8 -13
  92. package/lib/client/httpclient.js +27 -218
  93. package/lib/client/index.d.ts +1 -0
  94. package/lib/client/index.js +1 -0
  95. package/lib/client/transformers.d.ts +68 -0
  96. package/lib/client/transformers.js +99 -0
  97. package/lib/client/types.d.ts +5 -0
  98. package/lib/client/types.js +2 -0
  99. package/lib/client/workerclient.d.ts +16 -15
  100. package/lib/client/workerclient.js +130 -72
  101. package/lib/commands/applications/chat.d.ts +35 -34
  102. package/lib/commands/applications/chat.js +5 -9
  103. package/lib/commands/applications/chatcontext.d.ts +17 -17
  104. package/lib/commands/applications/chatcontext.js +5 -5
  105. package/lib/commands/applications/entryPoint.d.ts +46 -0
  106. package/lib/commands/applications/entryPoint.js +56 -0
  107. package/lib/commands/applications/entrycontext.d.ts +40 -0
  108. package/lib/commands/applications/entrycontext.js +85 -0
  109. package/lib/commands/applications/menu.d.ts +2 -3
  110. package/lib/commands/applications/menu.js +2 -5
  111. package/lib/commands/applications/menucontext.d.ts +14 -13
  112. package/lib/commands/applications/menucontext.js +9 -9
  113. package/lib/commands/applications/options.d.ts +4 -3
  114. package/lib/commands/applications/options.js +20 -21
  115. package/lib/commands/applications/shared.d.ts +3 -1
  116. package/lib/commands/decorators.d.ts +47 -35
  117. package/lib/commands/decorators.js +20 -18
  118. package/lib/commands/handle.d.ts +65 -0
  119. package/lib/commands/handle.js +727 -0
  120. package/lib/commands/handler.d.ts +29 -18
  121. package/lib/commands/handler.js +295 -164
  122. package/lib/commands/index.d.ts +2 -0
  123. package/lib/commands/index.js +2 -0
  124. package/lib/commands/optionresolver.d.ts +13 -13
  125. package/lib/commands/optionresolver.js +24 -29
  126. package/lib/common/bot/watcher.d.ts +4 -33
  127. package/lib/common/bot/watcher.js +0 -109
  128. package/lib/common/index.d.ts +1 -0
  129. package/lib/common/index.js +1 -0
  130. package/lib/common/it/colors.js +48 -49
  131. package/lib/common/it/formatter.d.ts +32 -0
  132. package/lib/common/it/formatter.js +42 -0
  133. package/lib/common/it/logger.d.ts +0 -1
  134. package/lib/common/it/logger.js +3 -3
  135. package/lib/common/it/utils.d.ts +24 -4
  136. package/lib/common/it/utils.js +88 -17
  137. package/lib/common/shorters/application.d.ts +56 -0
  138. package/lib/common/shorters/application.js +81 -0
  139. package/lib/common/shorters/bans.d.ts +4 -5
  140. package/lib/common/shorters/bans.js +3 -3
  141. package/lib/common/shorters/channels.d.ts +7 -6
  142. package/lib/common/shorters/channels.js +19 -15
  143. package/lib/common/shorters/emojis.d.ts +5 -6
  144. package/lib/common/shorters/emojis.js +5 -5
  145. package/lib/common/shorters/guilds.d.ts +18 -16
  146. package/lib/common/shorters/guilds.js +31 -26
  147. package/lib/common/shorters/interaction.d.ts +7 -7
  148. package/lib/common/shorters/interaction.js +3 -2
  149. package/lib/common/shorters/members.d.ts +29 -12
  150. package/lib/common/shorters/members.js +55 -16
  151. package/lib/common/shorters/messages.d.ts +7 -8
  152. package/lib/common/shorters/messages.js +8 -7
  153. package/lib/common/shorters/reactions.d.ts +3 -3
  154. package/lib/common/shorters/reactions.js +11 -11
  155. package/lib/common/shorters/roles.d.ts +9 -7
  156. package/lib/common/shorters/roles.js +26 -7
  157. package/lib/common/shorters/templates.d.ts +7 -8
  158. package/lib/common/shorters/templates.js +7 -7
  159. package/lib/common/shorters/threads.d.ts +6 -7
  160. package/lib/common/shorters/threads.js +6 -9
  161. package/lib/common/shorters/users.d.ts +4 -4
  162. package/lib/common/shorters/users.js +8 -4
  163. package/lib/common/shorters/webhook.d.ts +10 -10
  164. package/lib/common/shorters/webhook.js +10 -9
  165. package/lib/common/types/resolvables.d.ts +2 -2
  166. package/lib/common/types/util.d.ts +4 -2
  167. package/lib/common/types/write.d.ts +3 -3
  168. package/lib/components/ActionRow.d.ts +1 -1
  169. package/lib/components/BaseComponent.d.ts +1 -1
  170. package/lib/components/BaseComponent.js +1 -1
  171. package/lib/components/BaseSelectMenuComponent.d.ts +1 -1
  172. package/lib/components/ButtonComponent.d.ts +17 -7
  173. package/lib/components/ButtonComponent.js +19 -2
  174. package/lib/components/ChannelSelectMenuComponent.d.ts +3 -3
  175. package/lib/components/MentionableSelectMenuComponent.d.ts +2 -2
  176. package/lib/components/RoleSelectMenuComponent.d.ts +2 -2
  177. package/lib/components/StringSelectMenuComponent.d.ts +2 -2
  178. package/lib/components/TextInputComponent.d.ts +2 -2
  179. package/lib/components/UserSelectMenuComponent.d.ts +2 -2
  180. package/lib/components/componentcommand.js +2 -2
  181. package/lib/components/componentcontext.d.ts +10 -9
  182. package/lib/components/componentcontext.js +8 -8
  183. package/lib/components/handler.d.ts +15 -14
  184. package/lib/components/handler.js +89 -93
  185. package/lib/components/index.d.ts +3 -3
  186. package/lib/components/index.js +12 -10
  187. package/lib/components/modalcontext.d.ts +12 -11
  188. package/lib/components/modalcontext.js +2 -2
  189. package/lib/deps/mixer.d.ts +8 -0
  190. package/lib/deps/mixer.js +71 -0
  191. package/lib/events/handler.d.ts +35 -13
  192. package/lib/events/handler.js +57 -24
  193. package/lib/events/hooks/application_command.d.ts +2 -2
  194. package/lib/events/hooks/auto_moderation.d.ts +6 -7
  195. package/lib/events/hooks/auto_moderation.js +4 -4
  196. package/lib/events/hooks/channel.d.ts +2 -2
  197. package/lib/events/hooks/channel.js +4 -7
  198. package/lib/events/hooks/custom.d.ts +4 -3
  199. package/lib/events/hooks/custom.js +5 -1
  200. package/lib/events/hooks/dispatch.d.ts +3 -4
  201. package/lib/events/hooks/dispatch.js +2 -2
  202. package/lib/events/hooks/entitlement.d.ts +5 -37
  203. package/lib/events/hooks/entitlement.js +7 -7
  204. package/lib/events/hooks/guild.d.ts +125 -125
  205. package/lib/events/hooks/guild.js +13 -15
  206. package/lib/events/hooks/integration.d.ts +27 -28
  207. package/lib/events/hooks/integration.js +3 -3
  208. package/lib/events/hooks/interactions.d.ts +2 -2
  209. package/lib/events/hooks/invite.d.ts +18 -17
  210. package/lib/events/hooks/message.d.ts +69 -54
  211. package/lib/events/hooks/message.js +4 -8
  212. package/lib/events/hooks/presence.d.ts +17 -16
  213. package/lib/events/hooks/stage.d.ts +4 -4
  214. package/lib/events/hooks/subscriptions.d.ts +35 -0
  215. package/lib/events/hooks/subscriptions.js +16 -0
  216. package/lib/events/hooks/thread.d.ts +132 -63
  217. package/lib/events/hooks/thread.js +4 -4
  218. package/lib/events/hooks/typing.d.ts +28 -6
  219. package/lib/events/hooks/typing.js +2 -2
  220. package/lib/events/hooks/user.d.ts +3 -3
  221. package/lib/events/hooks/user.js +2 -2
  222. package/lib/events/hooks/voice.d.ts +28 -3
  223. package/lib/events/hooks/voice.js +8 -4
  224. package/lib/events/hooks/webhook.d.ts +1 -1
  225. package/lib/index.d.ts +5 -14
  226. package/lib/index.js +7 -12
  227. package/lib/langs/handler.d.ts +14 -10
  228. package/lib/langs/handler.js +40 -9
  229. package/lib/structures/AutoModerationRule.d.ts +4 -4
  230. package/lib/structures/AutoModerationRule.js +1 -2
  231. package/lib/structures/ClientUser.d.ts +1 -1
  232. package/lib/structures/Entitlement.d.ts +10 -0
  233. package/lib/structures/Entitlement.js +16 -0
  234. package/lib/structures/Guild.d.ts +33 -34
  235. package/lib/structures/Guild.js +5 -2
  236. package/lib/structures/GuildBan.d.ts +6 -6
  237. package/lib/structures/GuildBan.js +2 -1
  238. package/lib/structures/GuildEmoji.d.ts +4 -4
  239. package/lib/structures/GuildEmoji.js +3 -2
  240. package/lib/structures/GuildMember.d.ts +20 -17
  241. package/lib/structures/GuildMember.js +18 -8
  242. package/lib/structures/GuildPreview.d.ts +1 -1
  243. package/lib/structures/GuildRole.d.ts +5 -3
  244. package/lib/structures/GuildRole.js +8 -1
  245. package/lib/structures/GuildTemplate.d.ts +2 -2
  246. package/lib/structures/GuildTemplate.js +1 -1
  247. package/lib/structures/Interaction.d.ts +76 -39
  248. package/lib/structures/Interaction.js +179 -94
  249. package/lib/structures/Message.d.ts +29 -33
  250. package/lib/structures/Message.js +8 -12
  251. package/lib/structures/Poll.d.ts +4 -3
  252. package/lib/structures/Poll.js +6 -2
  253. package/lib/structures/Sticker.d.ts +7 -7
  254. package/lib/structures/Sticker.js +7 -7
  255. package/lib/structures/User.d.ts +5 -4
  256. package/lib/structures/User.js +2 -1
  257. package/lib/structures/VoiceState.d.ts +15 -11
  258. package/lib/structures/VoiceState.js +35 -17
  259. package/lib/structures/Webhook.d.ts +6 -7
  260. package/lib/structures/Webhook.js +6 -7
  261. package/lib/structures/channels.d.ts +11 -10
  262. package/lib/structures/channels.js +70 -65
  263. package/lib/structures/extra/BaseGuild.d.ts +12 -2
  264. package/lib/structures/extra/BaseGuild.js +30 -3
  265. package/lib/structures/extra/BitField.d.ts +1 -1
  266. package/lib/structures/extra/BitField.js +3 -2
  267. package/lib/structures/extra/DiscordBase.js +2 -2
  268. package/lib/structures/extra/Permissions.d.ts +3 -1
  269. package/lib/structures/extra/Permissions.js +8 -3
  270. package/lib/types/gateway.d.ts +1554 -0
  271. package/lib/types/gateway.js +4 -0
  272. package/lib/types/index.d.ts +9 -1
  273. package/lib/types/index.js +28 -1
  274. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.d.ts +5 -0
  275. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.js +2 -0
  276. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.d.ts +22 -0
  277. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.js +2 -0
  278. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.d.ts +4 -0
  279. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.js +2 -0
  280. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.d.ts +7 -0
  281. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.js +2 -0
  282. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.d.ts +17 -0
  283. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.js +2 -0
  284. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.d.ts +5 -0
  285. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.js +2 -0
  286. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.d.ts +17 -0
  287. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.js +2 -0
  288. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.d.ts +5 -0
  289. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.js +2 -0
  290. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.d.ts +25 -0
  291. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.js +20 -0
  292. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.d.ts +17 -0
  293. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.js +2 -0
  294. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.d.ts +11 -0
  295. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.js +2 -0
  296. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts +11 -0
  297. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.js +2 -0
  298. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.d.ts +5 -0
  299. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.js +2 -0
  300. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.d.ts +65 -0
  301. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.js +29 -0
  302. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.d.ts +65 -0
  303. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.js +2 -0
  304. package/lib/types/payloads/_interactions/_applicationCommands/internals.d.ts +8 -0
  305. package/lib/types/payloads/_interactions/_applicationCommands/internals.js +2 -0
  306. package/lib/types/payloads/_interactions/_applicationCommands/permissions.d.ts +54 -0
  307. package/lib/types/payloads/_interactions/_applicationCommands/permissions.js +20 -0
  308. package/lib/types/payloads/_interactions/applicationCommands.d.ts +188 -0
  309. package/lib/types/payloads/_interactions/applicationCommands.js +88 -0
  310. package/lib/types/payloads/_interactions/autocomplete.d.ts +10 -0
  311. package/lib/types/payloads/_interactions/autocomplete.js +2 -0
  312. package/lib/types/payloads/_interactions/base.d.ts +197 -0
  313. package/lib/types/payloads/_interactions/base.js +2 -0
  314. package/lib/types/payloads/_interactions/messageComponents.d.ts +41 -0
  315. package/lib/types/payloads/_interactions/messageComponents.js +2 -0
  316. package/lib/types/payloads/_interactions/modalSubmit.d.ts +35 -0
  317. package/lib/types/payloads/_interactions/modalSubmit.js +2 -0
  318. package/lib/types/payloads/_interactions/ping.d.ts +3 -0
  319. package/lib/types/payloads/_interactions/ping.js +2 -0
  320. package/lib/types/payloads/_interactions/responses.d.ts +184 -0
  321. package/lib/types/payloads/_interactions/responses.js +58 -0
  322. package/lib/types/payloads/application.d.ts +292 -0
  323. package/lib/types/payloads/application.js +117 -0
  324. package/lib/types/payloads/auditLog.d.ts +644 -0
  325. package/lib/types/payloads/auditLog.js +80 -0
  326. package/lib/types/payloads/autoModeration.d.ts +219 -0
  327. package/lib/types/payloads/autoModeration.js +87 -0
  328. package/lib/types/payloads/channel.d.ts +1748 -0
  329. package/lib/types/payloads/channel.js +376 -0
  330. package/lib/types/payloads/emoji.d.ts +48 -0
  331. package/lib/types/payloads/emoji.js +5 -0
  332. package/lib/types/payloads/gateway.d.ts +373 -0
  333. package/lib/types/payloads/gateway.js +82 -0
  334. package/lib/types/payloads/guild.d.ts +1060 -0
  335. package/lib/types/payloads/guild.js +324 -0
  336. package/lib/types/payloads/guildScheduledEvent.d.ts +138 -0
  337. package/lib/types/payloads/guildScheduledEvent.js +32 -0
  338. package/lib/types/payloads/index.d.ts +64 -0
  339. package/lib/types/payloads/index.js +37 -0
  340. package/lib/types/payloads/interactions.d.ts +24 -0
  341. package/lib/types/payloads/interactions.js +23 -0
  342. package/lib/types/payloads/invite.d.ts +121 -0
  343. package/lib/types/payloads/invite.js +23 -0
  344. package/lib/types/payloads/monetization.d.ts +178 -0
  345. package/lib/types/payloads/monetization.js +88 -0
  346. package/lib/types/payloads/oauth2.d.ts +131 -0
  347. package/lib/types/payloads/oauth2.js +135 -0
  348. package/lib/types/payloads/permissions.d.ts +97 -0
  349. package/lib/types/payloads/permissions.js +16 -0
  350. package/lib/types/payloads/poll.d.ts +104 -0
  351. package/lib/types/payloads/poll.js +16 -0
  352. package/lib/types/payloads/stageInstance.d.ts +77 -0
  353. package/lib/types/payloads/stageInstance.js +19 -0
  354. package/lib/types/payloads/sticker.d.ts +123 -0
  355. package/lib/types/payloads/sticker.js +30 -0
  356. package/lib/types/payloads/teams.d.ts +78 -0
  357. package/lib/types/payloads/teams.js +23 -0
  358. package/lib/types/payloads/template.d.ts +62 -0
  359. package/lib/types/payloads/template.js +5 -0
  360. package/lib/types/payloads/user.d.ts +337 -0
  361. package/lib/types/payloads/user.js +167 -0
  362. package/lib/types/payloads/voice.d.ts +89 -0
  363. package/lib/types/payloads/voice.js +5 -0
  364. package/lib/types/payloads/webhook.d.ts +76 -0
  365. package/lib/types/payloads/webhook.js +21 -0
  366. package/lib/types/rest/application.d.ts +57 -0
  367. package/lib/types/rest/application.js +2 -0
  368. package/lib/types/rest/auditLog.d.ts +30 -0
  369. package/lib/types/rest/auditLog.js +2 -0
  370. package/lib/types/rest/autoModeration.d.ts +66 -0
  371. package/lib/types/rest/autoModeration.js +2 -0
  372. package/lib/types/rest/channel.d.ts +699 -0
  373. package/lib/types/rest/channel.js +11 -0
  374. package/lib/types/rest/emoji.d.ts +54 -0
  375. package/lib/types/rest/emoji.js +2 -0
  376. package/lib/types/rest/gateway.d.ts +9 -0
  377. package/lib/types/rest/gateway.js +2 -0
  378. package/lib/types/rest/guild.d.ts +865 -0
  379. package/lib/types/rest/guild.js +2 -0
  380. package/lib/types/rest/guildScheduledEvent.d.ts +126 -0
  381. package/lib/types/rest/guildScheduledEvent.js +2 -0
  382. package/lib/types/rest/index.d.ts +296 -0
  383. package/lib/types/rest/index.js +292 -0
  384. package/lib/types/rest/interactions.d.ts +216 -0
  385. package/lib/types/rest/interactions.js +2 -0
  386. package/lib/types/rest/invite.d.ts +24 -0
  387. package/lib/types/rest/invite.js +2 -0
  388. package/lib/types/rest/monetization.d.ts +103 -0
  389. package/lib/types/rest/monetization.js +11 -0
  390. package/lib/types/rest/oauth2.d.ts +172 -0
  391. package/lib/types/rest/oauth2.js +2 -0
  392. package/lib/types/rest/poll.d.ts +44 -0
  393. package/lib/types/rest/poll.js +2 -0
  394. package/lib/types/rest/stageInstance.d.ts +58 -0
  395. package/lib/types/rest/stageInstance.js +2 -0
  396. package/lib/types/rest/sticker.d.ts +77 -0
  397. package/lib/types/rest/sticker.js +2 -0
  398. package/lib/types/rest/template.d.ts +62 -0
  399. package/lib/types/rest/template.js +2 -0
  400. package/lib/types/rest/user.d.ts +120 -0
  401. package/lib/types/rest/user.js +2 -0
  402. package/lib/types/rest/voice.d.ts +17 -0
  403. package/lib/types/rest/voice.js +2 -0
  404. package/lib/types/rest/webhook.d.ts +250 -0
  405. package/lib/types/rest/webhook.js +2 -0
  406. package/lib/types/utils/index.d.ts +808 -0
  407. package/lib/types/utils/index.js +810 -0
  408. package/lib/websocket/SharedTypes.d.ts +12 -5
  409. package/lib/websocket/SharedTypes.js +1 -1
  410. package/lib/websocket/constants/index.d.ts +3 -3
  411. package/lib/websocket/constants/index.js +11 -1
  412. package/lib/websocket/discord/basesocket.d.ts +7 -7
  413. package/lib/websocket/discord/basesocket.js +34 -22
  414. package/lib/websocket/discord/events/memberUpdate.d.ts +1 -6
  415. package/lib/websocket/discord/events/memberUpdate.js +2 -1
  416. package/lib/websocket/discord/events/presenceUpdate.d.ts +5 -18
  417. package/lib/websocket/discord/events/presenceUpdate.js +5 -6
  418. package/lib/websocket/discord/shard.d.ts +9 -8
  419. package/lib/websocket/discord/shard.js +83 -57
  420. package/lib/websocket/discord/sharder.d.ts +6 -5
  421. package/lib/websocket/discord/sharder.js +70 -11
  422. package/lib/websocket/discord/shared.d.ts +34 -6
  423. package/lib/websocket/discord/socket/custom.d.ts +52 -0
  424. package/lib/websocket/discord/socket/custom.js +300 -0
  425. package/lib/websocket/discord/worker.d.ts +6 -10
  426. package/lib/websocket/discord/workermanager.d.ts +10 -16
  427. package/lib/websocket/discord/workermanager.js +63 -50
  428. package/lib/websocket/structures/index.d.ts +0 -1
  429. package/lib/websocket/structures/index.js +1 -1
  430. package/lib/websocket/structures/timeout.d.ts +0 -1
  431. package/package.json +70 -74
  432. package/lib/cache/adapters/redis.d.ts +0 -37
  433. package/lib/cache/adapters/redis.js +0 -218
  434. package/lib/client/oninteractioncreate.d.ts +0 -4
  435. package/lib/client/oninteractioncreate.js +0 -198
  436. package/lib/client/onmessagecreate.d.ts +0 -13
  437. package/lib/client/onmessagecreate.js +0 -410
  438. package/lib/structures/extra/functions.d.ts +0 -12
  439. package/lib/structures/extra/functions.js +0 -70
@@ -0,0 +1,865 @@
1
+ import type { Snowflake } from '..';
2
+ import type { APIChannel, APIDMChannel, APIGroupDMChannel, GuildVerificationLevel, GuildDefaultMessageNotifications, GuildExplicitContentFilter, GuildSystemChannelFlags, APIGuild, GuildMFALevel, APIGuildPreview, GuildFeature, APIThreadList, APIGuildMember, APIBan, APIRole, APIVoiceRegion, APIExtendedInvite, APIGuildIntegration, APIGuildWidgetSettings, APIGuildWidget, GuildWidgetStyle, APIGuildMembershipScreening, APIGuildWelcomeScreen, APIGuildOnboarding, APIGuildOnboardingPrompt, APIGuildOnboardingPromptOption } from '../payloads';
3
+ import type { StrictPartial, DistributivePick, DistributiveOmit, StrictRequired, Nullable, AddUndefinedToPossiblyUndefinedPropertiesOfInterface } from '../utils';
4
+ import type { RESTPutAPIChannelPermissionJSONBody } from './channel';
5
+ export interface APIGuildCreateOverwrite extends RESTPutAPIChannelPermissionJSONBody {
6
+ id: number | string;
7
+ }
8
+ export type APIGuildChannelResolvable = Exclude<APIChannel, APIDMChannel | APIGroupDMChannel>;
9
+ export type APIGuildCreatePartialChannel = StrictPartial<DistributivePick<APIGuildChannelResolvable, 'available_tags' | 'bitrate' | 'default_auto_archive_duration' | 'default_forum_layout' | 'default_reaction_emoji' | 'default_sort_order' | 'default_thread_rate_limit_per_user' | 'flags' | 'nsfw' | 'position' | 'rate_limit_per_user' | 'rtc_region' | 'topic' | 'type' | 'user_limit' | 'video_quality_mode'>> & {
10
+ name: string;
11
+ id?: number | string | undefined;
12
+ parent_id?: number | string | null | undefined;
13
+ permission_overwrites?: APIGuildCreateOverwrite[] | undefined;
14
+ };
15
+ export interface APIGuildCreateRole extends RESTPostAPIGuildRoleJSONBody {
16
+ id: number | string;
17
+ }
18
+ /**
19
+ * https://discord.com/developers/docs/resources/guild#create-guild
20
+ */
21
+ export interface RESTPostAPIGuildsJSONBody {
22
+ /**
23
+ * Name of the guild (2-100 characters)
24
+ */
25
+ name: string;
26
+ /**
27
+ * Voice region id
28
+ *
29
+ * See https://discord.com/developers/docs/resources/voice#voice-region-object
30
+ */
31
+ region?: string | undefined;
32
+ /**
33
+ * base64 1024x1024 png/jpeg image for the guild icon
34
+ *
35
+ * See https://discord.com/developers/docs/reference#image-data
36
+ */
37
+ icon?: string | undefined;
38
+ /**
39
+ * Verification level
40
+ *
41
+ * See https://discord.com/developers/docs/resources/guild#guild-object-verification-level
42
+ */
43
+ verification_level?: GuildVerificationLevel | undefined;
44
+ /**
45
+ * Default message notification level
46
+ *
47
+ * See https://discord.com/developers/docs/resources/guild#guild-object-default-message-notification-level
48
+ */
49
+ default_message_notifications?: GuildDefaultMessageNotifications | undefined;
50
+ /**
51
+ * Explicit content filter level
52
+ *
53
+ * See https://discord.com/developers/docs/resources/guild#guild-object-explicit-content-filter-level
54
+ */
55
+ explicit_content_filter?: GuildExplicitContentFilter | undefined;
56
+ /**
57
+ * New guild roles
58
+ *
59
+ * @remarks
60
+ * When using this parameter, the first member of the array is used to change properties of the guild's `@everyone` role.
61
+ * If you are trying to bootstrap a guild with additional roles, keep this in mind.
62
+ *
63
+ * Also, the required `id` field within each role object is an integer placeholder,
64
+ * and will be replaced by the API upon consumption. Its purpose is to allow you to overwrite a role's permissions
65
+ * in a channel when also passing in channels with the channels array.
66
+ *
67
+ * See https://discord.com/developers/docs/topics/permissions#role-object
68
+ */
69
+ roles?: APIGuildCreateRole[] | undefined;
70
+ /**
71
+ * New guild's channels
72
+ *
73
+ * @remarks
74
+ * When using the channels parameter, the `position` field is ignored, and none of the default channels are created.
75
+ *
76
+ * Also, the `id` field within each channel object may be set to an integer placeholder,
77
+ * and will be replaced by the API upon consumption. Its purpose is to allow you to create `GUILD_CATEGORY` channels
78
+ * by setting the `parent_id` field on any children to the category's id field.
79
+ * Category channels must be listed before any children.
80
+ *
81
+ * See https://discord.com/developers/docs/resources/channel#channel-object
82
+ */
83
+ channels?: APIGuildCreatePartialChannel[] | undefined;
84
+ /**
85
+ * ID for afk channel
86
+ */
87
+ afk_channel_id?: Snowflake | number | null | undefined;
88
+ /**
89
+ * afk timeout in seconds, can be set to: `60`, `300`, `900`, `1800`, `3600`
90
+ */
91
+ afk_timeout?: 1_800 | 3_600 | 60 | 300 | 900 | undefined;
92
+ /**
93
+ * The id of the channel where guild notices such as welcome messages and boost events are posted
94
+ */
95
+ system_channel_id?: Snowflake | number | null | undefined;
96
+ /**
97
+ * System channel flags
98
+ *
99
+ * See https://discord.com/developers/docs/resources/guild#guild-object-system-channel-flags
100
+ */
101
+ system_channel_flags?: GuildSystemChannelFlags | undefined;
102
+ /**
103
+ * Whether the boosts progress bar should be enabled.
104
+ */
105
+ premium_progress_bar_enabled?: boolean | undefined;
106
+ }
107
+ /**
108
+ * https://discord.com/developers/docs/resources/guild#create-guild
109
+ */
110
+ export type RESTPostAPIGuildsResult = APIGuild;
111
+ /**
112
+ * https://discord.com/developers/docs/resources/guild#modify-guild-mfa-level
113
+ */
114
+ export interface RESTPostAPIGuildsMFAJSONBody {
115
+ /**
116
+ * MFA level
117
+ *
118
+ * See https://discord.com/developers/docs/resources/guild#guild-object-mfa-level
119
+ */
120
+ level: GuildMFALevel;
121
+ }
122
+ /**
123
+ * https://discord.com/developers/docs/resources/guild#modify-guild-mfa-level
124
+ */
125
+ export type RESTPostAPIGuildsMFAResult = RESTPostAPIGuildsMFAJSONBody;
126
+ /**
127
+ * https://discord.com/developers/docs/resources/guild#get-guild
128
+ */
129
+ export interface RESTGetAPIGuildQuery {
130
+ /**
131
+ * When `true`, will return approximate member and presence counts for the guild
132
+ *
133
+ * @default false
134
+ */
135
+ with_counts?: boolean;
136
+ }
137
+ /**
138
+ * https://discord.com/developers/docs/resources/guild#get-guild
139
+ */
140
+ export type RESTGetAPIGuildResult = APIGuild;
141
+ /**
142
+ * https://discord.com/developers/docs/resources/guild#get-guild-preview
143
+ */
144
+ export type RESTGetAPIGuildPreviewResult = APIGuildPreview;
145
+ /**
146
+ * https://discord.com/developers/docs/resources/guild#modify-guild
147
+ */
148
+ export interface RESTPatchAPIGuildJSONBody {
149
+ /**
150
+ * New name for the guild (2-100 characters)
151
+ */
152
+ name?: string | undefined;
153
+ /**
154
+ * Voice region id
155
+ *
156
+ * See https://discord.com/developers/docs/resources/voice#voice-region-object
157
+ */
158
+ region?: string | null | undefined;
159
+ /**
160
+ * Verification level
161
+ *
162
+ * See https://discord.com/developers/docs/resources/guild#guild-object-verification-level
163
+ */
164
+ verification_level?: GuildVerificationLevel | null | undefined;
165
+ /**
166
+ * Default message notification level
167
+ *
168
+ * See https://discord.com/developers/docs/resources/guild#guild-object-default-message-notification-level
169
+ */
170
+ default_message_notifications?: GuildDefaultMessageNotifications | null | undefined;
171
+ /**
172
+ * Explicit content filter level
173
+ *
174
+ * See https://discord.com/developers/docs/resources/guild#guild-object-explicit-content-filter-level
175
+ */
176
+ explicit_content_filter?: GuildExplicitContentFilter | null | undefined;
177
+ /**
178
+ * ID for afk channel
179
+ */
180
+ afk_channel_id?: Snowflake | null | undefined;
181
+ /**
182
+ * afk timeout in seconds, can be set to: `60`, `300`, `900`, `1800`, `3600`
183
+ */
184
+ afk_timeout?: 1_800 | 3_600 | 60 | 300 | 900 | undefined;
185
+ /**
186
+ * base64 1024x1024 png/jpeg/gif image for the guild icon (can be animated gif when the guild has `ANIMATED_ICON` feature)
187
+ *
188
+ * See https://discord.com/developers/docs/reference#image-data
189
+ */
190
+ icon?: string | null | undefined;
191
+ /**
192
+ * User id to transfer guild ownership to (must be owner)
193
+ */
194
+ owner_id?: Snowflake | undefined;
195
+ /**
196
+ * base64 16:9 png/jpeg image for the guild splash (when the guild has `INVITE_SPLASH` feature)
197
+ *
198
+ * See https://discord.com/developers/docs/reference#image-data
199
+ */
200
+ splash?: string | null | undefined;
201
+ /**
202
+ * base64 png/jpeg image for the guild discovery splash (when the guild has `DISCOVERABLE` feature)
203
+ */
204
+ discovery_splash?: string | null | undefined;
205
+ /**
206
+ * base64 16:9 png/jpeg image for the guild banner (when the server has the `BANNER` feature; can be animated gif when the server has the `ANIMATED_BANNER` feature)
207
+ */
208
+ banner?: string | null | undefined;
209
+ /**
210
+ * The id of the channel where guild notices such as welcome messages and boost events are posted
211
+ */
212
+ system_channel_id?: Snowflake | null | undefined;
213
+ /**
214
+ * System channel flags
215
+ *
216
+ * See https://discord.com/developers/docs/resources/guild#guild-object-system-channel-flags
217
+ */
218
+ system_channel_flags?: GuildSystemChannelFlags | undefined;
219
+ /**
220
+ * The id of the channel where Community guilds display rules and/or guidelines
221
+ */
222
+ rules_channel_id?: Snowflake | null | undefined;
223
+ /**
224
+ * The id of the channel where admins and moderators of Community guilds receive notices from Discord
225
+ */
226
+ public_updates_channel_id?: Snowflake | null | undefined;
227
+ /**
228
+ * The preferred locale of a Community guild used in server discovery and notices from Discord; defaults to "en-US"
229
+ *
230
+ * @default "en-US" (if the value is set to `null`)
231
+ */
232
+ preferred_locale?: string | null | undefined;
233
+ /**
234
+ * Enabled guild features
235
+ *
236
+ * See https://discord.com/developers/docs/resources/guild#guild-object-guild-features
237
+ */
238
+ features?: GuildFeature[] | undefined;
239
+ /**
240
+ * The description for the guild
241
+ */
242
+ description?: string | null | undefined;
243
+ /**
244
+ * Whether the boosts progress bar should be enabled.
245
+ */
246
+ premium_progress_bar_enabled?: boolean | undefined;
247
+ /**
248
+ * The id of the channel where admins and moderators of Community guilds receive safety alerts from Discord
249
+ */
250
+ safety_alerts_channel_id?: Snowflake | null | undefined;
251
+ }
252
+ /**
253
+ * https://discord.com/developers/docs/resources/guild#modify-guild
254
+ */
255
+ export type RESTPatchAPIGuildResult = APIGuild;
256
+ /**
257
+ * https://discord.com/developers/docs/resources/guild#delete-guild
258
+ */
259
+ export type RESTDeleteAPIGuildResult = never;
260
+ /**
261
+ * https://discord.com/developers/docs/resources/guild#get-guild-channels
262
+ */
263
+ export type RESTGetAPIGuildChannelsResult = APIChannel[];
264
+ /**
265
+ * https://discord.com/developers/docs/resources/guild#create-guild-channel
266
+ */
267
+ export type RESTPostAPIGuildChannelJSONBody = DistributiveOmit<APIGuildCreatePartialChannel, 'id'>;
268
+ /**
269
+ * https://discord.com/developers/docs/resources/guild#create-guild-channel
270
+ */
271
+ export type RESTPostAPIGuildChannelResult = APIChannel;
272
+ /**
273
+ * https://discord.com/developers/docs/resources/guild#modify-guild-channel-positions
274
+ */
275
+ export type RESTPatchAPIGuildChannelPositionsJSONBody = {
276
+ /**
277
+ * Channel id
278
+ */
279
+ id: Snowflake;
280
+ /**
281
+ * Sorting position of the channel
282
+ */
283
+ position: number;
284
+ /**
285
+ * Sync channel overwrites with the new parent, when moving to a new `parent_id`
286
+ */
287
+ lock_permissions?: boolean | undefined;
288
+ /**
289
+ * The new parent id of this channel
290
+ */
291
+ parent_id?: Snowflake | null | undefined;
292
+ }[];
293
+ /**
294
+ * https://discord.com/developers/docs/resources/guild#modify-guild-channel-positions
295
+ */
296
+ export type RESTPatchAPIGuildChannelPositionsResult = never;
297
+ /**
298
+ * https://discord.com/developers/docs/resources/guild#list-active-guild-threads
299
+ */
300
+ export type RESTGetAPIGuildThreadsResult = APIThreadList;
301
+ /**
302
+ * https://discord.com/developers/docs/resources/guild#get-guild-member
303
+ */
304
+ export type RESTGetAPIGuildMemberResult = APIGuildMember;
305
+ /**
306
+ * https://discord.com/developers/docs/resources/guild#list-guild-members
307
+ */
308
+ export interface RESTGetAPIGuildMembersQuery {
309
+ /**
310
+ * Max number of members to return (1-1000)
311
+ *
312
+ * @default 1
313
+ */
314
+ limit?: number;
315
+ /**
316
+ * The highest user id in the previous page
317
+ *
318
+ * @default 0
319
+ */
320
+ after?: Snowflake;
321
+ }
322
+ /**
323
+ * https://discord.com/developers/docs/resources/guild#list-guild-members
324
+ */
325
+ export type RESTGetAPIGuildMembersResult = APIGuildMember[];
326
+ /**
327
+ * https://discord.com/developers/docs/resources/guild#search-guild-members
328
+ */
329
+ export interface RESTGetAPIGuildMembersSearchQuery {
330
+ /**
331
+ * Query string to match username(s) and nickname(s) against
332
+ */
333
+ query: string;
334
+ /**
335
+ * Max number of members to return (1-1000)
336
+ *
337
+ * @default 1
338
+ */
339
+ limit?: number;
340
+ }
341
+ export type RESTGetAPIGuildMembersSearchResult = APIGuildMember[];
342
+ /**
343
+ * https://discord.com/developers/docs/resources/guild#add-guild-member
344
+ */
345
+ export interface RESTPutAPIGuildMemberJSONBody {
346
+ /**
347
+ * An oauth2 access token granted with the `guilds.join` to the bot's application for the user you want to add to the guild
348
+ */
349
+ access_token: string;
350
+ /**
351
+ * Value to set users nickname to
352
+ *
353
+ * Requires `MANAGE_NICKNAMES` permission
354
+ */
355
+ nick?: string | undefined;
356
+ /**
357
+ * Array of role ids the member is assigned
358
+ *
359
+ * Requires `MANAGE_ROLES` permission
360
+ */
361
+ roles?: Snowflake[] | undefined;
362
+ /**
363
+ * Whether the user is muted in voice channels
364
+ *
365
+ * Requires `MUTE_MEMBERS` permission
366
+ */
367
+ mute?: boolean | undefined;
368
+ /**
369
+ * Whether the user is deafened in voice channels
370
+ *
371
+ * Requires `DEAFEN_MEMBERS` permission
372
+ */
373
+ deaf?: boolean | undefined;
374
+ }
375
+ export type RESTPutAPIGuildMemberResult = APIGuildMember | undefined;
376
+ /**
377
+ * https://discord.com/developers/docs/resources/guild#modify-guild-member
378
+ */
379
+ export interface RESTPatchAPIGuildMemberJSONBody {
380
+ /**
381
+ * Value to set users nickname to
382
+ *
383
+ * Requires `MANAGE_NICKNAMES` permission
384
+ */
385
+ nick?: string | null | undefined;
386
+ /**
387
+ * Array of role ids the member is assigned
388
+ *
389
+ * Requires `MANAGE_ROLES` permission
390
+ */
391
+ roles?: Snowflake[] | null | undefined;
392
+ /**
393
+ * Whether the user is muted in voice channels. Will throw a 400 if the user is not in a voice channel
394
+ *
395
+ * Requires `MUTE_MEMBERS` permission
396
+ */
397
+ mute?: boolean | null | undefined;
398
+ /**
399
+ * Whether the user is deafened in voice channels. Will throw a 400 if the user is not in a voice channel
400
+ *
401
+ * Requires `DEAFEN_MEMBERS` permission
402
+ */
403
+ deaf?: boolean | null | undefined;
404
+ /**
405
+ * ID of channel to move user to (if they are connected to voice)
406
+ *
407
+ * Requires `MOVE_MEMBERS` permission
408
+ */
409
+ channel_id?: Snowflake | null | undefined;
410
+ /**
411
+ * Timestamp of when the time out will be removed; until then, they cannot interact with the guild
412
+ */
413
+ communication_disabled_until?: string | null | undefined;
414
+ }
415
+ /**
416
+ * https://discord.com/developers/docs/resources/guild#add-guild-member
417
+ */
418
+ export type RESTPatchAPIGuildMemberResult = APIGuildMember;
419
+ /**
420
+ * https://discord.com/developers/docs/resources/guild#modify-current-user-nick
421
+ *
422
+ * @deprecated Use [Modify Current Member](https://discord.com/developers/docs/resources/guild#modify-current-member) instead.
423
+ */
424
+ export interface RESTPatchAPICurrentGuildMemberNicknameJSONBody {
425
+ /**
426
+ * Value to set users nickname to
427
+ *
428
+ * Requires `CHANGE_NICKNAME` permission
429
+ */
430
+ nick?: string | null | undefined;
431
+ }
432
+ /**
433
+ * https://discord.com/developers/docs/resources/guild#modify-current-member
434
+ */
435
+ export interface RESTPatchAPICurrentGuildMemberJSONBody {
436
+ /**
437
+ * Value to set users nickname to
438
+ *
439
+ * Requires `CHANGE_NICKNAME` permission
440
+ */
441
+ nick?: string | null | undefined;
442
+ }
443
+ /**
444
+ * https://discord.com/developers/docs/resources/guild#modify-current-user-nick
445
+ *
446
+ * @deprecated Use [Modify Current Member](https://discord.com/developers/docs/resources/guild#modify-current-member) instead.
447
+ */
448
+ export type RESTPatchAPICurrentGuildMemberNicknameResult = StrictRequired<RESTPatchAPICurrentGuildMemberNicknameJSONBody>;
449
+ /**
450
+ * https://discord.com/developers/docs/resources/guild#add-guild-member-role
451
+ */
452
+ export type RESTPutAPIGuildMemberRoleResult = never;
453
+ /**
454
+ * https://discord.com/developers/docs/resources/guild#remove-guild-member-role
455
+ */
456
+ export type RESTDeleteAPIGuildMemberRoleResult = never;
457
+ /**
458
+ * https://discord.com/developers/docs/resources/guild#remove-guild-member
459
+ */
460
+ export type RESTDeleteAPIGuildMemberResult = never;
461
+ /**
462
+ * https://discord.com/developers/docs/resources/guild#get-guild-bans
463
+ */
464
+ export type RESTGetAPIGuildBansResult = APIBan[];
465
+ /**
466
+ * https://discord.com/developers/docs/resources/guild#get-guild-bans
467
+ */
468
+ export interface RESTGetAPIGuildBansQuery {
469
+ /**
470
+ * Consider only users before given user id
471
+ */
472
+ before?: Snowflake;
473
+ /**
474
+ * Consider only users after given user id
475
+ */
476
+ after?: Snowflake;
477
+ /**
478
+ * Number of users to return (1-1000)
479
+ *
480
+ * @default 1000
481
+ */
482
+ limit?: number;
483
+ }
484
+ /**
485
+ * https://discord.com/developers/docs/resources/guild#get-guild-ban
486
+ */
487
+ export type RESTGetAPIGuildBanResult = APIBan;
488
+ /**
489
+ * https://discord.com/developers/docs/resources/guild#create-guild-ban
490
+ */
491
+ export interface RESTPutAPIGuildBanJSONBody {
492
+ /**
493
+ * Number of days to delete messages for (0-7)
494
+ *
495
+ * @deprecated use `delete_message_seconds` instead
496
+ */
497
+ delete_message_days?: number | undefined;
498
+ /**
499
+ * Number of seconds to delete messages for, between 0 and 604800 (7 days)
500
+ */
501
+ delete_message_seconds?: number | undefined;
502
+ }
503
+ /**
504
+ * https://discord.com/developers/docs/resources/guild#create-guild-ban
505
+ */
506
+ export type RESTPutAPIGuildBanResult = never;
507
+ /**
508
+ * https://discord.com/developers/docs/resources/guild#remove-guild-ban
509
+ */
510
+ export type RESTDeleteAPIGuildBanResult = never;
511
+ /**
512
+ * https://discord.com/developers/docs/resources/guild#bulk-guild-ban
513
+ */
514
+ export interface RESTPostAPIGuildBulkBanJSONBody {
515
+ /**
516
+ * List of user ids to ban (max 200)
517
+ */
518
+ user_ids: Snowflake[];
519
+ /**
520
+ * Number of seconds to delete messages for, between 0 and 604800 (7 days)
521
+ */
522
+ delete_message_seconds?: number | undefined;
523
+ }
524
+ /**
525
+ * https://discord.com/developers/docs/resources/guild#bulk-guild-ban
526
+ */
527
+ export interface RESTPostAPIGuildBulkBanResult {
528
+ /**
529
+ * List of user ids, that were successfully banned
530
+ */
531
+ banned_users: Snowflake[];
532
+ /**
533
+ * List of user ids, that were not banned
534
+ */
535
+ failed_users: Snowflake[];
536
+ }
537
+ /**
538
+ * https://discord.com/developers/docs/resources/guild#get-guild-roles
539
+ */
540
+ export type RESTGetAPIGuildRolesResult = APIRole[];
541
+ /**
542
+ * https://discord.com/developers/docs/resources/guild#get-guild-role
543
+ */
544
+ export type RESTGetAPIGuildRoleResult = APIRole;
545
+ /**
546
+ * https://discord.com/developers/docs/resources/guild#create-guild-role
547
+ */
548
+ export interface RESTPostAPIGuildRoleJSONBody {
549
+ /**
550
+ * Name of the role
551
+ *
552
+ * @default "new role"
553
+ */
554
+ name?: string | null | undefined;
555
+ /**
556
+ * Bitwise value of the enabled/disabled permissions
557
+ *
558
+ * @default "default role permissions in guild"
559
+ */
560
+ permissions?: Permissions | null | undefined;
561
+ /**
562
+ * RGB color value
563
+ *
564
+ * @default 0
565
+ */
566
+ color?: number | null | undefined;
567
+ /**
568
+ * Whether the role should be displayed separately in the sidebar
569
+ *
570
+ * @default false
571
+ */
572
+ hoist?: boolean | null | undefined;
573
+ /**
574
+ * The role's icon image (if the guild has the `ROLE_ICONS` feature)
575
+ */
576
+ icon?: string | null | undefined;
577
+ /**
578
+ * The role's unicode emoji as a standard emoji (if the guild has the `ROLE_ICONS` feature)
579
+ */
580
+ unicode_emoji?: string | null | undefined;
581
+ /**
582
+ * Whether the role should be mentionable
583
+ *
584
+ * @default false
585
+ */
586
+ mentionable?: boolean | null | undefined;
587
+ }
588
+ /**
589
+ * https://discord.com/developers/docs/resources/guild#create-guild-role
590
+ */
591
+ export type RESTPostAPIGuildRoleResult = APIRole;
592
+ /**
593
+ * https://discord.com/developers/docs/resources/guild#modify-guild-role-positions
594
+ */
595
+ export type RESTPatchAPIGuildRolePositionsJSONBody = {
596
+ /**
597
+ * Role id
598
+ */
599
+ id: Snowflake;
600
+ /**
601
+ * Sorting position of the role
602
+ */
603
+ position?: number | undefined;
604
+ }[];
605
+ /**
606
+ * https://discord.com/developers/docs/resources/guild#modify-guild-role-positions
607
+ */
608
+ export type RESTPatchAPIGuildRolePositionsResult = APIRole[];
609
+ /**
610
+ * https://discord.com/developers/docs/resources/guild#modify-guild-role
611
+ */
612
+ export interface RESTPatchAPIGuildRoleJSONBody {
613
+ /**
614
+ * Name of the role
615
+ */
616
+ name?: string | null | undefined;
617
+ /**
618
+ * Bitwise value of the enabled/disabled permissions
619
+ */
620
+ permissions?: Permissions | null | undefined;
621
+ /**
622
+ * RGB color value
623
+ */
624
+ color?: number | null | undefined;
625
+ /**
626
+ * Whether the role should be displayed separately in the sidebar
627
+ */
628
+ hoist?: boolean | null | undefined;
629
+ /**
630
+ * The role's icon image (if the guild has the `ROLE_ICONS` feature)
631
+ */
632
+ icon?: string | null | undefined;
633
+ /**
634
+ * The role's unicode emoji as a standard emoji (if the guild has the `ROLE_ICONS` feature)
635
+ */
636
+ unicode_emoji?: string | null | undefined;
637
+ /**
638
+ * Whether the role should be mentionable
639
+ */
640
+ mentionable?: boolean | null | undefined;
641
+ }
642
+ /**
643
+ * https://discord.com/developers/docs/resources/guild#modify-guild-role
644
+ */
645
+ export type RESTPatchAPIGuildRoleResult = APIRole;
646
+ /**
647
+ * https://discord.com/developers/docs/resources/guild#delete-guild-role
648
+ */
649
+ export type RESTDeleteAPIGuildRoleResult = never;
650
+ /**
651
+ * https://discord.com/developers/docs/resources/guild#get-guild-prune-count
652
+ */
653
+ export interface RESTGetAPIGuildPruneCountQuery {
654
+ /**
655
+ * Number of days to count prune for (1 or more)
656
+ *
657
+ * @default 7
658
+ */
659
+ days?: number;
660
+ /**
661
+ * Role(s) to include
662
+ *
663
+ * While this is typed as a string, it represents an array of
664
+ * role IDs delimited by commas
665
+ *
666
+ * See https://discord.com/developers/docs/resources/guild#get-guild-prune-count-query-string-params
667
+ */
668
+ include_roles?: string;
669
+ }
670
+ /**
671
+ * https://discord.com/developers/docs/resources/guild#get-guild-prune-count
672
+ */
673
+ export interface RESTGetAPIGuildPruneCountResult {
674
+ pruned: number;
675
+ }
676
+ /**
677
+ * https://discord.com/developers/docs/resources/guild#begin-guild-prune
678
+ */
679
+ export interface RESTPostAPIGuildPruneJSONBody {
680
+ /**
681
+ * Number of days to count prune for (1 or more)
682
+ *
683
+ * @default 7
684
+ */
685
+ days?: number | undefined;
686
+ /**
687
+ * Whether `pruned is returned, discouraged for large guilds
688
+ *
689
+ * @default true
690
+ */
691
+ compute_prune_count?: boolean | undefined;
692
+ /**
693
+ * Role(s) to include
694
+ */
695
+ include_roles?: Snowflake[] | undefined;
696
+ }
697
+ /**
698
+ * https://discord.com/developers/docs/resources/guild#begin-guild-prune
699
+ */
700
+ export interface RESTPostAPIGuildPruneResult {
701
+ pruned: number | null;
702
+ }
703
+ /**
704
+ * https://discord.com/developers/docs/resources/guild#get-guild-voice-regions
705
+ */
706
+ export type RESTGetAPIGuildVoiceRegionsResult = APIVoiceRegion[];
707
+ /**
708
+ * https://discord.com/developers/docs/resources/guild#get-guild-invites
709
+ */
710
+ export type RESTGetAPIGuildInvitesResult = APIExtendedInvite[];
711
+ /**
712
+ * https://discord.com/developers/docs/resources/guild#get-guild-integrations
713
+ */
714
+ export type RESTGetAPIGuildIntegrationsResult = APIGuildIntegration[];
715
+ /**
716
+ * https://discord.com/developers/docs/resources/guild#delete-guild-integration
717
+ */
718
+ export type RESTDeleteAPIGuildIntegrationResult = never;
719
+ /**
720
+ * https://discord.com/developers/docs/resources/guild#get-guild-widget-settings
721
+ */
722
+ export type RESTGetAPIGuildWidgetSettingsResult = APIGuildWidgetSettings;
723
+ /**
724
+ * https://discord.com/developers/docs/resources/guild#modify-guild-widget
725
+ */
726
+ export type RESTPatchAPIGuildWidgetSettingsJSONBody = StrictPartial<APIGuildWidgetSettings>;
727
+ /**
728
+ * https://discord.com/developers/docs/resources/guild#modify-guild-widget
729
+ */
730
+ export type RESTPatchAPIGuildWidgetSettingsResult = APIGuildWidgetSettings;
731
+ /**
732
+ * https://discord.com/developers/docs/resources/guild#get-guild-widget
733
+ */
734
+ export type RESTGetAPIGuildWidgetJSONResult = APIGuildWidget;
735
+ /**
736
+ * https://discord.com/developers/docs/resources/guild#get-guild-vanity-url
737
+ */
738
+ export interface RESTGetAPIGuildVanityUrlResult {
739
+ code: string | null;
740
+ uses: number;
741
+ }
742
+ /**
743
+ * https://discord.com/developers/docs/resources/guild#get-guild-widget-image
744
+ */
745
+ export interface RESTGetAPIGuildWidgetImageQuery {
746
+ /**
747
+ * Style of the widget image returned
748
+ *
749
+ * @default "shield"
750
+ */
751
+ style?: GuildWidgetStyle;
752
+ }
753
+ /**
754
+ * Note: while the return type is `ArrayBuffer`, the expected result is
755
+ * a buffer of sorts (depends if in browser or on node.js/deno).
756
+ */
757
+ export type RESTGetAPIGuildWidgetImageResult = ArrayBuffer;
758
+ export type RESTGetAPIGuildMemberVerificationResult = APIGuildMembershipScreening;
759
+ export interface RESTPatchAPIGuildMemberVerificationJSONBody {
760
+ /**
761
+ * Whether Membership Screening is enabled
762
+ */
763
+ enabled?: boolean | undefined;
764
+ /**
765
+ * Array of field objects serialized in a string
766
+ */
767
+ form_fields?: string | undefined;
768
+ /**
769
+ * The server description to show in the screening form
770
+ */
771
+ description?: string | null | undefined;
772
+ }
773
+ export type RESTPatchAPIGuildMemberVerificationResult = APIGuildMembershipScreening;
774
+ /**
775
+ * https://discord.com/developers/docs/resources/guild#modify-current-user-voice-state
776
+ */
777
+ export interface RESTPatchAPIGuildVoiceStateCurrentMemberJSONBody {
778
+ /**
779
+ * The id of the channel the user is currently in
780
+ */
781
+ channel_id?: Snowflake | undefined;
782
+ /**
783
+ * Toggles the user's suppress state
784
+ */
785
+ suppress?: boolean | undefined;
786
+ /**
787
+ * Sets the user's request to speak
788
+ */
789
+ request_to_speak_timestamp?: string | null | undefined;
790
+ }
791
+ /**
792
+ * https://discord.com/developers/docs/resources/guild#modify-current-user-voice-state
793
+ */
794
+ export type RESTPatchAPIGuildVoiceStateCurrentMemberResult = never;
795
+ /**
796
+ * https://discord.com/developers/docs/resources/guild#modify-user-voice-state
797
+ */
798
+ export interface RESTPatchAPIGuildVoiceStateUserJSONBody {
799
+ /**
800
+ * The id of the channel the user is currently in
801
+ */
802
+ channel_id: Snowflake;
803
+ /**
804
+ * Toggles the user's suppress state
805
+ */
806
+ suppress?: boolean | undefined;
807
+ }
808
+ /**
809
+ * https://discord.com/developers/docs/resources/guild#modify-user-voice-state
810
+ */
811
+ export type RESTPatchAPIGuildVoiceStateUserResult = never;
812
+ /**
813
+ * https://discord.com/developers/docs/resources/guild#get-guild-welcome-screen
814
+ */
815
+ export type RESTGetAPIGuildWelcomeScreenResult = APIGuildWelcomeScreen;
816
+ /**
817
+ * https://discord.com/developers/docs/resources/guild#modify-guild-welcome-screen
818
+ */
819
+ export type RESTPatchAPIGuildWelcomeScreenJSONBody = Nullable<StrictPartial<APIGuildWelcomeScreen>> & {
820
+ /**
821
+ * Whether the welcome screen is enabled
822
+ */
823
+ enabled?: boolean | null | undefined;
824
+ };
825
+ /**
826
+ * https://discord.com/developers/docs/resources/guild#modify-guild-welcome-screen
827
+ */
828
+ export type RESTPatchAPIGuildWelcomeScreenResult = APIGuildWelcomeScreen;
829
+ /**
830
+ * https://discord.com/developers/docs/resources/guild#get-guild-onboarding
831
+ */
832
+ export type RESTGetAPIGuildOnboardingResult = APIGuildOnboarding;
833
+ /**
834
+ * https://discord.com/developers/docs/resources/guild#modify-guild-onboarding
835
+ */
836
+ export type RESTPutAPIGuildOnboardingJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<Partial<Pick<APIGuildOnboarding, 'default_channel_ids' | 'enabled' | 'mode'>>> & {
837
+ /**
838
+ * Prompts shown during onboarding and in customize community
839
+ */
840
+ prompts?: RESTAPIModifyGuildOnboardingPromptData[] | undefined;
841
+ };
842
+ export type RESTAPIModifyGuildOnboardingPromptData = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<Partial<Omit<APIGuildOnboardingPrompt, 'guild_id' | 'id' | 'options' | 'title'>>> & Pick<APIGuildOnboardingPrompt, 'id' | 'title'> & {
843
+ /**
844
+ * Options available within the prompt
845
+ */
846
+ options: RESTAPIModifyGuildOnboardingPromptOptionData[];
847
+ };
848
+ export type RESTAPIModifyGuildOnboardingPromptOptionData = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<Partial<Omit<APIGuildOnboardingPromptOption, 'emoji' | 'guild_id' | 'title'>>> & Pick<APIGuildOnboardingPromptOption, 'title'> & {
849
+ /**
850
+ * Emoji id
851
+ */
852
+ emoji_id?: Snowflake | null | undefined;
853
+ /**
854
+ * Emoji name
855
+ */
856
+ emoji_name?: string | null | undefined;
857
+ /**
858
+ * Whether this emoji is animated
859
+ */
860
+ emoji_animated?: boolean | null | undefined;
861
+ };
862
+ /**
863
+ * https://discord.com/developers/docs/resources/guild#modify-guild-onboarding
864
+ */
865
+ export type RESTPutAPIGuildOnboardingResult = APIGuildOnboarding;