seyfert 1.5.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 (427) 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 +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 +18 -9
  50. package/lib/cache/index.js +319 -21
  51. package/lib/cache/resources/bans.d.ts +9 -6
  52. package/lib/cache/resources/bans.js +13 -4
  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 +22 -6
  67. package/lib/cache/resources/messages.d.ts +11 -7
  68. package/lib/cache/resources/messages.js +19 -7
  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 +28 -20
  84. package/lib/client/base.js +58 -56
  85. package/lib/client/client.d.ts +7 -16
  86. package/lib/client/client.js +29 -31
  87. package/lib/client/collectors.d.ts +10 -10
  88. package/lib/client/collectors.js +26 -1
  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 +14 -14
  98. package/lib/client/workerclient.js +112 -66
  99. package/lib/commands/applications/chat.d.ts +35 -34
  100. package/lib/commands/applications/chat.js +5 -9
  101. package/lib/commands/applications/chatcontext.d.ts +17 -17
  102. package/lib/commands/applications/chatcontext.js +5 -5
  103. package/lib/commands/applications/menu.d.ts +2 -3
  104. package/lib/commands/applications/menu.js +2 -5
  105. package/lib/commands/applications/menucontext.d.ts +14 -13
  106. package/lib/commands/applications/menucontext.js +9 -9
  107. package/lib/commands/applications/options.d.ts +1 -1
  108. package/lib/commands/applications/options.js +20 -21
  109. package/lib/commands/applications/shared.d.ts +3 -1
  110. package/lib/commands/decorators.d.ts +38 -20
  111. package/lib/commands/decorators.js +17 -18
  112. package/lib/commands/handle.d.ts +64 -0
  113. package/lib/commands/handle.js +685 -0
  114. package/lib/commands/handler.d.ts +27 -18
  115. package/lib/commands/handler.js +290 -164
  116. package/lib/commands/optionresolver.d.ts +13 -13
  117. package/lib/commands/optionresolver.js +23 -28
  118. package/lib/common/bot/watcher.d.ts +4 -33
  119. package/lib/common/bot/watcher.js +0 -109
  120. package/lib/common/index.d.ts +1 -0
  121. package/lib/common/index.js +1 -0
  122. package/lib/common/it/colors.js +48 -49
  123. package/lib/common/it/formatter.d.ts +32 -0
  124. package/lib/common/it/formatter.js +42 -0
  125. package/lib/common/it/logger.d.ts +0 -1
  126. package/lib/common/it/logger.js +3 -3
  127. package/lib/common/it/utils.d.ts +15 -2
  128. package/lib/common/it/utils.js +78 -17
  129. package/lib/common/shorters/application.d.ts +56 -0
  130. package/lib/common/shorters/application.js +81 -0
  131. package/lib/common/shorters/bans.d.ts +4 -5
  132. package/lib/common/shorters/bans.js +3 -3
  133. package/lib/common/shorters/channels.d.ts +7 -6
  134. package/lib/common/shorters/channels.js +19 -15
  135. package/lib/common/shorters/emojis.d.ts +5 -6
  136. package/lib/common/shorters/emojis.js +5 -5
  137. package/lib/common/shorters/guilds.d.ts +18 -16
  138. package/lib/common/shorters/guilds.js +31 -26
  139. package/lib/common/shorters/interaction.d.ts +6 -6
  140. package/lib/common/shorters/interaction.js +3 -2
  141. package/lib/common/shorters/members.d.ts +29 -12
  142. package/lib/common/shorters/members.js +55 -16
  143. package/lib/common/shorters/messages.d.ts +7 -8
  144. package/lib/common/shorters/messages.js +8 -7
  145. package/lib/common/shorters/reactions.d.ts +3 -3
  146. package/lib/common/shorters/reactions.js +11 -11
  147. package/lib/common/shorters/roles.d.ts +9 -7
  148. package/lib/common/shorters/roles.js +26 -7
  149. package/lib/common/shorters/templates.d.ts +7 -8
  150. package/lib/common/shorters/templates.js +7 -7
  151. package/lib/common/shorters/threads.d.ts +6 -7
  152. package/lib/common/shorters/threads.js +6 -9
  153. package/lib/common/shorters/users.d.ts +4 -4
  154. package/lib/common/shorters/users.js +8 -4
  155. package/lib/common/shorters/webhook.d.ts +10 -10
  156. package/lib/common/shorters/webhook.js +10 -9
  157. package/lib/common/types/resolvables.d.ts +2 -2
  158. package/lib/common/types/util.d.ts +3 -1
  159. package/lib/common/types/write.d.ts +1 -1
  160. package/lib/components/ActionRow.d.ts +1 -1
  161. package/lib/components/BaseComponent.d.ts +1 -1
  162. package/lib/components/BaseComponent.js +1 -1
  163. package/lib/components/BaseSelectMenuComponent.d.ts +1 -1
  164. package/lib/components/ButtonComponent.d.ts +17 -7
  165. package/lib/components/ButtonComponent.js +19 -2
  166. package/lib/components/ChannelSelectMenuComponent.d.ts +3 -3
  167. package/lib/components/MentionableSelectMenuComponent.d.ts +2 -2
  168. package/lib/components/RoleSelectMenuComponent.d.ts +2 -2
  169. package/lib/components/StringSelectMenuComponent.d.ts +2 -2
  170. package/lib/components/TextInputComponent.d.ts +2 -2
  171. package/lib/components/UserSelectMenuComponent.d.ts +2 -2
  172. package/lib/components/componentcommand.js +2 -2
  173. package/lib/components/componentcontext.d.ts +10 -9
  174. package/lib/components/componentcontext.js +8 -8
  175. package/lib/components/handler.d.ts +15 -14
  176. package/lib/components/handler.js +89 -93
  177. package/lib/components/index.d.ts +3 -3
  178. package/lib/components/index.js +12 -10
  179. package/lib/components/modalcontext.d.ts +12 -11
  180. package/lib/components/modalcontext.js +2 -2
  181. package/lib/deps/mixer.d.ts +8 -0
  182. package/lib/deps/mixer.js +66 -0
  183. package/lib/events/handler.d.ts +35 -13
  184. package/lib/events/handler.js +58 -25
  185. package/lib/events/hooks/application_command.d.ts +2 -2
  186. package/lib/events/hooks/auto_moderation.d.ts +6 -7
  187. package/lib/events/hooks/auto_moderation.js +4 -4
  188. package/lib/events/hooks/channel.d.ts +2 -2
  189. package/lib/events/hooks/channel.js +4 -7
  190. package/lib/events/hooks/custom.d.ts +3 -3
  191. package/lib/events/hooks/dispatch.d.ts +3 -4
  192. package/lib/events/hooks/dispatch.js +2 -2
  193. package/lib/events/hooks/entitlement.d.ts +5 -37
  194. package/lib/events/hooks/entitlement.js +7 -7
  195. package/lib/events/hooks/guild.d.ts +125 -125
  196. package/lib/events/hooks/guild.js +13 -15
  197. package/lib/events/hooks/integration.d.ts +27 -28
  198. package/lib/events/hooks/integration.js +3 -3
  199. package/lib/events/hooks/interactions.d.ts +2 -2
  200. package/lib/events/hooks/invite.d.ts +18 -17
  201. package/lib/events/hooks/message.d.ts +69 -54
  202. package/lib/events/hooks/message.js +4 -8
  203. package/lib/events/hooks/presence.d.ts +17 -16
  204. package/lib/events/hooks/stage.d.ts +4 -4
  205. package/lib/events/hooks/thread.d.ts +132 -63
  206. package/lib/events/hooks/thread.js +4 -4
  207. package/lib/events/hooks/typing.d.ts +28 -6
  208. package/lib/events/hooks/typing.js +2 -2
  209. package/lib/events/hooks/user.d.ts +3 -3
  210. package/lib/events/hooks/user.js +2 -2
  211. package/lib/events/hooks/voice.d.ts +28 -3
  212. package/lib/events/hooks/voice.js +8 -4
  213. package/lib/events/hooks/webhook.d.ts +1 -1
  214. package/lib/index.d.ts +5 -14
  215. package/lib/index.js +7 -12
  216. package/lib/langs/handler.d.ts +14 -10
  217. package/lib/langs/handler.js +40 -9
  218. package/lib/structures/AutoModerationRule.d.ts +4 -4
  219. package/lib/structures/AutoModerationRule.js +1 -2
  220. package/lib/structures/ClientUser.d.ts +1 -1
  221. package/lib/structures/Entitlement.d.ts +10 -0
  222. package/lib/structures/Entitlement.js +16 -0
  223. package/lib/structures/Guild.d.ts +33 -34
  224. package/lib/structures/Guild.js +5 -2
  225. package/lib/structures/GuildBan.d.ts +6 -6
  226. package/lib/structures/GuildBan.js +2 -1
  227. package/lib/structures/GuildEmoji.d.ts +4 -4
  228. package/lib/structures/GuildEmoji.js +3 -2
  229. package/lib/structures/GuildMember.d.ts +20 -17
  230. package/lib/structures/GuildMember.js +18 -8
  231. package/lib/structures/GuildPreview.d.ts +1 -1
  232. package/lib/structures/GuildRole.d.ts +5 -3
  233. package/lib/structures/GuildRole.js +8 -1
  234. package/lib/structures/GuildTemplate.d.ts +2 -2
  235. package/lib/structures/GuildTemplate.js +1 -1
  236. package/lib/structures/Interaction.d.ts +53 -36
  237. package/lib/structures/Interaction.js +127 -91
  238. package/lib/structures/Message.d.ts +29 -30
  239. package/lib/structures/Message.js +8 -9
  240. package/lib/structures/Poll.d.ts +4 -3
  241. package/lib/structures/Poll.js +6 -2
  242. package/lib/structures/Sticker.d.ts +7 -7
  243. package/lib/structures/Sticker.js +7 -7
  244. package/lib/structures/User.d.ts +5 -4
  245. package/lib/structures/User.js +2 -1
  246. package/lib/structures/VoiceState.d.ts +15 -11
  247. package/lib/structures/VoiceState.js +35 -17
  248. package/lib/structures/Webhook.d.ts +6 -7
  249. package/lib/structures/Webhook.js +6 -7
  250. package/lib/structures/channels.d.ts +11 -10
  251. package/lib/structures/channels.js +70 -65
  252. package/lib/structures/extra/BaseGuild.d.ts +1 -1
  253. package/lib/structures/extra/BaseGuild.js +3 -3
  254. package/lib/structures/extra/BitField.d.ts +1 -1
  255. package/lib/structures/extra/BitField.js +3 -2
  256. package/lib/structures/extra/DiscordBase.js +2 -2
  257. package/lib/structures/extra/Permissions.d.ts +3 -1
  258. package/lib/structures/extra/Permissions.js +8 -3
  259. package/lib/types/gateway.d.ts +1537 -0
  260. package/lib/types/gateway.js +4 -0
  261. package/lib/types/index.d.ts +9 -1
  262. package/lib/types/index.js +28 -1
  263. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.d.ts +5 -0
  264. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/attachment.js +2 -0
  265. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.d.ts +22 -0
  266. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/base.js +2 -0
  267. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.d.ts +4 -0
  268. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/boolean.js +2 -0
  269. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.d.ts +7 -0
  270. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/channel.js +2 -0
  271. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.d.ts +17 -0
  272. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/integer.js +2 -0
  273. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.d.ts +5 -0
  274. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/mentionable.js +2 -0
  275. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.d.ts +17 -0
  276. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/number.js +2 -0
  277. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.d.ts +5 -0
  278. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/role.js +2 -0
  279. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.d.ts +25 -0
  280. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/shared.js +20 -0
  281. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.d.ts +17 -0
  282. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/string.js +2 -0
  283. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.d.ts +11 -0
  284. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommand.js +2 -0
  285. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.d.ts +11 -0
  286. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/subcommandGroup.js +2 -0
  287. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.d.ts +5 -0
  288. package/lib/types/payloads/_interactions/_applicationCommands/_chatInput/user.js +2 -0
  289. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.d.ts +60 -0
  290. package/lib/types/payloads/_interactions/_applicationCommands/chatInput.js +29 -0
  291. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.d.ts +65 -0
  292. package/lib/types/payloads/_interactions/_applicationCommands/contextMenu.js +2 -0
  293. package/lib/types/payloads/_interactions/_applicationCommands/internals.d.ts +8 -0
  294. package/lib/types/payloads/_interactions/_applicationCommands/internals.js +2 -0
  295. package/lib/types/payloads/_interactions/_applicationCommands/permissions.d.ts +54 -0
  296. package/lib/types/payloads/_interactions/_applicationCommands/permissions.js +20 -0
  297. package/lib/types/payloads/_interactions/applicationCommands.d.ts +153 -0
  298. package/lib/types/payloads/_interactions/applicationCommands.js +61 -0
  299. package/lib/types/payloads/_interactions/autocomplete.d.ts +10 -0
  300. package/lib/types/payloads/_interactions/autocomplete.js +2 -0
  301. package/lib/types/payloads/_interactions/base.d.ts +197 -0
  302. package/lib/types/payloads/_interactions/base.js +2 -0
  303. package/lib/types/payloads/_interactions/messageComponents.d.ts +41 -0
  304. package/lib/types/payloads/_interactions/messageComponents.js +2 -0
  305. package/lib/types/payloads/_interactions/modalSubmit.d.ts +35 -0
  306. package/lib/types/payloads/_interactions/modalSubmit.js +2 -0
  307. package/lib/types/payloads/_interactions/ping.d.ts +3 -0
  308. package/lib/types/payloads/_interactions/ping.js +2 -0
  309. package/lib/types/payloads/_interactions/responses.d.ts +112 -0
  310. package/lib/types/payloads/_interactions/responses.js +54 -0
  311. package/lib/types/payloads/application.d.ts +292 -0
  312. package/lib/types/payloads/application.js +117 -0
  313. package/lib/types/payloads/auditLog.d.ts +644 -0
  314. package/lib/types/payloads/auditLog.js +80 -0
  315. package/lib/types/payloads/autoModeration.d.ts +219 -0
  316. package/lib/types/payloads/autoModeration.js +87 -0
  317. package/lib/types/payloads/channel.d.ts +1708 -0
  318. package/lib/types/payloads/channel.js +372 -0
  319. package/lib/types/payloads/emoji.d.ts +48 -0
  320. package/lib/types/payloads/emoji.js +5 -0
  321. package/lib/types/payloads/gateway.d.ts +373 -0
  322. package/lib/types/payloads/gateway.js +82 -0
  323. package/lib/types/payloads/guild.d.ts +1060 -0
  324. package/lib/types/payloads/guild.js +324 -0
  325. package/lib/types/payloads/guildScheduledEvent.d.ts +138 -0
  326. package/lib/types/payloads/guildScheduledEvent.js +32 -0
  327. package/lib/types/payloads/index.d.ts +64 -0
  328. package/lib/types/payloads/index.js +37 -0
  329. package/lib/types/payloads/interactions.d.ts +24 -0
  330. package/lib/types/payloads/interactions.js +23 -0
  331. package/lib/types/payloads/invite.d.ts +121 -0
  332. package/lib/types/payloads/invite.js +23 -0
  333. package/lib/types/payloads/monetization.d.ts +150 -0
  334. package/lib/types/payloads/monetization.js +79 -0
  335. package/lib/types/payloads/oauth2.d.ts +131 -0
  336. package/lib/types/payloads/oauth2.js +135 -0
  337. package/lib/types/payloads/permissions.d.ts +97 -0
  338. package/lib/types/payloads/permissions.js +16 -0
  339. package/lib/types/payloads/poll.d.ts +104 -0
  340. package/lib/types/payloads/poll.js +16 -0
  341. package/lib/types/payloads/stageInstance.d.ts +77 -0
  342. package/lib/types/payloads/stageInstance.js +19 -0
  343. package/lib/types/payloads/sticker.d.ts +123 -0
  344. package/lib/types/payloads/sticker.js +30 -0
  345. package/lib/types/payloads/teams.d.ts +78 -0
  346. package/lib/types/payloads/teams.js +23 -0
  347. package/lib/types/payloads/template.d.ts +62 -0
  348. package/lib/types/payloads/template.js +5 -0
  349. package/lib/types/payloads/user.d.ts +337 -0
  350. package/lib/types/payloads/user.js +167 -0
  351. package/lib/types/payloads/voice.d.ts +89 -0
  352. package/lib/types/payloads/voice.js +5 -0
  353. package/lib/types/payloads/webhook.d.ts +76 -0
  354. package/lib/types/payloads/webhook.js +21 -0
  355. package/lib/types/rest/application.d.ts +57 -0
  356. package/lib/types/rest/application.js +2 -0
  357. package/lib/types/rest/auditLog.d.ts +30 -0
  358. package/lib/types/rest/auditLog.js +2 -0
  359. package/lib/types/rest/autoModeration.d.ts +66 -0
  360. package/lib/types/rest/autoModeration.js +2 -0
  361. package/lib/types/rest/channel.d.ts +712 -0
  362. package/lib/types/rest/channel.js +11 -0
  363. package/lib/types/rest/emoji.d.ts +54 -0
  364. package/lib/types/rest/emoji.js +2 -0
  365. package/lib/types/rest/gateway.d.ts +9 -0
  366. package/lib/types/rest/gateway.js +2 -0
  367. package/lib/types/rest/guild.d.ts +865 -0
  368. package/lib/types/rest/guild.js +2 -0
  369. package/lib/types/rest/guildScheduledEvent.d.ts +126 -0
  370. package/lib/types/rest/guildScheduledEvent.js +2 -0
  371. package/lib/types/rest/index.d.ts +296 -0
  372. package/lib/types/rest/index.js +292 -0
  373. package/lib/types/rest/interactions.d.ts +194 -0
  374. package/lib/types/rest/interactions.js +2 -0
  375. package/lib/types/rest/invite.d.ts +24 -0
  376. package/lib/types/rest/invite.js +2 -0
  377. package/lib/types/rest/monetization.d.ts +82 -0
  378. package/lib/types/rest/monetization.js +11 -0
  379. package/lib/types/rest/oauth2.d.ts +172 -0
  380. package/lib/types/rest/oauth2.js +2 -0
  381. package/lib/types/rest/poll.d.ts +44 -0
  382. package/lib/types/rest/poll.js +2 -0
  383. package/lib/types/rest/stageInstance.d.ts +58 -0
  384. package/lib/types/rest/stageInstance.js +2 -0
  385. package/lib/types/rest/sticker.d.ts +77 -0
  386. package/lib/types/rest/sticker.js +2 -0
  387. package/lib/types/rest/template.d.ts +62 -0
  388. package/lib/types/rest/template.js +2 -0
  389. package/lib/types/rest/user.d.ts +120 -0
  390. package/lib/types/rest/user.js +2 -0
  391. package/lib/types/rest/voice.d.ts +17 -0
  392. package/lib/types/rest/voice.js +2 -0
  393. package/lib/types/rest/webhook.d.ts +250 -0
  394. package/lib/types/rest/webhook.js +2 -0
  395. package/lib/types/utils/index.d.ts +797 -0
  396. package/lib/types/utils/index.js +799 -0
  397. package/lib/websocket/SharedTypes.d.ts +4 -3
  398. package/lib/websocket/SharedTypes.js +1 -1
  399. package/lib/websocket/constants/index.d.ts +0 -1
  400. package/lib/websocket/discord/basesocket.d.ts +7 -7
  401. package/lib/websocket/discord/basesocket.js +34 -22
  402. package/lib/websocket/discord/events/memberUpdate.d.ts +1 -6
  403. package/lib/websocket/discord/events/memberUpdate.js +2 -1
  404. package/lib/websocket/discord/events/presenceUpdate.d.ts +5 -18
  405. package/lib/websocket/discord/events/presenceUpdate.js +5 -6
  406. package/lib/websocket/discord/shard.d.ts +8 -8
  407. package/lib/websocket/discord/shard.js +59 -47
  408. package/lib/websocket/discord/sharder.d.ts +6 -5
  409. package/lib/websocket/discord/sharder.js +11 -10
  410. package/lib/websocket/discord/shared.d.ts +13 -5
  411. package/lib/websocket/discord/socket/custom.d.ts +52 -0
  412. package/lib/websocket/discord/socket/custom.js +283 -0
  413. package/lib/websocket/discord/worker.d.ts +5 -10
  414. package/lib/websocket/discord/workermanager.d.ts +8 -15
  415. package/lib/websocket/discord/workermanager.js +35 -39
  416. package/lib/websocket/structures/index.d.ts +0 -1
  417. package/lib/websocket/structures/index.js +1 -1
  418. package/lib/websocket/structures/timeout.d.ts +0 -1
  419. package/package.json +65 -74
  420. package/lib/cache/adapters/redis.d.ts +0 -37
  421. package/lib/cache/adapters/redis.js +0 -218
  422. package/lib/client/oninteractioncreate.d.ts +0 -4
  423. package/lib/client/oninteractioncreate.js +0 -198
  424. package/lib/client/onmessagecreate.d.ts +0 -13
  425. package/lib/client/onmessagecreate.js +0 -410
  426. package/lib/structures/extra/functions.d.ts +0 -12
  427. package/lib/structures/extra/functions.js +0 -70
