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,699 @@
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, APIAttachment } 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/message#attachment-object
215
+ */
216
+ export type RESTAPIAttachment = Partial<Pick<APIAttachment, 'description' | 'duration_secs' | 'filename' | 'title' | 'waveform'>>;
217
+ /**
218
+ * https://discord.com/developers/docs/resources/channel#create-message
219
+ */
220
+ export interface RESTPostAPIChannelMessageJSONBody {
221
+ /**
222
+ * The message contents (up to 2000 characters)
223
+ */
224
+ content?: string | undefined;
225
+ /**
226
+ * A nonce that can be used for optimistic message sending
227
+ */
228
+ nonce?: number | string | undefined;
229
+ /**
230
+ * `true` if this is a TTS message
231
+ */
232
+ tts?: boolean | undefined;
233
+ /**
234
+ * Embedded `rich` content (up to 6000 characters)
235
+ *
236
+ * See https://discord.com/developers/docs/resources/channel#embed-object
237
+ */
238
+ embeds?: APIEmbed[] | undefined;
239
+ /**
240
+ * Allowed mentions for a message
241
+ *
242
+ * See https://discord.com/developers/docs/resources/channel#allowed-mentions-object
243
+ */
244
+ allowed_mentions?: APIAllowedMentions | undefined;
245
+ /**
246
+ * Include to make your message a reply
247
+ *
248
+ * See https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
249
+ */
250
+ message_reference?: APIMessageReferenceSend | undefined;
251
+ /**
252
+ * The components to include with the message
253
+ *
254
+ * See https://discord.com/developers/docs/interactions/message-components#component-object
255
+ */
256
+ components?: APIActionRowComponent<APIMessageActionRowComponent>[] | undefined;
257
+ /**
258
+ * IDs of up to 3 stickers in the server to send in the message
259
+ *
260
+ * See https://discord.com/developers/docs/resources/sticker#sticker-object
261
+ */
262
+ sticker_ids?: [Snowflake, Snowflake, Snowflake] | [Snowflake, Snowflake] | [Snowflake] | undefined;
263
+ /**
264
+ * Attachment objects with filename and description
265
+ */
266
+ attachments?: RESTAPIAttachment[] | undefined;
267
+ /**
268
+ * Message flags combined as a bitfield
269
+ */
270
+ flags?: MessageFlags | undefined;
271
+ /**
272
+ * If `true` and nonce is present, it will be checked for uniqueness in the past few minutes.
273
+ * 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.
274
+ */
275
+ enforce_nonce?: boolean | undefined;
276
+ /**
277
+ * A poll!
278
+ */
279
+ poll?: RESTAPIPollCreate | undefined;
280
+ }
281
+ /**
282
+ * https://discord.com/developers/docs/resources/channel#create-message
283
+ */
284
+ export type RESTPostAPIChannelMessageFormDataBody = (Record<`files[${bigint}]`, unknown> & {
285
+ /**
286
+ * JSON stringified message body
287
+ */
288
+ payload_json?: string | undefined;
289
+ }) | (Record<`files[${bigint}]`, unknown> & RESTPostAPIChannelMessageJSONBody);
290
+ /**
291
+ * https://discord.com/developers/docs/resources/channel#create-message
292
+ */
293
+ export type RESTPostAPIChannelMessageResult = APIMessage;
294
+ /**
295
+ * https://discord.com/developers/docs/resources/channel#crosspost-message
296
+ */
297
+ export type RESTPostAPIChannelMessageCrosspostResult = APIMessage;
298
+ /**
299
+ * https://discord.com/developers/docs/resources/channel#create-reaction
300
+ */
301
+ export type RESTPutAPIChannelMessageReactionResult = never;
302
+ /**
303
+ * https://discord.com/developers/docs/resources/channel#delete-own-reaction
304
+ */
305
+ export type RESTDeleteAPIChannelMessageOwnReaction = never;
306
+ /**
307
+ * https://discord.com/developers/docs/resources/channel#delete-user-reaction
308
+ */
309
+ export type RESTDeleteAPIChannelMessageUserReactionResult = never;
310
+ /**
311
+ * https://discord.com/developers/docs/resources/channel#get-reactions
312
+ */
313
+ export interface RESTGetAPIChannelMessageReactionUsersQuery {
314
+ /**
315
+ * The reaction type
316
+ */
317
+ type?: ReactionType;
318
+ /**
319
+ * Get users after this user ID
320
+ */
321
+ after?: Snowflake;
322
+ /**
323
+ * Max number of users to return (1-100)
324
+ *
325
+ * @default 25
326
+ */
327
+ limit?: number;
328
+ }
329
+ /**
330
+ * https://discord.com/developers/docs/resources/channel#get-reactions-reaction-types
331
+ */
332
+ export declare enum ReactionType {
333
+ Normal = 0,
334
+ Super = 1
335
+ }
336
+ /**
337
+ * https://discord.com/developers/docs/resources/channel#get-reactions
338
+ */
339
+ export type RESTGetAPIChannelMessageReactionUsersResult = APIUser[];
340
+ /**
341
+ * https://discord.com/developers/docs/resources/channel#delete-all-reactions
342
+ */
343
+ export type RESTDeleteAPIChannelAllMessageReactionsResult = never;
344
+ /**
345
+ * https://discord.com/developers/docs/resources/channel#delete-all-reactions-for-emoji
346
+ */
347
+ export type RESTDeleteAPIChannelMessageReactionResult = never;
348
+ /**
349
+ * https://discord.com/developers/docs/resources/channel#edit-message
350
+ */
351
+ export interface RESTPatchAPIChannelMessageJSONBody {
352
+ /**
353
+ * The new message contents (up to 2000 characters)
354
+ */
355
+ content?: string | null | undefined;
356
+ /**
357
+ * Embedded `rich` content (up to 6000 characters)
358
+ *
359
+ * See https://discord.com/developers/docs/resources/channel#embed-object
360
+ */
361
+ embeds?: APIEmbed[] | null | undefined;
362
+ /**
363
+ * Edit the flags of a message (only `SUPPRESS_EMBEDS` can currently be set/unset)
364
+ *
365
+ * When specifying flags, ensure to include all previously set flags/bits
366
+ * in addition to ones that you are modifying
367
+ *
368
+ * See https://discord.com/developers/docs/resources/channel#message-object-message-flags
369
+ */
370
+ flags?: MessageFlags | null | undefined;
371
+ /**
372
+ * Allowed mentions for the message
373
+ *
374
+ * See https://discord.com/developers/docs/resources/channel#allowed-mentions-object
375
+ */
376
+ allowed_mentions?: APIAllowedMentions | null | undefined;
377
+ /**
378
+ * Attached files to keep
379
+ *
380
+ * 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.
381
+ *
382
+ * See https://discord.com/developers/docs/resources/message#attachment-object
383
+ */
384
+ attachments?: RESTAPIAttachment[] | undefined;
385
+ /**
386
+ * The components to include with the message
387
+ *
388
+ * See https://discord.com/developers/docs/interactions/message-components#component-object
389
+ */
390
+ components?: APIActionRowComponent<APIMessageActionRowComponent>[] | null | undefined;
391
+ }
392
+ /**
393
+ * https://discord.com/developers/docs/resources/channel#edit-message
394
+ */
395
+ export type RESTPatchAPIChannelMessageFormDataBody = (Record<`files[${bigint}]`, unknown> & {
396
+ /**
397
+ * JSON stringified message body
398
+ */
399
+ payload_json?: string | undefined;
400
+ }) | (Record<`files[${bigint}]`, unknown> & RESTPatchAPIChannelMessageJSONBody);
401
+ /**
402
+ * https://discord.com/developers/docs/resources/channel#edit-message
403
+ */
404
+ export type RESTPatchAPIChannelMessageResult = APIMessage;
405
+ /**
406
+ * https://discord.com/developers/docs/resources/channel#delete-message
407
+ */
408
+ export type RESTDeleteAPIChannelMessageResult = never;
409
+ /**
410
+ * https://discord.com/developers/docs/resources/channel#bulk-delete-messages
411
+ */
412
+ export interface RESTPostAPIChannelMessagesBulkDeleteJSONBody {
413
+ /**
414
+ * An array of message ids to delete (2-100)
415
+ */
416
+ messages: Snowflake[];
417
+ }
418
+ /**
419
+ * https://discord.com/developers/docs/resources/channel#bulk-delete-messages
420
+ */
421
+ export type RESTPostAPIChannelMessagesBulkDeleteResult = never;
422
+ /**
423
+ * https://discord.com/developers/docs/resources/channel#edit-channel-permissions
424
+ */
425
+ export interface RESTPutAPIChannelPermissionJSONBody {
426
+ /**
427
+ * The bitwise value of all allowed permissions
428
+ *
429
+ * See https://en.wikipedia.org/wiki/Bit_field
430
+ *
431
+ * @default "0"
432
+ */
433
+ allow?: Permissions | null | undefined;
434
+ /**
435
+ * The bitwise value of all disallowed permissions
436
+ *
437
+ * See https://en.wikipedia.org/wiki/Bit_field
438
+ *
439
+ * @default "0"
440
+ */
441
+ deny?: Permissions | null | undefined;
442
+ /**
443
+ * `0` for a role or `1` for a member
444
+ */
445
+ type: OverwriteType;
446
+ }
447
+ /**
448
+ * https://discord.com/developers/docs/resources/channel#edit-channel-permissions
449
+ */
450
+ export type RESTPutAPIChannelPermissionResult = never;
451
+ /**
452
+ * https://discord.com/developers/docs/resources/channel#get-channel-invites
453
+ */
454
+ export type RESTGetAPIChannelInvitesResult = APIExtendedInvite[];
455
+ /**
456
+ * https://discord.com/developers/docs/resources/channel#create-channel-invite
457
+ */
458
+ export interface RESTPostAPIChannelInviteJSONBody {
459
+ /**
460
+ * Duration of invite in seconds before expiry, or 0 for never
461
+ *
462
+ * @default 86400 (24 hours)
463
+ */
464
+ max_age?: number | undefined;
465
+ /**
466
+ * Max number of uses or 0 for unlimited
467
+ *
468
+ * @default 0
469
+ */
470
+ max_uses?: number | undefined;
471
+ /**
472
+ * Whether this invite only grants temporary membership
473
+ *
474
+ * @default false
475
+ */
476
+ temporary?: boolean | undefined;
477
+ /**
478
+ * If true, don't try to reuse a similar invite
479
+ * (useful for creating many unique one time use invites)
480
+ *
481
+ * @default false
482
+ */
483
+ unique?: boolean | undefined;
484
+ /**
485
+ * The type of target for this voice channel invite
486
+ *
487
+ * See https://discord.com/developers/docs/resources/invite#invite-object-invite-target-types
488
+ */
489
+ target_type?: InviteTargetType | undefined;
490
+ /**
491
+ * The id of the user whose stream to display for this invite
492
+ * - Required if `target_type` is 1
493
+ * - The user must be streaming in the channel
494
+ */
495
+ target_user_id?: Snowflake | undefined;
496
+ /**
497
+ * The id of the embedded application to open for this invite
498
+ * - Required if `target_type` is 2
499
+ * - The application must have the `EMBEDDED` flag
500
+ */
501
+ target_application_id?: Snowflake | undefined;
502
+ }
503
+ /**
504
+ * https://discord.com/developers/docs/resources/channel#create-channel-invite
505
+ */
506
+ export type RESTPostAPIChannelInviteResult = APIExtendedInvite;
507
+ /**
508
+ * https://discord.com/developers/docs/resources/channel#delete-channel-permission
509
+ */
510
+ export type RESTDeleteAPIChannelPermissionResult = never;
511
+ /**
512
+ * https://discord.com/developers/docs/resources/channel#follow-news-channel
513
+ */
514
+ export interface RESTPostAPIChannelFollowersJSONBody {
515
+ /**
516
+ * ID of target channel
517
+ */
518
+ webhook_channel_id: Snowflake;
519
+ }
520
+ /**
521
+ * https://discord.com/developers/docs/resources/channel#follow-news-channel
522
+ */
523
+ export type RESTPostAPIChannelFollowersResult = APIFollowedChannel;
524
+ /**
525
+ * https://discord.com/developers/docs/resources/channel#trigger-typing-indicator
526
+ */
527
+ export type RESTPostAPIChannelTypingResult = never;
528
+ /**
529
+ * https://discord.com/developers/docs/resources/channel#get-pinned-messages
530
+ */
531
+ export type RESTGetAPIChannelPinsResult = APIMessage[];
532
+ /**
533
+ * https://discord.com/developers/docs/resources/channel#pin-message
534
+ */
535
+ export type RESTPutAPIChannelPinResult = never;
536
+ /**
537
+ * https://discord.com/developers/docs/resources/channel#unpin-message
538
+ */
539
+ export type RESTDeleteAPIChannelPinResult = never;
540
+ /**
541
+ * https://discord.com/developers/docs/resources/channel#group-dm-add-recipient
542
+ */
543
+ export interface RESTPutAPIChannelRecipientJSONBody {
544
+ /**
545
+ * Access token of a user that has granted your app the `gdm.join` scope
546
+ */
547
+ access_token: string;
548
+ /**
549
+ * Nickname of the user being added
550
+ */
551
+ nick?: string | undefined;
552
+ }
553
+ /**
554
+ * https://discord.com/developers/docs/resources/channel#group-dm-add-recipient
555
+ */
556
+ export type RESTPutAPIChannelRecipientResult = unknown;
557
+ /**
558
+ * https://discord.com/developers/docs/resources/channel#group-dm-remove-recipient
559
+ */
560
+ export type RESTDeleteAPIChannelRecipientResult = unknown;
561
+ /**
562
+ * https://discord.com/developers/docs/resources/channel#start-thread-from-message
563
+ */
564
+ export interface RESTPostAPIChannelMessagesThreadsJSONBody {
565
+ /**
566
+ * 1-100 character thread name
567
+ */
568
+ name: string;
569
+ /**
570
+ * The amount of time in minutes to wait before automatically archiving the thread
571
+ */
572
+ auto_archive_duration?: ThreadAutoArchiveDuration | undefined;
573
+ /**
574
+ * Amount of seconds a user has to wait before sending another message (0-21600)
575
+ */
576
+ rate_limit_per_user?: number | undefined;
577
+ }
578
+ /**
579
+ * https://discord.com/developers/docs/resources/channel#start-thread-in-forum-or-media-channel
580
+ */
581
+ export type RESTPostAPIGuildForumThreadsJSONBody = RESTPostAPIChannelMessagesThreadsJSONBody & {
582
+ /**
583
+ * The initial message of the thread
584
+ */
585
+ message: RESTPostAPIChannelMessageJSONBody;
586
+ /**
587
+ * The IDs of the set of tags to apply to the thread; limited to 5
588
+ */
589
+ applied_tags?: Snowflake[] | undefined;
590
+ };
591
+ /**
592
+ * https://discord.com/developers/docs/resources/channel#start-thread-in-forum-or-media-channel
593
+ */
594
+ export type RESTPostAPIGuildForumThreadsFormDataBody = RESTPostAPIChannelMessagesThreadsJSONBody & {
595
+ /**
596
+ * The initial message of the thread
597
+ */
598
+ message: string;
599
+ };
600
+ /**
601
+ * https://discord.com/developers/docs/resources/channel#start-thread-from-message
602
+ */
603
+ export type RESTPostAPIChannelMessagesThreadsResult = APIChannel;
604
+ /**
605
+ * https://discord.com/developers/docs/resources/channel#start-thread-without-message
606
+ */
607
+ export interface RESTPostAPIChannelThreadsJSONBody extends RESTPostAPIChannelMessagesThreadsJSONBody {
608
+ /**
609
+ * The type of thread to create
610
+ *
611
+ * In API v9 and v10, `type` defaults to `PRIVATE_THREAD`.
612
+ * In a future API version this will be changed to be a required field, with no default.
613
+ *
614
+ * See https://discord.com/developers/docs/resources/channel#channel-object-channel-types
615
+ *
616
+ * @default ChannelType.PrivateThread
617
+ */
618
+ type?: ThreadChannelType | undefined;
619
+ /**
620
+ * Whether non-moderators can add other non-moderators to the thread; only available when creating a private thread
621
+ */
622
+ invitable?: boolean | undefined;
623
+ }
624
+ /**
625
+ * https://discord.com/developers/docs/resources/channel#start-thread-without-message
626
+ */
627
+ export type RESTPostAPIChannelThreadsResult = APIChannel;
628
+ /**
629
+ * https://discord.com/developers/docs/resources/channel#join-thread
630
+ */
631
+ export type RESTPutAPIChannelThreadMembersResult = never;
632
+ /**
633
+ * https://discord.com/developers/docs/resources/channel#leave-thread
634
+ */
635
+ export type RESTDeleteAPIChannelThreadMembersResult = never;
636
+ /**
637
+ * https://discord.com/developers/docs/resources/channel#get-thread-member
638
+ */
639
+ export interface RESTGetAPIChannelThreadMemberQuery {
640
+ /**
641
+ * Whether to include a guild member object for the thread member
642
+ */
643
+ with_member?: boolean;
644
+ }
645
+ /**
646
+ * https://discord.com/developers/docs/resources/channel#get-thread-member
647
+ */
648
+ export type RESTGetAPIChannelThreadMemberResult = APIThreadMember;
649
+ /**
650
+ * https://discord.com/developers/docs/resources/channel#list-thread-members
651
+ */
652
+ export interface RESTGetAPIChannelThreadMembersQuery {
653
+ /**
654
+ * Whether to include a guild member object for each thread member
655
+ */
656
+ with_member?: boolean;
657
+ /**
658
+ * Get thread members after this user ID
659
+ */
660
+ after?: Snowflake;
661
+ /**
662
+ * Max number of thread members to return (1-100). Defaults to 100
663
+ */
664
+ limit?: number;
665
+ }
666
+ /**
667
+ * https://discord.com/developers/docs/resources/channel#list-thread-members
668
+ */
669
+ export type RESTGetAPIChannelThreadMembersResult = APIThreadMember[];
670
+ /**
671
+ * https://discord.com/developers/docs/resources/channel#list-public-archived-threads
672
+ */
673
+ export interface RESTGetAPIChannelThreadsArchivedQuery {
674
+ /**
675
+ * Get threads before this id or ISO8601 timestamp
676
+ */
677
+ before?: Snowflake | string;
678
+ /**
679
+ * Max number of thread to return
680
+ */
681
+ limit?: number;
682
+ }
683
+ /**
684
+ * https://discord.com/developers/docs/resources/channel#list-public-archived-threads
685
+ */
686
+ export type RESTGetAPIChannelThreadsArchivedPublicResult = RESTGetAPIChannelUsersThreadsArchivedResult;
687
+ /**
688
+ * https://discord.com/developers/docs/resources/channel#list-private-archived-threads
689
+ */
690
+ export type RESTGetAPIChannelThreadsArchivedPrivateResult = RESTGetAPIChannelUsersThreadsArchivedResult;
691
+ /**
692
+ * https://discord.com/developers/docs/resources/channel#list-joined-private-archived-threads
693
+ */
694
+ export interface RESTGetAPIChannelUsersThreadsArchivedResult extends APIThreadList {
695
+ /**
696
+ * Whether there are potentially additional threads
697
+ */
698
+ has_more: boolean;
699
+ }