@@ -0,0 +1,712 @@
1
+ import type { Snowflake, ChannelType, VideoQualityMode, OverwriteType, Permissions } from '..';
2
+ import type { APIChannel, ThreadAutoArchiveDuration, ChannelFlags, APIGuildForumTag, APIGuildForumDefaultReactionEmoji, SortOrderType, ForumLayoutType, APIMessage, APIMessageReference, APIEmbed, APIAllowedMentions, APIActionRowComponent, APIMessageActionRowComponent, MessageFlags, APIUser, APIExtendedInvite, InviteTargetType, APIFollowedChannel, ThreadChannelType, APIThreadMember, APIThreadList } from '../payloads';
3
+ import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface, StrictPartial } from '../utils';
4
+ import type { RESTAPIPollCreate } from './poll';
5
+ export interface APIChannelPatchOverwrite extends RESTPutAPIChannelPermissionJSONBody {
6
+ id: Snowflake;
7
+ }
8
+ /**
9
+ * https://discord.com/developers/docs/resources/channel#get-channel
10
+ */
11
+ export type RESTGetAPIChannelResult = APIChannel;
12
+ /**
13
+ * https://discord.com/developers/docs/resources/channel#modify-channel
14
+ */
15
+ export interface RESTPatchAPIChannelJSONBody {
16
+ /**
17
+ * 1-100 character channel name
18
+ *
19
+ * Channel types: all
20
+ */
21
+ name?: string | undefined;
22
+ /**
23
+ * The type of channel; only conversion between `text` and `news`
24
+ * is supported and only in guilds with the "NEWS" feature
25
+ *
26
+ * Channel types: text, news
27
+ */
28
+ type?: ChannelType.GuildAnnouncement | ChannelType.GuildText | undefined;
29
+ /**
30
+ * The position of the channel in the left-hand listing
31
+ *
32
+ * Channel types: all excluding newsThread, publicThread, privateThread
33
+ */
34
+ position?: number | null | undefined;
35
+ /**
36
+ * 0-1024 character channel topic (0-4096 characters for thread-only channels)
37
+ *
38
+ * Channel types: text, news, forum, media
39
+ */
40
+ topic?: string | null | undefined;
41
+ /**
42
+ * Whether the channel is nsfw
43
+ *
44
+ * Channel types: text, voice, news, forum, media
45
+ */
46
+ nsfw?: boolean | null | undefined;
47
+ /**
48
+ * Amount of seconds a user has to wait before sending another message (0-21600);
49
+ * bots, as well as users with the permission `MANAGE_MESSAGES` or `MANAGE_CHANNELS`,
50
+ * are unaffected
51
+ *
52
+ * Channel types: text, newsThread, publicThread, privateThread, forum, media
53
+ */
54
+ rate_limit_per_user?: number | null | undefined;
55
+ /**
56
+ * The bitrate (in bits) of the voice channel; 8000 to 96000 (128000 for VIP servers)
57
+ *
58
+ * Channel types: voice
59
+ */
60
+ bitrate?: number | null | undefined;
61
+ /**
62
+ * The user limit of the voice channel; 0 refers to no limit, 1 to 99 refers to a user limit
63
+ *
64
+ * Channel types: voice
65
+ */
66
+ user_limit?: number | null | undefined;
67
+ /**
68
+ * Channel or category-specific permissions
69
+ *
70
+ * Channel types: all excluding newsThread, publicThread, privateThread
71
+ */
72
+ permission_overwrites?: APIChannelPatchOverwrite[] | null | undefined;
73
+ /**
74
+ * ID of the new parent category for a channel
75
+ *
76
+ * Channel types: text, voice, news, stage, forum, media
77
+ */
78
+ parent_id?: Snowflake | null | undefined;
79
+ /**
80
+ * Voice region id for the voice or stage channel, automatic when set to `null`
81
+ *
82
+ * See https://discord.com/developers/docs/resources/voice#voice-region-object
83
+ */
84
+ rtc_region?: string | null | undefined;
85
+ /**
86
+ * The camera video quality mode of the voice channel
87
+ *
88
+ * See https://discord.com/developers/docs/resources/channel#channel-object-video-quality-modes
89
+ */
90
+ video_quality_mode?: VideoQualityMode | null | undefined;
91
+ /**
92
+ * Whether the thread should be archived
93
+ *
94
+ * Channel types: newsThread, publicThread, privateThread
95
+ */
96
+ archived?: boolean | undefined;
97
+ /**
98
+ * The amount of time in minutes to wait before automatically archiving the thread
99
+ *
100
+ * Channel types: newsThread, publicThread, privateThread
101
+ */
102
+ auto_archive_duration?: ThreadAutoArchiveDuration | undefined;
103
+ /**
104
+ * Whether the thread should be locked
105
+ *
106
+ * Channel types: newsThread, publicThread, privateThread
107
+ */
108
+ locked?: boolean | undefined;
109
+ /**
110
+ * Default duration for newly created threads, in minutes, to automatically archive the thread after recent activity
111
+ *
112
+ * Channel types: text, news, forum, media
113
+ */
114
+ default_auto_archive_duration?: ThreadAutoArchiveDuration | undefined;
115
+ /**
116
+ * Channel flags combined as a bit field.
117
+ */
118
+ flags?: ChannelFlags | undefined;
119
+ /**
120
+ * The set of tags that can be used in a thread-only channel; limited to 20
121
+ *
122
+ * Channel types: forum, media
123
+ */
124
+ available_tags?: (Partial<APIGuildForumTag> & Pick<APIGuildForumTag, 'name'>)[] | undefined;
125
+ /**
126
+ * Whether non-moderators can add other non-moderators to the thread
127
+ *
128
+ * Channel types: privateThread
129
+ */
130
+ invitable?: boolean | undefined;
131
+ /**
132
+ * The emoji to show in the add reaction button on a thread in a thread-only channel
133
+ *
134
+ * Channel types: forum, media
135
+ */
136
+ default_reaction_emoji?: APIGuildForumDefaultReactionEmoji | undefined;
137
+ /**
138
+ * The initial `rate_limit_per_user` to set on newly created threads in a channel.
139
+ * This field is copied to the thread at creation time and does not live update
140
+ *
141
+ * Channel types: text, forum, media
142
+ */
143
+ default_thread_rate_limit_per_user?: number | null | undefined;
144
+ /**
145
+ * The default sort order type used to order posts in a thread-only channel
146
+ *
147
+ * Channel types: forum, media
148
+ */
149
+ default_sort_order?: SortOrderType | null | undefined;
150
+ /**
151
+ * The default layout type used to display posts in a forum channel
152
+ *
153
+ * Channel types: forum
154
+ */
155
+ default_forum_layout?: ForumLayoutType | undefined;
156
+ /**
157
+ * The ids of the set of tags that have been applied to a thread-only channel; limited to 5
158
+ *
159
+ * Channel types: forum, media
160
+ */
161
+ applied_tags?: Snowflake[] | undefined;
162
+ }
163
+ /**
164
+ * https://discord.com/developers/docs/resources/channel#modify-channel
165
+ */
166
+ export type RESTPatchAPIChannelResult = APIChannel;
167
+ /**
168
+ * https://discord.com/developers/docs/resources/channel#deleteclose-channel
169
+ */
170
+ export type RESTDeleteAPIChannelResult = APIChannel;
171
+ /**
172
+ * https://discord.com/developers/docs/resources/channel#get-channel-messages
173
+ */
174
+ export interface RESTGetAPIChannelMessagesQuery {
175
+ /**
176
+ * Get messages around this message ID
177
+ */
178
+ around?: Snowflake;
179
+ /**
180
+ * Get messages before this message ID
181
+ */
182
+ before?: Snowflake;
183
+ /**
184
+ * Get messages after this message ID
185
+ */
186
+ after?: Snowflake;
187
+ /**
188
+ * Max number of messages to return (1-100)
189
+ *
190
+ * @default 50
191
+ */
192
+ limit?: number;
193
+ }
194
+ /**
195
+ * https://discord.com/developers/docs/resources/channel#get-channel-messages
196
+ */
197
+ export type RESTGetAPIChannelMessagesResult = APIMessage[];
198
+ /**
199
+ * https://discord.com/developers/docs/resources/channel#get-channel-message
200
+ */
201
+ export type RESTGetAPIChannelMessageResult = APIMessage;
202
+ /**
203
+ * https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
204
+ */
205
+ export type APIMessageReferenceSend = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<Required<Pick<APIMessageReference, 'message_id'>>> & StrictPartial<APIMessageReference> & {
206
+ /**
207
+ * Whether to error if the referenced message doesn't exist instead of sending as a normal (non-reply) message
208
+ *
209
+ * @default true
210
+ */
211
+ fail_if_not_exists?: boolean | undefined;
212
+ };
213
+ /**
214
+ * https://discord.com/developers/docs/resources/channel#attachment-object
215
+ */
216
+ export interface RESTAPIAttachment {
217
+ /**
218
+ * Attachment id or a number that matches `n` in `files[n]`
219
+ */
220
+ id: Snowflake | number;
221
+ /**
222
+ * Name of the file
223
+ */
224
+ filename?: string | undefined;
225
+ /**
226
+ * Description of the file
227
+ */
228
+ description?: string | undefined;
229
+ }
230
+ /**
231
+ * https://discord.com/developers/docs/resources/channel#create-message
232
+ */
233
+ export interface RESTPostAPIChannelMessageJSONBody {
234
+ /**
235
+ * The message contents (up to 2000 characters)
236
+ */
237
+ content?: string | undefined;
238
+ /**
239
+ * A nonce that can be used for optimistic message sending
240
+ */
241
+ nonce?: number | string | undefined;
242
+ /**
243
+ * `true` if this is a TTS message
244
+ */
245
+ tts?: boolean | undefined;
246
+ /**
247
+ * Embedded `rich` content (up to 6000 characters)
248
+ *
249
+ * See https://discord.com/developers/docs/resources/channel#embed-object
250
+ */
251
+ embeds?: APIEmbed[] | undefined;
252
+ /**
253
+ * Allowed mentions for a message
254
+ *
255
+ * See https://discord.com/developers/docs/resources/channel#allowed-mentions-object
256
+ */
257
+ allowed_mentions?: APIAllowedMentions | undefined;
258
+ /**
259
+ * Include to make your message a reply
260
+ *
261
+ * See https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
262
+ */
263
+ message_reference?: APIMessageReferenceSend | undefined;
264
+ /**
265
+ * The components to include with the message
266
+ *
267
+ * See https://discord.com/developers/docs/interactions/message-components#component-object
268
+ */
269
+ components?: APIActionRowComponent<APIMessageActionRowComponent>[] | undefined;
270
+ /**
271
+ * IDs of up to 3 stickers in the server to send in the message
272
+ *
273
+ * See https://discord.com/developers/docs/resources/sticker#sticker-object
274
+ */
275
+ sticker_ids?: [Snowflake, Snowflake, Snowflake] | [Snowflake, Snowflake] | [Snowflake] | undefined;
276
+ /**
277
+ * Attachment objects with filename and description
278
+ */
279
+ attachments?: RESTAPIAttachment[] | undefined;
280
+ /**
281
+ * Message flags combined as a bitfield
282
+ */
283
+ flags?: MessageFlags | undefined;
284
+ /**
285
+ * If `true` and nonce is present, it will be checked for uniqueness in the past few minutes.
286
+ * If another message was created by the same author with the same nonce, that message will be returned and no new message will be created.
287
+ */
288
+ enforce_nonce?: boolean | undefined;
289
+ /**
290
+ * A poll!
291
+ */
292
+ poll?: RESTAPIPollCreate | undefined;
293
+ }
294
+ /**
295
+ * https://discord.com/developers/docs/resources/channel#create-message
296
+ */
297
+ export type RESTPostAPIChannelMessageFormDataBody = (Record<`files[${bigint}]`, unknown> & {
298
+ /**
299
+ * JSON stringified message body
300
+ */
301
+ payload_json?: string | undefined;
302
+ }) | (Record<`files[${bigint}]`, unknown> & RESTPostAPIChannelMessageJSONBody);
303
+ /**
304
+ * https://discord.com/developers/docs/resources/channel#create-message
305
+ */
306
+ export type RESTPostAPIChannelMessageResult = APIMessage;
307
+ /**
308
+ * https://discord.com/developers/docs/resources/channel#crosspost-message
309
+ */
310
+ export type RESTPostAPIChannelMessageCrosspostResult = APIMessage;
311
+ /**
312
+ * https://discord.com/developers/docs/resources/channel#create-reaction
313
+ */
314
+ export type RESTPutAPIChannelMessageReactionResult = never;
315
+ /**
316
+ * https://discord.com/developers/docs/resources/channel#delete-own-reaction
317
+ */
318
+ export type RESTDeleteAPIChannelMessageOwnReaction = never;
319
+ /**
320
+ * https://discord.com/developers/docs/resources/channel#delete-user-reaction
321
+ */
322
+ export type RESTDeleteAPIChannelMessageUserReactionResult = never;
323
+ /**
324
+ * https://discord.com/developers/docs/resources/channel#get-reactions
325
+ */
326
+ export interface RESTGetAPIChannelMessageReactionUsersQuery {
327
+ /**
328
+ * The reaction type
329
+ */
330
+ type?: ReactionType;
331
+ /**
332
+ * Get users after this user ID
333
+ */
334
+ after?: Snowflake;
335
+ /**
336
+ * Max number of users to return (1-100)
337
+ *
338
+ * @default 25
339
+ */
340
+ limit?: number;
341
+ }
342
+ /**
343
+ * https://discord.com/developers/docs/resources/channel#get-reactions-reaction-types
344
+ */
345
+ export declare enum ReactionType {
346
+ Normal = 0,
347
+ Super = 1
348
+ }
349
+ /**
350
+ * https://discord.com/developers/docs/resources/channel#get-reactions
351
+ */
352
+ export type RESTGetAPIChannelMessageReactionUsersResult = APIUser[];
353
+ /**
354
+ * https://discord.com/developers/docs/resources/channel#delete-all-reactions
355
+ */
356
+ export type RESTDeleteAPIChannelAllMessageReactionsResult = never;
357
+ /**
358
+ * https://discord.com/developers/docs/resources/channel#delete-all-reactions-for-emoji
359
+ */
360
+ export type RESTDeleteAPIChannelMessageReactionResult = never;
361
+ /**
362
+ * https://discord.com/developers/docs/resources/channel#edit-message
363
+ */
364
+ export interface RESTPatchAPIChannelMessageJSONBody {
365
+ /**
366
+ * The new message contents (up to 2000 characters)
367
+ */
368
+ content?: string | null | undefined;
369
+ /**
370
+ * Embedded `rich` content (up to 6000 characters)
371
+ *
372
+ * See https://discord.com/developers/docs/resources/channel#embed-object
373
+ */
374
+ embeds?: APIEmbed[] | null | undefined;
375
+ /**
376
+ * Edit the flags of a message (only `SUPPRESS_EMBEDS` can currently be set/unset)
377
+ *
378
+ * When specifying flags, ensure to include all previously set flags/bits
379
+ * in addition to ones that you are modifying
380
+ *
381
+ * See https://discord.com/developers/docs/resources/channel#message-object-message-flags
382
+ */
383
+ flags?: MessageFlags | null | undefined;
384
+ /**
385
+ * Allowed mentions for the message
386
+ *
387
+ * See https://discord.com/developers/docs/resources/channel#allowed-mentions-object
388
+ */
389
+ allowed_mentions?: APIAllowedMentions | null | undefined;
390
+ /**
391
+ * Attached files to keep
392
+ *
393
+ * Starting with API v10, the `attachments` array must contain all attachments that should be present after edit, including **retained and new** attachments provided in the request body.
394
+ *
395
+ * See https://discord.com/developers/docs/resources/channel#attachment-object
396
+ */
397
+ attachments?: RESTAPIAttachment[] | undefined;
398
+ /**
399
+ * The components to include with the message
400
+ *
401
+ * See https://discord.com/developers/docs/interactions/message-components#component-object
402
+ */
403
+ components?: APIActionRowComponent<APIMessageActionRowComponent>[] | null | undefined;
404
+ }
405
+ /**
406
+ * https://discord.com/developers/docs/resources/channel#edit-message
407
+ */
408
+ export type RESTPatchAPIChannelMessageFormDataBody = (Record<`files[${bigint}]`, unknown> & {
409
+ /**
410
+ * JSON stringified message body
411
+ */
412
+ payload_json?: string | undefined;
413
+ }) | (Record<`files[${bigint}]`, unknown> & RESTPatchAPIChannelMessageJSONBody);
414
+ /**
415
+ * https://discord.com/developers/docs/resources/channel#edit-message
416
+ */
417
+ export type RESTPatchAPIChannelMessageResult = APIMessage;
418
+ /**
419
+ * https://discord.com/developers/docs/resources/channel#delete-message
420
+ */
421
+ export type RESTDeleteAPIChannelMessageResult = never;
422
+ /**
423
+ * https://discord.com/developers/docs/resources/channel#bulk-delete-messages
424
+ */
425
+ export interface RESTPostAPIChannelMessagesBulkDeleteJSONBody {
426
+ /**
427
+ * An array of message ids to delete (2-100)
428
+ */
429
+ messages: Snowflake[];
430
+ }
431
+ /**
432
+ * https://discord.com/developers/docs/resources/channel#bulk-delete-messages
433
+ */
434
+ export type RESTPostAPIChannelMessagesBulkDeleteResult = never;
435
+ /**
436
+ * https://discord.com/developers/docs/resources/channel#edit-channel-permissions
437
+ */
438
+ export interface RESTPutAPIChannelPermissionJSONBody {
439
+ /**
440
+ * The bitwise value of all allowed permissions
441
+ *
442
+ * See https://en.wikipedia.org/wiki/Bit_field
443
+ *
444
+ * @default "0"
445
+ */
446
+ allow?: Permissions | null | undefined;
447
+ /**
448
+ * The bitwise value of all disallowed permissions
449
+ *
450
+ * See https://en.wikipedia.org/wiki/Bit_field
451
+ *
452
+ * @default "0"
453
+ */
454
+ deny?: Permissions | null | undefined;
455
+ /**
456
+ * `0` for a role or `1` for a member
457
+ */
458
+ type: OverwriteType;
459
+ }
460
+ /**
461
+ * https://discord.com/developers/docs/resources/channel#edit-channel-permissions
462
+ */
463
+ export type RESTPutAPIChannelPermissionResult = never;
464
+ /**
465
+ * https://discord.com/developers/docs/resources/channel#get-channel-invites
466
+ */
467
+ export type RESTGetAPIChannelInvitesResult = APIExtendedInvite[];
468
+ /**
469
+ * https://discord.com/developers/docs/resources/channel#create-channel-invite
470
+ */
471
+ export interface RESTPostAPIChannelInviteJSONBody {
472
+ /**
473
+ * Duration of invite in seconds before expiry, or 0 for never
474
+ *
475
+ * @default 86400 (24 hours)
476
+ */
477
+ max_age?: number | undefined;
478
+ /**
479
+ * Max number of uses or 0 for unlimited
480
+ *
481
+ * @default 0
482
+ */
483
+ max_uses?: number | undefined;
484
+ /**
485
+ * Whether this invite only grants temporary membership
486
+ *
487
+ * @default false
488
+ */
489
+ temporary?: boolean | undefined;
490
+ /**
491
+ * If true, don't try to reuse a similar invite
492
+ * (useful for creating many unique one time use invites)
493
+ *
494
+ * @default false
495
+ */
496
+ unique?: boolean | undefined;
497
+ /**
498
+ * The type of target for this voice channel invite
499
+ *
500
+ * See https://discord.com/developers/docs/resources/invite#invite-object-invite-target-types
501
+ */
502
+ target_type?: InviteTargetType | undefined;
503
+ /**
504
+ * The id of the user whose stream to display for this invite
505
+ * - Required if `target_type` is 1
506
+ * - The user must be streaming in the channel
507
+ */
508
+ target_user_id?: Snowflake | undefined;
509
+ /**
510
+ * The id of the embedded application to open for this invite
511
+ * - Required if `target_type` is 2
512
+ * - The application must have the `EMBEDDED` flag
513
+ */
514
+ target_application_id?: Snowflake | undefined;
515
+ }
516
+ /**
517
+ * https://discord.com/developers/docs/resources/channel#create-channel-invite
518
+ */
519
+ export type RESTPostAPIChannelInviteResult = APIExtendedInvite;
520
+ /**
521
+ * https://discord.com/developers/docs/resources/channel#delete-channel-permission
522
+ */
523
+ export type RESTDeleteAPIChannelPermissionResult = never;
524
+ /**
525
+ * https://discord.com/developers/docs/resources/channel#follow-news-channel
526
+ */
527
+ export interface RESTPostAPIChannelFollowersJSONBody {
528
+ /**
529
+ * ID of target channel
530
+ */
531
+ webhook_channel_id: Snowflake;
532
+ }
533
+ /**
534
+ * https://discord.com/developers/docs/resources/channel#follow-news-channel
535
+ */
536
+ export type RESTPostAPIChannelFollowersResult = APIFollowedChannel;
537
+ /**
538
+ * https://discord.com/developers/docs/resources/channel#trigger-typing-indicator
539
+ */
540
+ export type RESTPostAPIChannelTypingResult = never;
541
+ /**
542
+ * https://discord.com/developers/docs/resources/channel#get-pinned-messages
543
+ */
544
+ export type RESTGetAPIChannelPinsResult = APIMessage[];
545
+ /**
546
+ * https://discord.com/developers/docs/resources/channel#pin-message
547
+ */
548
+ export type RESTPutAPIChannelPinResult = never;
549
+ /**
550
+ * https://discord.com/developers/docs/resources/channel#unpin-message
551
+ */
552
+ export type RESTDeleteAPIChannelPinResult = never;
553
+ /**
554
+ * https://discord.com/developers/docs/resources/channel#group-dm-add-recipient
555
+ */
556
+ export interface RESTPutAPIChannelRecipientJSONBody {
557
+ /**
558
+ * Access token of a user that has granted your app the `gdm.join` scope
559
+ */
560
+ access_token: string;
561
+ /**
562
+ * Nickname of the user being added
563
+ */
564
+ nick?: string | undefined;
565
+ }
566
+ /**
567
+ * https://discord.com/developers/docs/resources/channel#group-dm-add-recipient
568
+ */
569
+ export type RESTPutAPIChannelRecipientResult = unknown;
570
+ /**
571
+ * https://discord.com/developers/docs/resources/channel#group-dm-remove-recipient
572
+ */
573
+ export type RESTDeleteAPIChannelRecipientResult = unknown;
574
+ /**
575
+ * https://discord.com/developers/docs/resources/channel#start-thread-from-message
576
+ */
577
+ export interface RESTPostAPIChannelMessagesThreadsJSONBody {
578
+ /**
579
+ * 1-100 character thread name
580
+ */
581
+ name: string;
582
+ /**
583
+ * The amount of time in minutes to wait before automatically archiving the thread
584
+ */
585
+ auto_archive_duration?: ThreadAutoArchiveDuration | undefined;
586
+ /**
587
+ * Amount of seconds a user has to wait before sending another message (0-21600)
588
+ */
589
+ rate_limit_per_user?: number | undefined;
590
+ }
591
+ /**
592
+ * https://discord.com/developers/docs/resources/channel#start-thread-in-forum-or-media-channel
593
+ */
594
+ export type RESTPostAPIGuildForumThreadsJSONBody = RESTPostAPIChannelMessagesThreadsJSONBody & {
595
+ /**
596
+ * The initial message of the thread
597
+ */
598
+ message: RESTPostAPIChannelMessageJSONBody;
599
+ /**
600
+ * The IDs of the set of tags to apply to the thread; limited to 5
601
+ */
602
+ applied_tags?: Snowflake[] | undefined;
603
+ };
604
+ /**
605
+ * https://discord.com/developers/docs/resources/channel#start-thread-in-forum-or-media-channel
606
+ */
607
+ export type RESTPostAPIGuildForumThreadsFormDataBody = RESTPostAPIChannelMessagesThreadsJSONBody & {
608
+ /**
609
+ * The initial message of the thread
610
+ */
611
+ message: string;
612
+ };
613
+ /**
614
+ * https://discord.com/developers/docs/resources/channel#start-thread-from-message
615
+ */
616
+ export type RESTPostAPIChannelMessagesThreadsResult = APIChannel;
617
+ /**
618
+ * https://discord.com/developers/docs/resources/channel#start-thread-without-message
619
+ */
620
+ export interface RESTPostAPIChannelThreadsJSONBody extends RESTPostAPIChannelMessagesThreadsJSONBody {
621
+ /**
622
+ * The type of thread to create
623
+ *
624
+ * In API v9 and v10, `type` defaults to `PRIVATE_THREAD`.
625
+ * In a future API version this will be changed to be a required field, with no default.
626
+ *
627
+ * See https://discord.com/developers/docs/resources/channel#channel-object-channel-types
628
+ *
629
+ * @default ChannelType.PrivateThread
630
+ */
631
+ type?: ThreadChannelType | undefined;
632
+ /**
633
+ * Whether non-moderators can add other non-moderators to the thread; only available when creating a private thread
634
+ */
635
+ invitable?: boolean | undefined;
636
+ }
637
+ /**
638
+ * https://discord.com/developers/docs/resources/channel#start-thread-without-message
639
+ */
640
+ export type RESTPostAPIChannelThreadsResult = APIChannel;
641
+ /**
642
+ * https://discord.com/developers/docs/resources/channel#join-thread
643
+ */
644
+ export type RESTPutAPIChannelThreadMembersResult = never;
645
+ /**
646
+ * https://discord.com/developers/docs/resources/channel#leave-thread
647
+ */
648
+ export type RESTDeleteAPIChannelThreadMembersResult = never;
649
+ /**
650
+ * https://discord.com/developers/docs/resources/channel#get-thread-member
651
+ */
652
+ export interface RESTGetAPIChannelThreadMemberQuery {
653
+ /**
654
+ * Whether to include a guild member object for the thread member
655
+ */
656
+ with_member?: boolean;
657
+ }
658
+ /**
659
+ * https://discord.com/developers/docs/resources/channel#get-thread-member
660
+ */
661
+ export type RESTGetAPIChannelThreadMemberResult = APIThreadMember;
662
+ /**
663
+ * https://discord.com/developers/docs/resources/channel#list-thread-members
664
+ */
665
+ export interface RESTGetAPIChannelThreadMembersQuery {
666
+ /**
667
+ * Whether to include a guild member object for each thread member
668
+ */
669
+ with_member?: boolean;
670
+ /**
671
+ * Get thread members after this user ID
672
+ */
673
+ after?: Snowflake;
674
+ /**
675
+ * Max number of thread members to return (1-100). Defaults to 100
676
+ */
677
+ limit?: number;
678
+ }
679
+ /**
680
+ * https://discord.com/developers/docs/resources/channel#list-thread-members
681
+ */
682
+ export type RESTGetAPIChannelThreadMembersResult = APIThreadMember[];
683
+ /**
684
+ * https://discord.com/developers/docs/resources/channel#list-public-archived-threads
685
+ */
686
+ export interface RESTGetAPIChannelThreadsArchivedQuery {
687
+ /**
688
+ * Get threads before this id or ISO8601 timestamp
689
+ */
690
+ before?: Snowflake | string;
691
+ /**
692
+ * Max number of thread to return
693
+ */
694
+ limit?: number;
695
+ }
696
+ /**
697
+ * https://discord.com/developers/docs/resources/channel#list-public-archived-threads
698
+ */
699
+ export type RESTGetAPIChannelThreadsArchivedPublicResult = RESTGetAPIChannelUsersThreadsArchivedResult;
700
+ /**
701
+ * https://discord.com/developers/docs/resources/channel#list-private-archived-threads
702
+ */
703
+ export type RESTGetAPIChannelThreadsArchivedPrivateResult = RESTGetAPIChannelUsersThreadsArchivedResult;
704
+ /**
705
+ * https://discord.com/developers/docs/resources/channel#list-joined-private-archived-threads
706
+ */
707
+ export interface RESTGetAPIChannelUsersThreadsArchivedResult extends APIThreadList {
708
+ /**
709
+ * Whether there are potentially additional threads
710
+ */
711
+ has_more: boolean;
712
+ }