dfx 0.3.0 → 0.5.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 (312) hide show
  1. package/dist/DiscordConfig/index.d.ts +40 -0
  2. package/dist/DiscordConfig/index.d.ts.map +1 -0
  3. package/dist/DiscordConfig/index.js +29 -0
  4. package/dist/DiscordConfig/index.js.map +1 -0
  5. package/dist/DiscordGateway/DiscordWS/index.d.ts +23 -0
  6. package/dist/DiscordGateway/DiscordWS/index.d.ts.map +1 -0
  7. package/dist/DiscordGateway/DiscordWS/index.js +25 -0
  8. package/dist/DiscordGateway/DiscordWS/index.js.map +1 -0
  9. package/dist/DiscordGateway/Shard/heartbeats.d.ts +3 -0
  10. package/dist/DiscordGateway/Shard/heartbeats.d.ts.map +1 -0
  11. package/dist/DiscordGateway/Shard/heartbeats.js +23 -0
  12. package/dist/DiscordGateway/Shard/heartbeats.js.map +1 -0
  13. package/dist/DiscordGateway/Shard/identify.d.ts +13 -0
  14. package/dist/DiscordGateway/Shard/identify.d.ts.map +1 -0
  15. package/dist/DiscordGateway/Shard/identify.js +30 -0
  16. package/dist/DiscordGateway/Shard/identify.js.map +1 -0
  17. package/dist/DiscordGateway/Shard/index.d.ts +9 -0
  18. package/dist/DiscordGateway/Shard/index.d.ts.map +1 -0
  19. package/dist/DiscordGateway/Shard/index.js +51 -0
  20. package/dist/DiscordGateway/Shard/index.js.map +1 -0
  21. package/dist/DiscordGateway/Shard/invalidSession.d.ts +3 -0
  22. package/dist/DiscordGateway/Shard/invalidSession.d.ts.map +1 -0
  23. package/dist/DiscordGateway/Shard/invalidSession.js +9 -0
  24. package/dist/DiscordGateway/Shard/invalidSession.js.map +1 -0
  25. package/dist/DiscordGateway/Shard/sendEvents.d.ts +8 -0
  26. package/dist/DiscordGateway/Shard/sendEvents.d.ts.map +1 -0
  27. package/dist/DiscordGateway/Shard/sendEvents.js +26 -0
  28. package/dist/DiscordGateway/Shard/sendEvents.js.map +1 -0
  29. package/dist/DiscordGateway/Shard/utils.d.ts +4 -0
  30. package/dist/DiscordGateway/Shard/utils.d.ts.map +1 -0
  31. package/dist/DiscordGateway/Shard/utils.js +9 -0
  32. package/dist/DiscordGateway/Shard/utils.js.map +1 -0
  33. package/dist/DiscordGateway/ShardStore/index.d.ts +13 -0
  34. package/dist/DiscordGateway/ShardStore/index.d.ts.map +1 -0
  35. package/dist/DiscordGateway/ShardStore/index.js +22 -0
  36. package/dist/DiscordGateway/ShardStore/index.js.map +1 -0
  37. package/dist/DiscordGateway/Sharder/index.d.ts +10 -0
  38. package/dist/DiscordGateway/Sharder/index.d.ts.map +1 -0
  39. package/dist/DiscordGateway/Sharder/index.js +60 -0
  40. package/dist/DiscordGateway/Sharder/index.js.map +1 -0
  41. package/dist/DiscordGateway/WS/index.d.ts +28 -0
  42. package/dist/DiscordGateway/WS/index.d.ts.map +1 -0
  43. package/dist/DiscordGateway/WS/index.js +82 -0
  44. package/dist/DiscordGateway/WS/index.js.map +1 -0
  45. package/dist/DiscordGateway/index.d.ts +21 -0
  46. package/dist/DiscordGateway/index.d.ts.map +1 -0
  47. package/dist/DiscordGateway/index.js +27 -0
  48. package/dist/DiscordGateway/index.js.map +1 -0
  49. package/dist/DiscordREST/index.d.ts +13 -0
  50. package/dist/DiscordREST/index.d.ts.map +1 -0
  51. package/dist/DiscordREST/index.js +85 -0
  52. package/dist/DiscordREST/index.js.map +1 -0
  53. package/dist/DiscordREST/types.d.ts +10 -0
  54. package/dist/DiscordREST/types.d.ts.map +1 -0
  55. package/dist/DiscordREST/types.js +2 -0
  56. package/{esm → dist}/DiscordREST/types.js.map +1 -1
  57. package/dist/DiscordREST/utils.d.ts +11 -0
  58. package/dist/DiscordREST/utils.d.ts.map +1 -0
  59. package/dist/DiscordREST/utils.js +22 -0
  60. package/dist/DiscordREST/utils.js.map +1 -0
  61. package/dist/Helpers/flags.d.ts +28 -0
  62. package/dist/Helpers/flags.d.ts.map +1 -0
  63. package/dist/Helpers/flags.js +36 -0
  64. package/dist/Helpers/flags.js.map +1 -0
  65. package/dist/Helpers/intents.d.ts +25 -0
  66. package/dist/Helpers/intents.d.ts.map +1 -0
  67. package/dist/Helpers/intents.js +28 -0
  68. package/dist/Helpers/intents.js.map +1 -0
  69. package/dist/Helpers/interactions.d.ts +74 -0
  70. package/dist/Helpers/interactions.d.ts.map +1 -0
  71. package/dist/Helpers/interactions.js +93 -0
  72. package/dist/Helpers/interactions.js.map +1 -0
  73. package/dist/Helpers/members.d.ts +10 -0
  74. package/dist/Helpers/members.d.ts.map +1 -0
  75. package/dist/Helpers/members.js +10 -0
  76. package/dist/Helpers/members.js.map +1 -0
  77. package/dist/Helpers/permissions.d.ts +35 -0
  78. package/dist/Helpers/permissions.d.ts.map +1 -0
  79. package/dist/Helpers/permissions.js +69 -0
  80. package/dist/Helpers/permissions.js.map +1 -0
  81. package/dist/Helpers/ui.d.ts +48 -0
  82. package/dist/Helpers/ui.d.ts.map +1 -0
  83. package/dist/Helpers/ui.js +67 -0
  84. package/dist/Helpers/ui.js.map +1 -0
  85. package/dist/Http/index.d.ts +31 -0
  86. package/dist/Http/index.d.ts.map +1 -0
  87. package/dist/Http/index.js +54 -0
  88. package/dist/Http/index.js.map +1 -0
  89. package/dist/Interactions/context.d.ts +29 -0
  90. package/dist/Interactions/context.d.ts.map +1 -0
  91. package/dist/Interactions/context.js +23 -0
  92. package/dist/Interactions/context.js.map +1 -0
  93. package/dist/Interactions/definitions.d.ts +55 -0
  94. package/dist/Interactions/definitions.d.ts.map +1 -0
  95. package/dist/Interactions/definitions.js +52 -0
  96. package/dist/Interactions/definitions.js.map +1 -0
  97. package/dist/Interactions/gateway.d.ts +6 -0
  98. package/dist/Interactions/gateway.d.ts.map +1 -0
  99. package/dist/Interactions/gateway.js +17 -0
  100. package/dist/Interactions/gateway.js.map +1 -0
  101. package/dist/Interactions/handlers.d.ts +9 -0
  102. package/dist/Interactions/handlers.d.ts.map +1 -0
  103. package/dist/Interactions/handlers.js +49 -0
  104. package/dist/Interactions/handlers.js.map +1 -0
  105. package/dist/Interactions/index.d.ts +20 -0
  106. package/dist/Interactions/index.d.ts.map +1 -0
  107. package/dist/Interactions/index.js +31 -0
  108. package/dist/Interactions/index.js.map +1 -0
  109. package/dist/Interactions/utils.d.ts +10 -0
  110. package/dist/Interactions/utils.d.ts.map +1 -0
  111. package/dist/Interactions/utils.js +20 -0
  112. package/dist/Interactions/utils.js.map +1 -0
  113. package/dist/Interactions/webhook.d.ts +18 -0
  114. package/dist/Interactions/webhook.d.ts.map +1 -0
  115. package/dist/Interactions/webhook.js +26 -0
  116. package/dist/Interactions/webhook.js.map +1 -0
  117. package/dist/Log/index.d.ts +13 -0
  118. package/dist/Log/index.d.ts.map +1 -0
  119. package/dist/Log/index.js +19 -0
  120. package/dist/Log/index.js.map +1 -0
  121. package/dist/RateLimitStore/index.d.ts +25 -0
  122. package/dist/RateLimitStore/index.d.ts.map +1 -0
  123. package/dist/RateLimitStore/index.js +24 -0
  124. package/dist/RateLimitStore/index.js.map +1 -0
  125. package/dist/RateLimitStore/memory.d.ts +3 -0
  126. package/dist/RateLimitStore/memory.d.ts.map +1 -0
  127. package/dist/RateLimitStore/memory.js +31 -0
  128. package/dist/RateLimitStore/memory.js.map +1 -0
  129. package/dist/RateLimitStore/utils.d.ts +3 -0
  130. package/dist/RateLimitStore/utils.d.ts.map +1 -0
  131. package/dist/RateLimitStore/utils.js +18 -0
  132. package/dist/RateLimitStore/utils.js.map +1 -0
  133. package/dist/common.d.ts +34 -0
  134. package/dist/common.d.ts.map +1 -0
  135. package/dist/common.js +21 -0
  136. package/dist/common.js.map +1 -0
  137. package/dist/example.d.ts +2 -0
  138. package/dist/example.d.ts.map +1 -0
  139. package/dist/example.js +47 -0
  140. package/dist/example.js.map +1 -0
  141. package/dist/global.d.ts +14 -0
  142. package/dist/global.d.ts.map +1 -0
  143. package/dist/global.js +2 -0
  144. package/dist/global.js.map +1 -0
  145. package/dist/index.d.ts +21 -0
  146. package/dist/index.d.ts.map +1 -0
  147. package/dist/index.js +33 -0
  148. package/dist/index.js.map +1 -0
  149. package/{types.d.ts → dist/types.d.ts} +1456 -825
  150. package/dist/types.d.ts.map +1 -0
  151. package/{esm → dist}/types.js +283 -46
  152. package/dist/types.js.map +1 -0
  153. package/dist/utils/effect.d.ts +3 -0
  154. package/dist/utils/effect.d.ts.map +1 -0
  155. package/dist/utils/effect.js +2 -0
  156. package/dist/utils/effect.js.map +1 -0
  157. package/dist/utils/tsplus.d.ts +14 -0
  158. package/dist/utils/tsplus.d.ts.map +1 -0
  159. package/dist/utils/tsplus.js +2 -0
  160. package/dist/utils/tsplus.js.map +1 -0
  161. package/package.json +36 -51
  162. package/src/DiscordConfig/index.ts +52 -0
  163. package/src/DiscordGateway/DiscordWS/index.ts +50 -0
  164. package/src/DiscordGateway/Shard/heartbeats.ts +39 -0
  165. package/src/DiscordGateway/Shard/identify.ts +61 -0
  166. package/src/DiscordGateway/Shard/index.ts +90 -0
  167. package/src/DiscordGateway/Shard/invalidSession.ts +11 -0
  168. package/src/DiscordGateway/Shard/sendEvents.ts +35 -0
  169. package/src/DiscordGateway/Shard/utils.ts +14 -0
  170. package/src/DiscordGateway/ShardStore/index.ts +33 -0
  171. package/src/DiscordGateway/Sharder/index.ts +95 -0
  172. package/src/DiscordGateway/WS/index.ts +99 -0
  173. package/src/DiscordGateway/index.ts +55 -0
  174. package/src/DiscordREST/index.ts +132 -0
  175. package/src/DiscordREST/types.ts +14 -0
  176. package/src/DiscordREST/utils.ts +35 -0
  177. package/src/Helpers/flags.ts +68 -0
  178. package/src/Helpers/intents.ts +32 -0
  179. package/src/Helpers/interactions.ts +180 -0
  180. package/src/Helpers/members.ts +14 -0
  181. package/src/Helpers/permissions.ts +102 -0
  182. package/src/Helpers/ui.ts +103 -0
  183. package/src/Http/index.ts +65 -0
  184. package/src/Interactions/context.ts +76 -0
  185. package/src/Interactions/definitions.ts +124 -0
  186. package/src/Interactions/gateway.ts +44 -0
  187. package/src/Interactions/handlers.ts +139 -0
  188. package/src/Interactions/index.ts +57 -0
  189. package/src/Interactions/utils.ts +47 -0
  190. package/src/Interactions/webhook.ts +59 -0
  191. package/src/Log/index.ts +23 -0
  192. package/src/RateLimitStore/index.ts +65 -0
  193. package/src/RateLimitStore/memory.ts +48 -0
  194. package/src/RateLimitStore/utils.ts +27 -0
  195. package/src/common.ts +35 -0
  196. package/src/example.ts +52 -0
  197. package/src/global.ts +50 -0
  198. package/src/index.ts +45 -0
  199. package/src/json.d.ts +1 -0
  200. package/{types.ts → src/types.ts} +1616 -876
  201. package/src/utils/effect.ts +7 -0
  202. package/src/utils/tsplus.ts +11 -0
  203. package/DiscordConfig/index.d.ts +0 -29
  204. package/DiscordConfig/index.js +0 -31
  205. package/DiscordConfig/index.js.map +0 -1
  206. package/DiscordConfig/index.ts +0 -45
  207. package/DiscordGateway/index.d.ts +0 -23
  208. package/DiscordGateway/index.js +0 -25
  209. package/DiscordGateway/index.js.map +0 -1
  210. package/DiscordGateway/index.ts +0 -34
  211. package/DiscordGateway/utils.d.ts +0 -3
  212. package/DiscordGateway/utils.js +0 -12
  213. package/DiscordGateway/utils.js.map +0 -1
  214. package/DiscordGateway/utils.ts +0 -17
  215. package/DiscordREST/http.d.ts +0 -3
  216. package/DiscordREST/http.js +0 -20
  217. package/DiscordREST/http.js.map +0 -1
  218. package/DiscordREST/http.ts +0 -21
  219. package/DiscordREST/index.d.ts +0 -15
  220. package/DiscordREST/index.js +0 -63
  221. package/DiscordREST/index.js.map +0 -1
  222. package/DiscordREST/index.ts +0 -79
  223. package/DiscordREST/types.d.ts +0 -14
  224. package/DiscordREST/types.js +0 -6
  225. package/DiscordREST/types.js.map +0 -1
  226. package/DiscordREST/types.ts +0 -15
  227. package/DiscordShard/commands.d.ts +0 -7
  228. package/DiscordShard/commands.js +0 -38
  229. package/DiscordShard/commands.js.map +0 -1
  230. package/DiscordShard/commands.ts +0 -40
  231. package/DiscordShard/heartbeats.d.ts +0 -6
  232. package/DiscordShard/heartbeats.js +0 -29
  233. package/DiscordShard/heartbeats.js.map +0 -1
  234. package/DiscordShard/heartbeats.ts +0 -65
  235. package/DiscordShard/identify.d.ts +0 -15
  236. package/DiscordShard/identify.js +0 -35
  237. package/DiscordShard/identify.js.map +0 -1
  238. package/DiscordShard/identify.ts +0 -75
  239. package/DiscordShard/index.d.ts +0 -32
  240. package/DiscordShard/index.js +0 -63
  241. package/DiscordShard/index.js.map +0 -1
  242. package/DiscordShard/index.ts +0 -122
  243. package/DiscordShard/invalidSession.d.ts +0 -6
  244. package/DiscordShard/invalidSession.js +0 -17
  245. package/DiscordShard/invalidSession.js.map +0 -1
  246. package/DiscordShard/invalidSession.ts +0 -24
  247. package/DiscordShard/utils.d.ts +0 -7
  248. package/DiscordShard/utils.js +0 -17
  249. package/DiscordShard/utils.js.map +0 -1
  250. package/DiscordShard/utils.ts +0 -32
  251. package/DiscordWS/index.d.ts +0 -36
  252. package/DiscordWS/index.js +0 -39
  253. package/DiscordWS/index.js.map +0 -1
  254. package/DiscordWS/index.ts +0 -82
  255. package/Log/index.d.ts +0 -15
  256. package/Log/index.js +0 -28
  257. package/Log/index.js.map +0 -1
  258. package/Log/index.ts +0 -30
  259. package/Utils/memoize.d.ts +0 -3
  260. package/Utils/memoize.js +0 -16
  261. package/Utils/memoize.js.map +0 -1
  262. package/Utils/memoize.ts +0 -15
  263. package/WS/index.d.ts +0 -30
  264. package/WS/index.js +0 -70
  265. package/WS/index.js.map +0 -1
  266. package/WS/index.ts +0 -113
  267. package/bot.d.ts +0 -1
  268. package/bot.js +0 -28
  269. package/bot.js.map +0 -1
  270. package/bot.ts +0 -48
  271. package/esm/DiscordConfig/index.js +0 -26
  272. package/esm/DiscordConfig/index.js.map +0 -1
  273. package/esm/DiscordGateway/index.js +0 -20
  274. package/esm/DiscordGateway/index.js.map +0 -1
  275. package/esm/DiscordGateway/utils.js +0 -7
  276. package/esm/DiscordGateway/utils.js.map +0 -1
  277. package/esm/DiscordREST/http.js +0 -15
  278. package/esm/DiscordREST/http.js.map +0 -1
  279. package/esm/DiscordREST/index.js +0 -59
  280. package/esm/DiscordREST/index.js.map +0 -1
  281. package/esm/DiscordREST/types.js +0 -3
  282. package/esm/DiscordShard/commands.js +0 -28
  283. package/esm/DiscordShard/commands.js.map +0 -1
  284. package/esm/DiscordShard/heartbeats.js +0 -24
  285. package/esm/DiscordShard/heartbeats.js.map +0 -1
  286. package/esm/DiscordShard/identify.js +0 -30
  287. package/esm/DiscordShard/identify.js.map +0 -1
  288. package/esm/DiscordShard/index.js +0 -58
  289. package/esm/DiscordShard/index.js.map +0 -1
  290. package/esm/DiscordShard/invalidSession.js +0 -12
  291. package/esm/DiscordShard/invalidSession.js.map +0 -1
  292. package/esm/DiscordShard/utils.js +0 -11
  293. package/esm/DiscordShard/utils.js.map +0 -1
  294. package/esm/DiscordWS/index.js +0 -34
  295. package/esm/DiscordWS/index.js.map +0 -1
  296. package/esm/Log/index.js +0 -22
  297. package/esm/Log/index.js.map +0 -1
  298. package/esm/Utils/memoize.js +0 -12
  299. package/esm/Utils/memoize.js.map +0 -1
  300. package/esm/WS/index.js +0 -65
  301. package/esm/WS/index.js.map +0 -1
  302. package/esm/bot.js +0 -25
  303. package/esm/bot.js.map +0 -1
  304. package/esm/mod.js +0 -16
  305. package/esm/mod.js.map +0 -1
  306. package/esm/types.js.map +0 -1
  307. package/mod.d.ts +0 -7
  308. package/mod.js +0 -25
  309. package/mod.js.map +0 -1
  310. package/mod.ts +0 -19
  311. package/types.js +0 -1564
  312. package/types.js.map +0 -1
@@ -1,64 +1,78 @@
1
- import { Response } from "./DiscordREST/types";
1
+ import { RestResponse } from "dfx/DiscordREST/types";
2
+ export interface ActionMetadatum {
3
+ /** SEND_ALERT_MESSAGE */
4
+ channel_id: Snowflake;
5
+ /** TIMEOUT */
6
+ duration_seconds: number;
7
+ }
2
8
  export interface ActionRow {
3
9
  /** component type */
4
10
  type: ComponentType;
5
11
  /** a list of child components */
6
12
  components: Component[];
7
13
  }
14
+ export declare enum ActionType {
15
+ /** blocks the content of a message according to the rule */
16
+ BLOCK_MESSAGE = 1,
17
+ /** logs user content to a specified channel */
18
+ SEND_ALERT_MESSAGE = 2,
19
+ /** timeout user for a specified duration * */
20
+ TIMEOUT = 3
21
+ }
8
22
  export interface Activity {
9
- /** the activity's name */
23
+ /** Activity's name */
10
24
  name: string;
11
- /** activity type */
25
+ /** Activity type */
12
26
  type: ActivityType;
13
- /** stream url, is validated when type is 1 */
27
+ /** Stream URL, is validated when type is 1 */
14
28
  url?: string | null;
15
- /** unix timestamp (in milliseconds) of when the activity was added to the user's session */
29
+ /** Unix timestamp (in milliseconds) of when the activity was added to the user's session */
16
30
  created_at: number;
17
- /** unix timestamps for start and/or end of the game */
31
+ /** Unix timestamps for start and/or end of the game */
18
32
  timestamps?: ActivityTimestamp;
19
- /** application id for the game */
33
+ /** Application ID for the game */
20
34
  application_id?: Snowflake;
21
- /** what the player is currently doing */
35
+ /** What the player is currently doing */
22
36
  details?: string | null;
23
- /** the user's current party status */
37
+ /** User's current party status */
24
38
  state?: string | null;
25
- /** the emoji used for a custom status */
39
+ /** Emoji used for a custom status */
26
40
  emoji?: ActivityEmoji | null;
27
- /** information for the current party of the player */
41
+ /** Information for the current party of the player */
28
42
  party?: ActivityParty;
29
- /** images for the presence and their hover texts */
43
+ /** Images for the presence and their hover texts */
30
44
  assets?: ActivityAsset;
31
- /** secrets for Rich Presence joining and spectating */
45
+ /** Secrets for Rich Presence joining and spectating */
32
46
  secrets?: ActivitySecret;
33
- /** whether or not the activity is an instanced game session */
47
+ /** Whether or not the activity is an instanced game session */
34
48
  instance?: boolean;
35
- /** activity flags ORd together, describes what the payload includes */
49
+ /** Activity flags ORd together, describes what the payload includes */
36
50
  flags?: number;
37
- /** the custom buttons shown in the Rich Presence (max 2) */
51
+ /** Custom buttons shown in the Rich Presence (max 2) */
38
52
  buttons?: ActivityButton[];
39
53
  }
40
54
  export interface ActivityAsset {
41
- /** see Activity Asset Image */
55
+ /** See Activity Asset Image */
42
56
  large_image?: string;
43
- /** text displayed when hovering over the large image of the activity */
57
+ /** Text displayed when hovering over the large image of the activity */
44
58
  large_text?: string;
45
- /** see Activity Asset Image */
59
+ /** See Activity Asset Image */
46
60
  small_image?: string;
47
- /** text displayed when hovering over the small image of the activity */
61
+ /** Text displayed when hovering over the small image of the activity */
48
62
  small_text?: string;
49
63
  }
50
64
  export interface ActivityButton {
51
- /** the text shown on the button (1-32 characters) */
65
+ /** Text shown on the button (1-32 characters) */
52
66
  label: string;
53
- /** the url opened when clicking the button (1-512 characters) */
67
+ /** URL opened when clicking the button (1-512 characters) */
54
68
  url: string;
55
69
  }
56
70
  export interface ActivityEmoji {
57
- /** the name of the emoji */
71
+ /** Name of the emoji */
58
72
  name: string;
59
- /** the id of the emoji */
73
+ /** ID of the emoji */
60
74
  id?: Snowflake;
61
- /** whether this emoji is animated */
75
+ /** Whether the emoji is animated */
62
76
  animated?: boolean;
63
77
  }
64
78
  export declare const ActivityFlag: {
@@ -73,23 +87,23 @@ export declare const ActivityFlag: {
73
87
  readonly EMBEDDED: number;
74
88
  };
75
89
  export interface ActivityParty {
76
- /** the id of the party */
90
+ /** ID of the party */
77
91
  id?: string;
78
- /** used to show the party's current and maximum size */
92
+ /** Used to show the party's current and maximum size */
79
93
  size?: number[];
80
94
  }
81
95
  export interface ActivitySecret {
82
- /** the secret for joining a party */
96
+ /** Secret for joining a party */
83
97
  join?: string;
84
- /** the secret for spectating a game */
98
+ /** Secret for spectating a game */
85
99
  spectate?: string;
86
- /** the secret for a specific instanced match */
100
+ /** Secret for a specific instanced match */
87
101
  match?: string;
88
102
  }
89
103
  export interface ActivityTimestamp {
90
- /** unix time (in milliseconds) of when the activity started */
104
+ /** Unix time (in milliseconds) of when the activity started */
91
105
  start?: number;
92
- /** unix time (in milliseconds) of when the activity ends */
106
+ /** Unix time (in milliseconds) of when the activity ends */
93
107
  end?: number;
94
108
  }
95
109
  export declare enum ActivityType {
@@ -151,7 +165,7 @@ export interface Application {
151
165
  privacy_policy_url?: string;
152
166
  /** partial user object containing info on the owner of the application */
153
167
  owner?: User;
154
- /** if this application is a game sold on Discord, this field will be the summary field for the store page of its primary sku */
168
+ /** deprecated and will be removed in v11. An empty string. */
155
169
  summary: string;
156
170
  /** the hex encoded key for verification in interactions and the GameSDK's GetTicket */
157
171
  verify_key: string;
@@ -167,65 +181,105 @@ export interface Application {
167
181
  cover_image?: string;
168
182
  /** the application's public flags */
169
183
  flags?: number;
184
+ /** up to 5 tags describing the content and functionality of the application */
185
+ tags?: string[];
186
+ /** settings for the application's default in-app authorization link, if enabled */
187
+ install_params?: InstallParam;
188
+ /** the application's default custom authorization link, if enabled */
189
+ custom_install_url?: string;
170
190
  }
171
191
  export interface ApplicationCommand {
172
- /** unique id of the command */
192
+ /** Unique ID of command */
173
193
  id: Snowflake;
174
- /** the type of command, defaults 1 if not set */
194
+ /** Type of command, defaults to 1 */
175
195
  type?: ApplicationCommandType;
176
- /** unique id of the parent application */
196
+ /** ID of the parent application */
177
197
  application_id: Snowflake;
178
198
  /** guild id of the command, if not global */
179
199
  guild_id?: Snowflake;
180
- /** 1-32 character name */
200
+ /** Name of command, 1-32 characters */
181
201
  name: string;
182
- /** 1-100 character description for CHAT_INPUT commands, empty string for USER and MESSAGE commands */
202
+ /** Localization dictionary for name field. Values follow the same restrictions as name */
203
+ name_localizations?: Locale | null;
204
+ /** Description for CHAT_INPUT commands, 1-100 characters. Empty string for USER and MESSAGE commands */
183
205
  description: string;
184
- /** the parameters for the command, max 25 */
206
+ /** Localization dictionary for description field. Values follow the same restrictions as description */
207
+ description_localizations?: Locale | null;
208
+ /** Parameters for the command, max of 25 */
185
209
  options?: ApplicationCommandOption[];
186
- /** whether the command is enabled by default when the app is added to a guild */
187
- default_permission?: boolean;
188
- /** autoincrementing version identifier updated during substantial record changes */
210
+ /** Set of permissions represented as a bit set */
211
+ default_member_permissions?: string | null;
212
+ /** Indicates whether the command is available in DMs with the app, only for globally-scoped commands. By default, commands are visible. */
213
+ dm_permission?: boolean;
214
+ /** Not recommended for use as field will soon be deprecated. Indicates whether the command is enabled by default when the app is added to a guild, defaults to true */
215
+ default_permission?: boolean | null;
216
+ /** Autoincrementing version identifier updated during substantial record changes */
189
217
  version: Snowflake;
190
218
  }
219
+ export interface ApplicationCommandDatum {
220
+ /** the ID of the invoked command */
221
+ id: Snowflake;
222
+ /** the name of the invoked command */
223
+ name: string;
224
+ /** the type of the invoked command */
225
+ type: number;
226
+ /** converted users + roles + channels + attachments */
227
+ resolved?: ResolvedDatum;
228
+ /** the params + values from the user */
229
+ options?: ApplicationCommandInteractionDataOption[];
230
+ /** the id of the guild the command is registered to */
231
+ guild_id?: Snowflake;
232
+ /** id of the user or message targeted by a user or message command */
233
+ target_id?: Snowflake;
234
+ }
191
235
  export interface ApplicationCommandInteractionDataOption {
192
- /** the name of the parameter */
236
+ /** Name of the parameter */
193
237
  name: string;
194
- /** value of application command option type */
238
+ /** Value of application command option type */
195
239
  type: ApplicationCommandOptionType;
196
- /** the value of the option resulting from user input */
240
+ /** Value of the option resulting from user input */
197
241
  value?: string;
198
- /** present if this option is a group or subcommand */
242
+ /** Present if this option is a group or subcommand */
199
243
  options?: ApplicationCommandInteractionDataOption[];
200
244
  /** true if this option is the currently focused option for autocomplete */
201
245
  focused?: boolean;
202
246
  }
203
247
  export interface ApplicationCommandOption {
204
- /** the type of option */
248
+ /** Type of option */
205
249
  type: any;
206
250
  /** 1-32 character name */
207
251
  name: string;
252
+ /** Localization dictionary for the name field. Values follow the same restrictions as name */
253
+ name_localizations?: Locale | null;
208
254
  /** 1-100 character description */
209
255
  description: string;
210
- /** if the parameter is required or optional--default false */
256
+ /** Localization dictionary for the description field. Values follow the same restrictions as description */
257
+ description_localizations?: Locale | null;
258
+ /** If the parameter is required or optional--default false */
211
259
  required?: boolean;
212
- /** choices for STRING, INTEGER, and NUMBER types for the user to pick from, max 25 */
260
+ /** Choices for STRING, INTEGER, and NUMBER types for the user to pick from, max 25 */
213
261
  choices?: ApplicationCommandOptionChoice[];
214
- /** if the option is a subcommand or subcommand group type, these nested options will be the parameters */
262
+ /** If the option is a subcommand or subcommand group type, these nested options will be the parameters */
215
263
  options?: ApplicationCommandOption[];
216
- /** if the option is a channel type, the channels shown will be restricted to these types */
264
+ /** If the option is a channel type, the channels shown will be restricted to these types */
217
265
  channel_types?: ChannelType[];
218
- /** if the option is an INTEGER or NUMBER type, the minimum value permitted */
266
+ /** If the option is an INTEGER or NUMBER type, the minimum value permitted */
219
267
  min_value?: number;
220
- /** if the option is an INTEGER or NUMBER type, the maximum value permitted */
268
+ /** If the option is an INTEGER or NUMBER type, the maximum value permitted */
221
269
  max_value?: number;
222
- /** if autocomplete interactions are enabled for this STRING, INTEGER, or NUMBER type option */
270
+ /** For option type STRING, the minimum allowed length (minimum of 0, maximum of 6000) */
271
+ min_length?: number;
272
+ /** For option type STRING, the maximum allowed length (minimum of 1, maximum of 6000) */
273
+ max_length?: number;
274
+ /** If autocomplete interactions are enabled for this STRING, INTEGER, or NUMBER type option */
223
275
  autocomplete?: boolean;
224
276
  }
225
277
  export interface ApplicationCommandOptionChoice {
226
278
  /** 1-100 character choice name */
227
279
  name: string;
228
- /** value of the choice, up to 100 characters if string */
280
+ /** Localization dictionary for the name field. Values follow the same restrictions as name */
281
+ name_localizations?: Locale | null;
282
+ /** Value for the choice, up to 100 characters if string */
229
283
  value: string;
230
284
  }
231
285
  export declare enum ApplicationCommandOptionType {
@@ -242,16 +296,18 @@ export declare enum ApplicationCommandOptionType {
242
296
  ATTACHMENT = 11
243
297
  }
244
298
  export interface ApplicationCommandPermission {
245
- /** the id of the role or user */
299
+ /** ID of the role, user, or channel. It can also be a permission constant */
246
300
  id: Snowflake;
247
- /** role or user */
301
+ /** role (1), user (2), or channel (3) */
248
302
  type: ApplicationCommandPermissionType;
249
303
  /** true to allow, false, to disallow */
250
304
  permission: boolean;
251
305
  }
306
+ export type ApplicationCommandPermissionsUpdateEvent = GuildApplicationCommandPermission;
252
307
  export declare enum ApplicationCommandPermissionType {
253
308
  ROLE = 1,
254
- USER = 2
309
+ USER = 2,
310
+ CHANNEL = 3
255
311
  }
256
312
  export declare enum ApplicationCommandType {
257
313
  /** Slash commands; a text-based command that shows up when a user types / */
@@ -278,13 +334,15 @@ export declare const ApplicationFlag: {
278
334
  readonly GATEWAY_MESSAGE_CONTENT: number;
279
335
  /** Intent required for bots in under 100 servers to receive message content, found in Bot Settings */
280
336
  readonly GATEWAY_MESSAGE_CONTENT_LIMITED: number;
337
+ /** Indicates if an app has registered global application commands */
338
+ readonly APPLICATION_COMMAND_BADGE: number;
281
339
  };
282
340
  export interface Attachment {
283
341
  /** attachment id */
284
342
  id: Snowflake;
285
343
  /** name of file attached */
286
344
  filename: string;
287
- /** description for the file */
345
+ /** description for the file (max 1024 characters) */
288
346
  description?: string;
289
347
  /** the attachment's media type */
290
348
  content_type?: string;
@@ -302,110 +360,238 @@ export interface Attachment {
302
360
  ephemeral?: boolean;
303
361
  }
304
362
  export interface AuditEntryInfo {
305
- /** channel in which the entities were targeted */
363
+ /** ID of the app whose permissions were targeted */
364
+ application_id: Snowflake;
365
+ /** Name of the Auto Moderation rule that was triggered */
366
+ auto_moderation_rule_name: string;
367
+ /** Trigger type of the Auto Moderation rule that was triggered */
368
+ auto_moderation_rule_trigger_type: string;
369
+ /** Channel in which the entities were targeted */
306
370
  channel_id: Snowflake;
307
- /** number of entities that were targeted */
371
+ /** Number of entities that were targeted */
308
372
  count: string;
309
- /** number of days after which inactive members were kicked */
373
+ /** Number of days after which inactive members were kicked */
310
374
  delete_member_days: string;
311
- /** id of the overwritten entity */
375
+ /** ID of the overwritten entity */
312
376
  id: Snowflake;
313
- /** number of members removed by the prune */
377
+ /** Number of members removed by the prune */
314
378
  members_removed: string;
315
- /** id of the message that was targeted */
379
+ /** ID of the message that was targeted */
316
380
  message_id: Snowflake;
317
- /** name of the role if type is "0" (not present if type is "1") */
381
+ /** Name of the role if type is "0" (not present if type is "1") */
318
382
  role_name: string;
319
- /** type of overwritten entity - "0" for "role" or "1" for "member" */
383
+ /** Type of overwritten entity - role ("0") or member ("1") */
320
384
  type: string;
321
385
  }
322
386
  export interface AuditLog {
323
- /** list of audit log entries */
387
+ /** List of application commands referenced in the audit log */
388
+ application_commands: ApplicationCommand[];
389
+ /** List of audit log entries, sorted from most to least recent */
324
390
  audit_log_entries: AuditLogEntry[];
325
- /** list of guild scheduled events found in the audit log */
391
+ /** List of auto moderation rules referenced in the audit log */
392
+ auto_moderation_rules: AutoModerationRule[];
393
+ /** List of guild scheduled events referenced in the audit log */
326
394
  guild_scheduled_events: GuildScheduledEvent[];
327
- /** list of partial integration objects */
395
+ /** List of partial integration objects */
328
396
  integrations: Integration[];
329
- /** list of threads found in the audit log* */
397
+ /** List of threads referenced in the audit log* */
330
398
  threads: Channel[];
331
- /** list of users found in the audit log */
399
+ /** List of users referenced in the audit log */
332
400
  users: User[];
333
- /** list of webhooks found in the audit log */
401
+ /** List of webhooks referenced in the audit log */
334
402
  webhooks: Webhook[];
335
403
  }
336
404
  export interface AuditLogChange {
337
- /** new value of the key */
405
+ /** New value of the key */
338
406
  new_value?: any;
339
- /** old value of the key */
407
+ /** Old value of the key */
340
408
  old_value?: any;
341
- /** name of audit log change key */
409
+ /** Name of the changed entity, with a few exceptions */
342
410
  key: string;
343
411
  }
344
412
  export interface AuditLogEntry {
345
- /** id of the affected entity (webhook, user, role, etc.) */
413
+ /** ID of the affected entity (webhook, user, role, etc.) */
346
414
  target_id?: string | null;
347
- /** changes made to the target_id */
415
+ /** Changes made to the target_id */
348
416
  changes?: AuditLogChange[];
349
- /** the user who made the changes */
417
+ /** User or app that made the changes */
350
418
  user_id?: Snowflake | null;
351
- /** id of the entry */
419
+ /** ID of the entry */
352
420
  id: Snowflake;
353
- /** type of action that occurred */
421
+ /** Type of action that occurred */
354
422
  action_type: AuditLogEvent;
355
- /** additional info for certain action types */
423
+ /** Additional info for certain event types */
356
424
  options?: AuditEntryInfo;
357
- /** the reason for the change (0-512 characters) */
425
+ /** Reason for the change (1-512 characters) */
358
426
  reason?: string;
359
427
  }
360
428
  export declare enum AuditLogEvent {
429
+ /** Server settings were updated */
361
430
  GUILD_UPDATE = 1,
431
+ /** Channel was created */
362
432
  CHANNEL_CREATE = 10,
433
+ /** Channel settings were updated */
363
434
  CHANNEL_UPDATE = 11,
435
+ /** Channel was deleted */
364
436
  CHANNEL_DELETE = 12,
437
+ /** Permission overwrite was added to a channel */
365
438
  CHANNEL_OVERWRITE_CREATE = 13,
439
+ /** Permission overwrite was updated for a channel */
366
440
  CHANNEL_OVERWRITE_UPDATE = 14,
441
+ /** Permission overwrite was deleted from a channel */
367
442
  CHANNEL_OVERWRITE_DELETE = 15,
443
+ /** Member was removed from server */
368
444
  MEMBER_KICK = 20,
445
+ /** Members were pruned from server */
369
446
  MEMBER_PRUNE = 21,
447
+ /** Member was banned from server */
370
448
  MEMBER_BAN_ADD = 22,
449
+ /** Server ban was lifted for a member */
371
450
  MEMBER_BAN_REMOVE = 23,
451
+ /** Member was updated in server */
372
452
  MEMBER_UPDATE = 24,
453
+ /** Member was added or removed from a role */
373
454
  MEMBER_ROLE_UPDATE = 25,
455
+ /** Member was moved to a different voice channel */
374
456
  MEMBER_MOVE = 26,
457
+ /** Member was disconnected from a voice channel */
375
458
  MEMBER_DISCONNECT = 27,
459
+ /** Bot user was added to server */
376
460
  BOT_ADD = 28,
461
+ /** Role was created */
377
462
  ROLE_CREATE = 30,
463
+ /** Role was edited */
378
464
  ROLE_UPDATE = 31,
465
+ /** Role was deleted */
379
466
  ROLE_DELETE = 32,
467
+ /** Server invite was created */
380
468
  INVITE_CREATE = 40,
469
+ /** Server invite was updated */
381
470
  INVITE_UPDATE = 41,
471
+ /** Server invite was deleted */
382
472
  INVITE_DELETE = 42,
473
+ /** Webhook was created */
383
474
  WEBHOOK_CREATE = 50,
475
+ /** Webhook properties or channel were updated */
384
476
  WEBHOOK_UPDATE = 51,
477
+ /** Webhook was deleted */
385
478
  WEBHOOK_DELETE = 52,
479
+ /** Emoji was created */
386
480
  EMOJI_CREATE = 60,
481
+ /** Emoji name was updated */
387
482
  EMOJI_UPDATE = 61,
483
+ /** Emoji was deleted */
388
484
  EMOJI_DELETE = 62,
485
+ /** Single message was deleted */
389
486
  MESSAGE_DELETE = 72,
487
+ /** Multiple messages were deleted */
390
488
  MESSAGE_BULK_DELETE = 73,
489
+ /** Message was pinned to a channel */
391
490
  MESSAGE_PIN = 74,
491
+ /** Message was unpinned from a channel */
392
492
  MESSAGE_UNPIN = 75,
493
+ /** App was added to server */
393
494
  INTEGRATION_CREATE = 80,
495
+ /** App was updated (as an example, its scopes were updated) */
394
496
  INTEGRATION_UPDATE = 81,
497
+ /** App was removed from server */
395
498
  INTEGRATION_DELETE = 82,
499
+ /** Stage instance was created (stage channel becomes live) */
396
500
  STAGE_INSTANCE_CREATE = 83,
501
+ /** Stage instance details were updated */
397
502
  STAGE_INSTANCE_UPDATE = 84,
503
+ /** Stage instance was deleted (stage channel no longer live) */
398
504
  STAGE_INSTANCE_DELETE = 85,
505
+ /** Sticker was created */
399
506
  STICKER_CREATE = 90,
507
+ /** Sticker details were updated */
400
508
  STICKER_UPDATE = 91,
509
+ /** Sticker was deleted */
401
510
  STICKER_DELETE = 92,
511
+ /** Event was created */
402
512
  GUILD_SCHEDULED_EVENT_CREATE = 100,
513
+ /** Event was updated */
403
514
  GUILD_SCHEDULED_EVENT_UPDATE = 101,
515
+ /** Event was cancelled */
404
516
  GUILD_SCHEDULED_EVENT_DELETE = 102,
517
+ /** Thread was created in a channel */
405
518
  THREAD_CREATE = 110,
519
+ /** Thread was updated */
406
520
  THREAD_UPDATE = 111,
407
- THREAD_DELETE = 112
521
+ /** Thread was deleted */
522
+ THREAD_DELETE = 112,
523
+ /** Permissions were updated for a command */
524
+ APPLICATION_COMMAND_PERMISSION_UPDATE = 121,
525
+ /** Auto Moderation rule was created */
526
+ AUTO_MODERATION_RULE_CREATE = 140,
527
+ /** Auto Moderation rule was updated */
528
+ AUTO_MODERATION_RULE_UPDATE = 141,
529
+ /** Auto Moderation rule was deleted */
530
+ AUTO_MODERATION_RULE_DELETE = 142,
531
+ /** Message was blocked by Auto Moderation */
532
+ AUTO_MODERATION_BLOCK_MESSAGE = 143,
533
+ /** Message was flagged by Auto Moderation */
534
+ AUTO_MODERATION_FLAG_TO_CHANNEL = 144,
535
+ /** Member was timed out by Auto Moderation */
536
+ AUTO_MODERATION_USER_COMMUNICATION_DISABLED = 145
537
+ }
538
+ export interface AutoModerationAction {
539
+ /** the type of action */
540
+ type: ActionType;
541
+ /** additional metadata needed during execution for this specific action type */
542
+ metadata?: ActionMetadatum;
543
+ }
544
+ export interface AutoModerationActionExecutionEvent {
545
+ /** ID of the guild in which action was executed */
546
+ guild_id: Snowflake;
547
+ /** Action which was executed */
548
+ action: AutoModerationAction;
549
+ /** ID of the rule which action belongs to */
550
+ rule_id: Snowflake;
551
+ /** Trigger type of rule which was triggered */
552
+ rule_trigger_type: TriggerType;
553
+ /** ID of the user which generated the content which triggered the rule */
554
+ user_id: Snowflake;
555
+ /** ID of the channel in which user content was posted */
556
+ channel_id?: Snowflake;
557
+ /** ID of any user message which content belongs to * */
558
+ message_id?: Snowflake;
559
+ /** ID of any system auto moderation messages posted as a result of this action ** */
560
+ alert_system_message_id?: Snowflake;
561
+ /** User-generated text content */
562
+ content: string;
563
+ /** Word or phrase configured in the rule that triggered the rule */
564
+ matched_keyword?: string | null;
565
+ /** Substring in content that triggered the rule */
566
+ matched_content?: string | null;
408
567
  }
568
+ export interface AutoModerationRule {
569
+ /** the id of this rule */
570
+ id: Snowflake;
571
+ /** the id of the guild which this rule belongs to */
572
+ guild_id: Snowflake;
573
+ /** the rule name */
574
+ name: string;
575
+ /** the user which first created this rule */
576
+ creator_id: Snowflake;
577
+ /** the rule event type */
578
+ event_type: EventType;
579
+ /** the rule trigger type */
580
+ trigger_type: TriggerType;
581
+ /** the rule trigger metadata */
582
+ trigger_metadata: TriggerMetadatum;
583
+ /** the actions which will execute when the rule is triggered */
584
+ actions: AutoModerationAction[];
585
+ /** whether the rule is enabled */
586
+ enabled: boolean;
587
+ /** the role ids that should not be affected by the rule (Maximum of 20) */
588
+ exempt_roles: Snowflake[];
589
+ /** the channel ids that should not be affected by the rule (Maximum of 50) */
590
+ exempt_channels: Snowflake[];
591
+ }
592
+ export type AutoModerationRuleCreateEvent = AutoModerationRule;
593
+ export type AutoModerationRuleDeleteEvent = AutoModerationRule;
594
+ export type AutoModerationRuleUpdateEvent = AutoModerationRule;
409
595
  export interface Ban {
410
596
  /** the reason for the ban */
411
597
  reason?: string | null;
@@ -415,7 +601,7 @@ export interface Ban {
415
601
  export interface BeginGuildPruneParams {
416
602
  /** number of days to prune (1-30) */
417
603
  days: number;
418
- /** whether 'pruned' is returned, discouraged for large guilds */
604
+ /** whether pruned is returned, discouraged for large guilds */
419
605
  compute_prune_count: boolean;
420
606
  /** role(s) to include */
421
607
  include_roles: Snowflake[];
@@ -427,33 +613,41 @@ export interface BulkDeleteMessageParams {
427
613
  messages: Snowflake[];
428
614
  }
429
615
  export interface BulkOverwriteGuildApplicationCommandParams {
430
- /** application command id, if known */
431
- id: Snowflake;
432
- /** 1-32 character name */
616
+ /** ID of the command, if known */
617
+ id?: Snowflake;
618
+ /** Name of command, 1-32 characters */
433
619
  name: string;
620
+ /** Localization dictionary for the name field. Values follow the same restrictions as name */
621
+ name_localizations?: Locale | null;
434
622
  /** 1-100 character description */
435
623
  description: string;
436
- /** the parameters for the command */
624
+ /** Localization dictionary for the description field. Values follow the same restrictions as description */
625
+ description_localizations?: Locale | null;
626
+ /** Parameters for the command */
437
627
  options?: ApplicationCommandOption[];
438
- /** whether the command is enabled by default when the app is added to a guild */
628
+ /** Set of permissions represented as a bit set */
629
+ default_member_permissions?: string | null;
630
+ /** Indicates whether the command is available in DMs with the app, only for globally-scoped commands. By default, commands are visible. */
631
+ dm_permission?: boolean | null;
632
+ /** Replaced by default_member_permissions and will be deprecated in the future. Indicates whether the command is enabled by default when the app is added to a guild. */
439
633
  default_permission?: boolean;
440
- /** the type of command, defaults 1 if not set */
634
+ /** Type of command, defaults 1 if not set */
441
635
  type?: ApplicationCommandType;
442
636
  }
443
637
  export interface Button {
444
638
  /** 2 for a button */
445
639
  type: number;
446
- /** one of button styles */
640
+ /** A button style */
447
641
  style: ButtonStyle;
448
- /** text that appears on the button, max 80 characters */
642
+ /** Text that appears on the button; max 80 characters */
449
643
  label?: string;
450
644
  /** name, id, and animated */
451
645
  emoji?: Emoji;
452
- /** a developer-defined identifier for the button, max 100 characters */
646
+ /** Developer-defined identifier for the button; max 100 characters */
453
647
  custom_id?: string;
454
- /** a url for link-style buttons */
648
+ /** URL for link-style buttons */
455
649
  url?: string;
456
- /** whether the button is disabled (default false) */
650
+ /** Whether the button is disabled (defaults to false) */
457
651
  disabled?: boolean;
458
652
  }
459
653
  export declare enum ButtonStyle {
@@ -475,12 +669,12 @@ export interface Channel {
475
669
  /** explicit permission overwrites for members and roles */
476
670
  permission_overwrites?: Overwrite[];
477
671
  /** the name of the channel (1-100 characters) */
478
- name?: string;
479
- /** the channel topic (0-1024 characters) */
672
+ name?: string | null;
673
+ /** the channel topic (0-4096 characters for GUILD_FORUM channels, 0-1024 characters for all others) */
480
674
  topic?: string | null;
481
675
  /** whether the channel is nsfw */
482
676
  nsfw?: boolean;
483
- /** the id of the last message sent in this channel (may not point to an existing or valid message) */
677
+ /** the id of the last message sent in this channel (or thread for GUILD_FORUM channels) (may not point to an existing or valid message or thread) */
484
678
  last_message_id?: Snowflake | null;
485
679
  /** the bitrate (in bits) of the voice channel */
486
680
  bitrate?: number;
@@ -504,7 +698,7 @@ export interface Channel {
504
698
  rtc_region?: string | null;
505
699
  /** the camera video quality mode of the voice channel, 1 when not present */
506
700
  video_quality_mode?: VideoQualityMode;
507
- /** an approximate count of messages in a thread, stops counting at 50 */
701
+ /** number of messages (not including the initial message or deleted messages) in a thread. */
508
702
  message_count?: number;
509
703
  /** an approximate count of users in a thread, stops counting at 50 */
510
704
  member_count?: number;
@@ -512,13 +706,33 @@ export interface Channel {
512
706
  thread_metadata?: ThreadMetadatum;
513
707
  /** thread member object for the current user, if they have joined the thread, only included on certain API endpoints */
514
708
  member?: ThreadMember;
515
- /** default duration that the clients (not the API) will use for newly created threads, in minutes, to automatically archive the thread after recent activity, can be set to: 60, 1440, 4320, 10080 */
709
+ /** default duration, copied onto newly created threads, in minutes, threads will stop showing in the channel list after the specified period of inactivity, can be set to: 60, 1440, 4320, 10080 */
516
710
  default_auto_archive_duration?: number;
517
711
  /** computed permissions for the invoking user in the channel, including overwrites, only included when part of the resolved data received on a slash command interaction */
518
712
  permissions?: string;
519
- }
520
- export declare type ChannelCreateEvent = Channel;
521
- export declare type ChannelDeleteEvent = Channel;
713
+ /** channel flags combined as a bitfield */
714
+ flags?: number;
715
+ /** number of messages ever sent in a thread, it's similar to message_count on message creation, but will not decrement the number when a message is deleted */
716
+ total_message_sent?: number;
717
+ /** the set of tags that can be used in a GUILD_FORUM channel */
718
+ available_tags?: ForumTag[];
719
+ /** the IDs of the set of tags that have been applied to a thread in a GUILD_FORUM channel */
720
+ applied_tags?: Snowflake[];
721
+ /** the emoji to show in the add reaction button on a thread in a GUILD_FORUM channel */
722
+ default_reaction_emoji?: DefaultReaction | null;
723
+ /** the initial rate_limit_per_user to set on newly created threads in a channel. this field is copied to the thread at creation time and does not live update. */
724
+ default_thread_rate_limit_per_user?: number;
725
+ /** the default sort order type used to order posts in GUILD_FORUM channels. Defaults to null, which indicates a preferred sort order hasn't been set by a channel admin */
726
+ default_sort_order?: SortOrderType | null;
727
+ }
728
+ export type ChannelCreateEvent = Channel;
729
+ export type ChannelDeleteEvent = Channel;
730
+ export declare const ChannelFlag: {
731
+ /** this thread is pinned to the top of its parent GUILD_FORUM channel */
732
+ readonly PINNED: number;
733
+ /** whether a tag is required to be specified when creating a thread in a GUILD_FORUM channel. Tags are specified in the applied_tags field. */
734
+ readonly REQUIRE_TAG: number;
735
+ };
522
736
  export interface ChannelMention {
523
737
  /** id of the channel */
524
738
  id: Snowflake;
@@ -530,11 +744,11 @@ export interface ChannelMention {
530
744
  name: string;
531
745
  }
532
746
  export interface ChannelPinsUpdateEvent {
533
- /** the id of the guild */
747
+ /** ID of the guild */
534
748
  guild_id?: Snowflake;
535
- /** the id of the channel */
749
+ /** ID of the channel */
536
750
  channel_id: Snowflake;
537
- /** the time at which the most recent pinned message was pinned */
751
+ /** Time at which the most recent pinned message was pinned */
538
752
  last_pin_timestamp?: string | null;
539
753
  }
540
754
  export declare enum ChannelType {
@@ -548,45 +762,55 @@ export declare enum ChannelType {
548
762
  GROUP_DM = 3,
549
763
  /** an organizational category that contains up to 50 channels */
550
764
  GUILD_CATEGORY = 4,
551
- /** a channel that users can follow and crosspost into their own server */
552
- GUILD_NEWS = 5,
553
- /** a channel in which game developers can sell their game on Discord */
554
- GUILD_STORE = 6,
555
- /** a temporary sub-channel within a GUILD_NEWS channel */
556
- GUILD_NEWS_THREAD = 10,
557
- /** a temporary sub-channel within a GUILD_TEXT channel */
558
- GUILD_PUBLIC_THREAD = 11,
765
+ /** a channel that users can follow and crosspost into their own server (formerly news channels) */
766
+ GUILD_ANNOUNCEMENT = 5,
767
+ /** a temporary sub-channel within a GUILD_ANNOUNCEMENT channel */
768
+ ANNOUNCEMENT_THREAD = 10,
769
+ /** a temporary sub-channel within a GUILD_TEXT or GUILD_FORUM channel */
770
+ PUBLIC_THREAD = 11,
559
771
  /** a temporary sub-channel within a GUILD_TEXT channel that is only viewable by those invited and those with the MANAGE_THREADS permission */
560
- GUILD_PRIVATE_THREAD = 12,
772
+ PRIVATE_THREAD = 12,
561
773
  /** a voice channel for hosting events with an audience */
562
- GUILD_STAGE_VOICE = 13
774
+ GUILD_STAGE_VOICE = 13,
775
+ /** the channel in a hub containing the listed servers */
776
+ GUILD_DIRECTORY = 14,
777
+ /** Channel that can only contain threads */
778
+ GUILD_FORUM = 15
563
779
  }
564
- export declare type ChannelUpdateEvent = Channel;
780
+ export type ChannelUpdateEvent = Channel;
565
781
  export interface ClientStatus {
566
- /** the user's status set for an active desktop (Windows, Linux, Mac) application session */
782
+ /** User's status set for an active desktop (Windows, Linux, Mac) application session */
567
783
  desktop?: string;
568
- /** the user's status set for an active mobile (iOS, Android) application session */
784
+ /** User's status set for an active mobile (iOS, Android) application session */
569
785
  mobile?: string;
570
- /** the user's status set for an active web (browser, bot account) application session */
786
+ /** User's status set for an active web (browser, bot account) application session */
571
787
  web?: string;
572
788
  }
573
- export declare type Component = ActionRow | Button | TextInput | SelectMenu;
789
+ export type Component = ActionRow | Button | TextInput | SelectMenu;
574
790
  export declare enum ComponentType {
575
- /** A container for other components */
791
+ /** Container for other components */
576
792
  ACTION_ROW = 1,
577
- /** A button object */
793
+ /** Button object */
578
794
  BUTTON = 2,
579
- /** A select menu for picking from choices */
580
- SELECT_MENU = 3,
581
- /** A text input object */
582
- TEXT_INPUT = 4
795
+ /** Select menu for picking from defined text options */
796
+ STRING_SELECT = 3,
797
+ /** Text input object */
798
+ TEXT_INPUT = 4,
799
+ /** Select menu for users */
800
+ USER_SELECT = 5,
801
+ /** Select menu for roles */
802
+ ROLE_SELECT = 6,
803
+ /** Select menu for mentionables (users and roles) */
804
+ MENTIONABLE_SELECT = 7,
805
+ /** Select menu for channels */
806
+ CHANNEL_SELECT = 8
583
807
  }
584
808
  export interface Connection {
585
809
  /** id of the connection account */
586
810
  id: string;
587
811
  /** the username of the connection account */
588
812
  name: string;
589
- /** the service of the connection (twitch, youtube) */
813
+ /** the service of this connection */
590
814
  type: string;
591
815
  /** whether the connection is revoked */
592
816
  revoked?: boolean;
@@ -598,9 +822,29 @@ export interface Connection {
598
822
  friend_sync: boolean;
599
823
  /** whether activities related to this connection will be shown in presence updates */
600
824
  show_activity: boolean;
825
+ /** whether this connection has a corresponding third party OAuth2 token */
826
+ two_way_link: boolean;
601
827
  /** visibility of this connection */
602
828
  visibility: VisibilityType;
603
829
  }
830
+ export interface CreateAutoModerationRuleParams {
831
+ /** the rule name */
832
+ name: string;
833
+ /** the event type */
834
+ event_type: EventType;
835
+ /** the trigger type */
836
+ trigger_type: TriggerType;
837
+ /** the trigger metadata */
838
+ trigger_metadata?: TriggerMetadatum;
839
+ /** the actions which will execute when the rule is triggered */
840
+ actions: AutoModerationAction[];
841
+ /** whether the rule is enabled (False by default) */
842
+ enabled?: boolean;
843
+ /** the role ids that should not be affected by the rule (Maximum of 20) */
844
+ exempt_roles?: Snowflake[];
845
+ /** the channel ids that should not be affected by the rule (Maximum of 50) */
846
+ exempt_channels?: Snowflake[];
847
+ }
604
848
  export interface CreateChannelInviteParams {
605
849
  /** duration of invite in seconds before expiry, or 0 for never. between 0 and 604800 (7 days) */
606
850
  max_age: number;
@@ -622,15 +866,23 @@ export interface CreateDmParams {
622
866
  recipient_id: Snowflake;
623
867
  }
624
868
  export interface CreateGlobalApplicationCommandParams {
625
- /** 1-32 character name */
869
+ /** Name of command, 1-32 characters */
626
870
  name: string;
627
- /** 1-100 character description */
628
- description: string;
871
+ /** Localization dictionary for the name field. Values follow the same restrictions as name */
872
+ name_localizations?: Locale | null;
873
+ /** 1-100 character description for CHAT_INPUT commands */
874
+ description?: string;
875
+ /** Localization dictionary for the description field. Values follow the same restrictions as description */
876
+ description_localizations?: Locale | null;
629
877
  /** the parameters for the command */
630
878
  options?: ApplicationCommandOption[];
631
- /** whether the command is enabled by default when the app is added to a guild */
879
+ /** Set of permissions represented as a bit set */
880
+ default_member_permissions?: string | null;
881
+ /** Indicates whether the command is available in DMs with the app, only for globally-scoped commands. By default, commands are visible. */
882
+ dm_permission?: boolean | null;
883
+ /** Replaced by default_member_permissions and will be deprecated in the future. Indicates whether the command is enabled by default when the app is added to a guild. */
632
884
  default_permission?: boolean;
633
- /** the type of command, defaults 1 if not set */
885
+ /** Type of command, defaults 1 if not set */
634
886
  type?: ApplicationCommandType;
635
887
  }
636
888
  export interface CreateGroupDmParams {
@@ -640,22 +892,28 @@ export interface CreateGroupDmParams {
640
892
  nicks: Record<string, string>;
641
893
  }
642
894
  export interface CreateGuildApplicationCommandParams {
643
- /** 1-32 character name */
895
+ /** Name of command, 1-32 characters */
644
896
  name: string;
645
- /** 1-100 character description */
646
- description: string;
647
- /** the parameters for the command */
897
+ /** Localization dictionary for the name field. Values follow the same restrictions as name */
898
+ name_localizations?: Locale | null;
899
+ /** 1-100 character description for CHAT_INPUT commands */
900
+ description?: string;
901
+ /** Localization dictionary for the description field. Values follow the same restrictions as description */
902
+ description_localizations?: Locale | null;
903
+ /** Parameters for the command */
648
904
  options?: ApplicationCommandOption[];
649
- /** whether the command is enabled by default when the app is added to a guild */
905
+ /** Set of permissions represented as a bit set */
906
+ default_member_permissions?: string | null;
907
+ /** Replaced by default_member_permissions and will be deprecated in the future. Indicates whether the command is enabled by default when the app is added to a guild. */
650
908
  default_permission?: boolean;
651
- /** the type of command, defaults 1 if not set */
909
+ /** Type of command, defaults 1 if not set */
652
910
  type?: ApplicationCommandType;
653
911
  }
654
912
  export interface CreateGuildBanParams {
655
- /** number of days to delete messages for (0-7) */
913
+ /** number of days to delete messages for (0-7) (deprecated) */
656
914
  delete_message_days?: number;
657
- /** reason for the ban (deprecated) */
658
- reason?: string;
915
+ /** number of seconds to delete messages for, between 0 and 604800 (7 days) */
916
+ delete_message_seconds?: number;
659
917
  }
660
918
  export interface CreateGuildChannelParams {
661
919
  /** channel name (1-100 characters) */
@@ -664,9 +922,9 @@ export interface CreateGuildChannelParams {
664
922
  type: ChannelType;
665
923
  /** channel topic (0-1024 characters) */
666
924
  topic: string;
667
- /** the bitrate (in bits) of the voice channel (voice only) */
925
+ /** the bitrate (in bits) of the voice or stage channel; min 8000 */
668
926
  bitrate: number;
669
- /** the user limit of the voice channel (voice only) */
927
+ /** the user limit of the voice channel */
670
928
  user_limit: number;
671
929
  /** amount of seconds a user has to wait before sending another message (0-21600); bots, as well as users with the permission manage_messages or manage_channel, are unaffected */
672
930
  rate_limit_per_user: number;
@@ -678,6 +936,18 @@ export interface CreateGuildChannelParams {
678
936
  parent_id: Snowflake;
679
937
  /** whether the channel is nsfw */
680
938
  nsfw: boolean;
939
+ /** channel voice region id of the voice or stage channel, automatic when set to null */
940
+ rtc_region: string;
941
+ /** the camera video quality mode of the voice channel */
942
+ video_quality_mode: VideoQualityMode;
943
+ /** the default duration that the clients use (not the API) for newly created threads in the channel, in minutes, to automatically archive the thread after recent activity */
944
+ default_auto_archive_duration: number;
945
+ /** emoji to show in the add reaction button on a thread in a GUILD_FORUM channel */
946
+ default_reaction_emoji: DefaultReaction;
947
+ /** set of tags that can be used in a GUILD_FORUM channel */
948
+ available_tags: ForumTag[];
949
+ /** the default sort order type used to order posts in GUILD_FORUM channels */
950
+ default_sort_order: SortOrderType;
681
951
  }
682
952
  export interface CreateGuildEmojiParams {
683
953
  /** name of the emoji */
@@ -712,7 +982,7 @@ export interface CreateGuildParams {
712
982
  channels?: Channel[];
713
983
  /** id for afk channel */
714
984
  afk_channel_id?: Snowflake;
715
- /** afk timeout in seconds */
985
+ /** afk timeout in seconds, can be set to: 60, 300, 900, 1800, 3600 */
716
986
  afk_timeout?: number;
717
987
  /** the id of the channel where guild notices such as welcome messages and boost events are posted */
718
988
  system_channel_id?: Snowflake;
@@ -720,7 +990,7 @@ export interface CreateGuildParams {
720
990
  system_channel_flags?: number;
721
991
  }
722
992
  export interface CreateGuildRoleParams {
723
- /** name of the role */
993
+ /** name of the role, max 100 characters */
724
994
  name: string;
725
995
  /** bitwise value of the enabled/disabled permissions */
726
996
  permissions: string;
@@ -772,32 +1042,32 @@ export interface CreateGuildTemplateParams {
772
1042
  description?: string | null;
773
1043
  }
774
1044
  export interface CreateMessageParams {
775
- /** the message contents (up to 2000 characters) */
776
- content: string;
1045
+ /** Message contents (up to 2000 characters) */
1046
+ content?: string;
1047
+ /** Can be used to verify a message was sent (up to 25 characters). Value will appear in the Message Create event. */
1048
+ nonce?: string;
777
1049
  /** true if this is a TTS message */
778
- tts: boolean;
779
- /** embedded rich content (up to 6000 characters) */
780
- embeds: Embed[];
781
- /** embedded rich content, deprecated in favor of embeds */
782
- embed: Embed;
783
- /** allowed mentions for the message */
784
- allowed_mentions: AllowedMention;
785
- /** include to make your message a reply */
786
- message_reference: MessageReference;
787
- /** the components to include with the message */
788
- components: Component[];
1050
+ tts?: boolean;
1051
+ /** Embedded rich content (up to 6000 characters) */
1052
+ embeds?: Embed[];
1053
+ /** Allowed mentions for the message */
1054
+ allowed_mentions?: AllowedMention;
1055
+ /** Include to make your message a reply */
1056
+ message_reference?: MessageReference;
1057
+ /** Components to include with the message */
1058
+ components?: Component[];
789
1059
  /** IDs of up to 3 stickers in the server to send in the message */
790
- sticker_ids: Snowflake[];
791
- /** the contents of the file being sent */
792
- files: string;
793
- /** JSON encoded body of non-file params */
794
- payload_json: string;
795
- /** attachment objects with filename and description */
796
- attachments: Attachment[];
797
- /** message flags combined as a bitfield (only SUPPRESS_EMBEDS can be set) */
798
- flags: number;
1060
+ sticker_ids?: Snowflake[];
1061
+ /** Contents of the file being sent. See Uploading Files */
1062
+ files?: string;
1063
+ /** JSON-encoded body of non-file params, only for multipart/form-data requests. See Uploading Files */
1064
+ payload_json?: string;
1065
+ /** Attachment objects with filename and description. See Uploading Files */
1066
+ attachments?: Attachment[];
1067
+ /** Message flags combined as a bitfield (only SUPPRESS_EMBEDS can be set) */
1068
+ flags?: number;
799
1069
  }
800
- export declare function createRoutes<O = any>(fetch: <R, P>(route: Route<P, O>) => Response<R>): Endpoints<O>;
1070
+ export declare function createRoutes<O = any>(fetch: <R, P>(route: Route<P, O>) => RestResponse<R>): Endpoints<O>;
801
1071
  export interface CreateStageInstanceParams {
802
1072
  /** The id of the Stage channel */
803
1073
  channel_id: Snowflake;
@@ -805,6 +1075,8 @@ export interface CreateStageInstanceParams {
805
1075
  topic: string;
806
1076
  /** The privacy level of the Stage instance (default GUILD_ONLY) */
807
1077
  privacy_level?: PrivacyLevel;
1078
+ /** Notify @everyone that a Stage instance has started */
1079
+ send_start_notification?: boolean;
808
1080
  }
809
1081
  export interface CreateWebhookParams {
810
1082
  /** name of the webhook (1-80 characters) */
@@ -818,12 +1090,18 @@ export declare enum DefaultMessageNotificationLevel {
818
1090
  /** members will receive notifications only for messages that @mention them by default */
819
1091
  ONLY_MENTIONS = 1
820
1092
  }
1093
+ export interface DefaultReaction {
1094
+ /** the id of a guild's custom emoji */
1095
+ emoji_id?: Snowflake | null;
1096
+ /** the unicode character of the emoji */
1097
+ emoji_name?: string | null;
1098
+ }
821
1099
  export interface DeleteWebhookMessageParams {
822
1100
  /** id of the thread the message is in */
823
1101
  thread_id: Snowflake;
824
1102
  }
825
1103
  export interface EditApplicationCommandPermissionParams {
826
- /** the permissions for the command in the guild */
1104
+ /** Permissions for the command in the guild */
827
1105
  permissions: ApplicationCommandPermission[];
828
1106
  }
829
1107
  export interface EditChannelPermissionParams {
@@ -835,43 +1113,55 @@ export interface EditChannelPermissionParams {
835
1113
  type: number;
836
1114
  }
837
1115
  export interface EditGlobalApplicationCommandParams {
838
- /** 1-32 character name */
1116
+ /** Name of command, 1-32 characters */
839
1117
  name?: string;
1118
+ /** Localization dictionary for the name field. Values follow the same restrictions as name */
1119
+ name_localizations?: Locale | null;
840
1120
  /** 1-100 character description */
841
1121
  description?: string;
1122
+ /** Localization dictionary for the description field. Values follow the same restrictions as description */
1123
+ description_localizations?: Locale | null;
842
1124
  /** the parameters for the command */
843
1125
  options?: ApplicationCommandOption[];
844
- /** whether the command is enabled by default when the app is added to a guild */
1126
+ /** Set of permissions represented as a bit set */
1127
+ default_member_permissions?: string | null;
1128
+ /** Indicates whether the command is available in DMs with the app, only for globally-scoped commands. By default, commands are visible. */
1129
+ dm_permission?: boolean | null;
1130
+ /** Replaced by default_member_permissions and will be deprecated in the future. Indicates whether the command is enabled by default when the app is added to a guild. */
845
1131
  default_permission?: boolean;
846
1132
  }
847
1133
  export interface EditGuildApplicationCommandParams {
848
- /** 1-32 character name */
1134
+ /** Name of command, 1-32 characters */
849
1135
  name?: string;
1136
+ /** Localization dictionary for the name field. Values follow the same restrictions as name */
1137
+ name_localizations?: Locale | null;
850
1138
  /** 1-100 character description */
851
1139
  description?: string;
852
- /** the parameters for the command */
1140
+ /** Localization dictionary for the description field. Values follow the same restrictions as description */
1141
+ description_localizations?: Locale | null;
1142
+ /** Parameters for the command */
853
1143
  options?: ApplicationCommandOption[];
854
- /** whether the command is enabled by default when the app is added to a guild */
1144
+ /** Set of permissions represented as a bit set */
1145
+ default_member_permissions?: string | null;
1146
+ /** Replaced by default_member_permissions and will be deprecated in the future. Indicates whether the command is enabled by default when the app is added to a guild. */
855
1147
  default_permission?: boolean;
856
1148
  }
857
1149
  export interface EditMessageParams {
858
- /** the message contents (up to 2000 characters) */
1150
+ /** Message contents (up to 2000 characters) */
859
1151
  content: string;
860
- /** embedded rich content (up to 6000 characters) */
1152
+ /** Embedded rich content (up to 6000 characters) */
861
1153
  embeds: Embed[];
862
- /** embedded rich content, deprecated in favor of embeds */
863
- embed: Embed;
864
- /** edit the flags of a message (only SUPPRESS_EMBEDS can currently be set/unset) */
1154
+ /** Edit the flags of a message (only SUPPRESS_EMBEDS can currently be set/unset) */
865
1155
  flags: number;
866
- /** allowed mentions for the message */
1156
+ /** Allowed mentions for the message */
867
1157
  allowed_mentions: AllowedMention;
868
- /** the components to include with the message */
1158
+ /** Components to include with the message */
869
1159
  components: Component[];
870
- /** the contents of the file being sent/edited */
1160
+ /** Contents of the file being sent/edited. See Uploading Files */
871
1161
  files: string;
872
- /** JSON encoded body of non-file params (multipart/form-data only) */
1162
+ /** JSON-encoded body of non-file params (multipart/form-data only). See Uploading Files */
873
1163
  payload_json: string;
874
- /** attached files to keep and possible descriptions for new files */
1164
+ /** Attached files to keep and possible descriptions for new files. See Uploading Files */
875
1165
  attachments: Attachment[];
876
1166
  }
877
1167
  export interface EditWebhookMessageParams {
@@ -1014,330 +1304,348 @@ export interface Emoji {
1014
1304
  }
1015
1305
  export interface Endpoints<O> {
1016
1306
  /** Adds a user to the guild, provided you have a valid oauth2 access token for the user with the guilds.join scope. Returns a 201 Created with the guild member as the body, or 204 No Content if the user is already a member of the guild. Fires a Guild Member Add Gateway event. */
1017
- addGuildMember: (guildId: string, userId: string, params?: Partial<AddGuildMemberParams>, options?: O) => Response<GuildMember>;
1307
+ addGuildMember: (guildId: string, userId: string, params?: Partial<AddGuildMemberParams>, options?: O) => RestResponse<GuildMember>;
1018
1308
  /** Adds a role to a guild member. Requires the MANAGE_ROLES permission. Returns a 204 empty response on success. Fires a Guild Member Update Gateway event. */
1019
- addGuildMemberRole: (guildId: string, userId: string, roleId: string, options?: O) => Response<any>;
1309
+ addGuildMemberRole: (guildId: string, userId: string, roleId: string, options?: O) => RestResponse<any>;
1020
1310
  /** Adds another member to a thread. Requires the ability to send messages in the thread. Also requires the thread is not archived. Returns a 204 empty response if the member is successfully added or was already a member of the thread. Fires a Thread Members Update Gateway event. */
1021
- addThreadMember: (channelId: string, userId: string, options?: O) => Response<any>;
1022
- batchEditApplicationCommandPermissions: (applicationId: string, guildId: string, params?: Partial<GuildApplicationCommandPermission[]>, options?: O) => Response<GuildApplicationCommandPermission[]>;
1023
- /** Begin a prune operation. Requires the KICK_MEMBERS permission. Returns an object with one 'pruned' key indicating the number of members that were removed in the prune operation. For large guilds it's recommended to set the compute_prune_count option to false, forcing 'pruned' to null. Fires multiple Guild Member Remove Gateway events. */
1024
- beginGuildPrune: (guildId: string, params?: Partial<BeginGuildPruneParams>, options?: O) => Response<any>;
1311
+ addThreadMember: (channelId: string, userId: string, options?: O) => RestResponse<any>;
1312
+ batchEditApplicationCommandPermissions: (applicationId: string, guildId: string, options?: O) => RestResponse<any>;
1313
+ /** Begin a prune operation. Requires the KICK_MEMBERS permission. Returns an object with one pruned key indicating the number of members that were removed in the prune operation. For large guilds it's recommended to set the compute_prune_count option to false, forcing pruned to null. Fires multiple Guild Member Remove Gateway events. */
1314
+ beginGuildPrune: (guildId: string, params?: Partial<BeginGuildPruneParams>, options?: O) => RestResponse<any>;
1025
1315
  /** Delete multiple messages in a single request. This endpoint can only be used on guild channels and requires the MANAGE_MESSAGES permission. Returns a 204 empty response on success. Fires a Message Delete Bulk Gateway event. */
1026
- bulkDeleteMessages: (channelId: string, params?: Partial<BulkDeleteMessageParams>, options?: O) => Response<any>;
1027
- /** Takes a list of application commands, overwriting the existing global command list for this application. Updates will be available in all guilds after 1 hour. Returns 200 and a list of application command objects. Commands that do not already exist will count toward daily application command create limits. */
1028
- bulkOverwriteGlobalApplicationCommands: (applicationId: string, options?: O) => Response<ApplicationCommand[]>;
1316
+ bulkDeleteMessages: (channelId: string, params?: Partial<BulkDeleteMessageParams>, options?: O) => RestResponse<any>;
1317
+ /** Takes a list of application commands, overwriting the existing global command list for this application. Returns 200 and a list of application command objects. Commands that do not already exist will count toward daily application command create limits. */
1318
+ bulkOverwriteGlobalApplicationCommands: (applicationId: string, options?: O) => RestResponse<ApplicationCommand[]>;
1029
1319
  /** Takes a list of application commands, overwriting the existing command list for this application for the targeted guild. Returns 200 and a list of application command objects. */
1030
- bulkOverwriteGuildApplicationCommands: (applicationId: string, guildId: string, params?: Partial<BulkOverwriteGuildApplicationCommandParams>, options?: O) => Response<ApplicationCommand[]>;
1320
+ bulkOverwriteGuildApplicationCommands: (applicationId: string, guildId: string, params?: Partial<BulkOverwriteGuildApplicationCommandParams>, options?: O) => RestResponse<ApplicationCommand[]>;
1321
+ /** Create a new rule. Returns an auto moderation rule on success. Fires an Auto Moderation Rule Create Gateway event. */
1322
+ createAutoModerationRule: (guildId: string, params?: Partial<CreateAutoModerationRuleParams>, options?: O) => RestResponse<AutoModerationRule>;
1031
1323
  /** Create a new invite object for the channel. Only usable for guild channels. Requires the CREATE_INSTANT_INVITE permission. All JSON parameters for this route are optional, however the request body is not. If you are not sending any fields, you still have to send an empty JSON object ({}). Returns an invite object. Fires an Invite Create Gateway event. */
1032
- createChannelInvite: (channelId: string, params?: Partial<CreateChannelInviteParams>, options?: O) => Response<Invite>;
1324
+ createChannelInvite: (channelId: string, params?: Partial<CreateChannelInviteParams>, options?: O) => RestResponse<Invite>;
1033
1325
  /** Create a new DM channel with a user. Returns a DM channel object. */
1034
- createDm: (params?: Partial<CreateDmParams>, options?: O) => Response<Channel>;
1035
- /** Create a followup message for an Interaction. Functions the same as Execute Webhook, but wait is always true, and flags can be set to 64 in the body to send an ephemeral message. The thread_id, avatar_url, and username parameters are not supported when using this endpoint for interaction followups. */
1036
- createFollowupMessage: (applicationId: string, interactionToken: string, options?: O) => Response<any>;
1037
- createGlobalApplicationCommand: (applicationId: string, params?: Partial<CreateGlobalApplicationCommandParams>, options?: O) => Response<ApplicationCommand>;
1326
+ createDm: (params?: Partial<CreateDmParams>, options?: O) => RestResponse<Channel>;
1327
+ /** Create a followup message for an Interaction. Functions the same as Execute Webhook, but wait is always true. The thread_id, avatar_url, and username parameters are not supported when using this endpoint for interaction followups. */
1328
+ createFollowupMessage: (applicationId: string, interactionToken: string, options?: O) => RestResponse<any>;
1329
+ createGlobalApplicationCommand: (applicationId: string, params?: Partial<CreateGlobalApplicationCommandParams>, options?: O) => RestResponse<ApplicationCommand>;
1038
1330
  /** Create a new group DM channel with multiple users. Returns a DM channel object. This endpoint was intended to be used with the now-deprecated GameBridge SDK. DMs created with this endpoint will not be shown in the Discord client */
1039
- createGroupDm: (params?: Partial<CreateGroupDmParams>, options?: O) => Response<Channel>;
1331
+ createGroupDm: (params?: Partial<CreateGroupDmParams>, options?: O) => RestResponse<Channel>;
1040
1332
  /** Create a new guild. Returns a guild object on success. Fires a Guild Create Gateway event. */
1041
- createGuild: (params?: Partial<CreateGuildParams>, options?: O) => Response<Guild>;
1042
- createGuildApplicationCommand: (applicationId: string, guildId: string, params?: Partial<CreateGuildApplicationCommandParams>, options?: O) => Response<ApplicationCommand>;
1333
+ createGuild: (params?: Partial<CreateGuildParams>, options?: O) => RestResponse<Guild>;
1334
+ createGuildApplicationCommand: (applicationId: string, guildId: string, params?: Partial<CreateGuildApplicationCommandParams>, options?: O) => RestResponse<ApplicationCommand>;
1043
1335
  /** Create a guild ban, and optionally delete previous messages sent by the banned user. Requires the BAN_MEMBERS permission. Returns a 204 empty response on success. Fires a Guild Ban Add Gateway event. */
1044
- createGuildBan: (guildId: string, userId: string, params?: Partial<CreateGuildBanParams>, options?: O) => Response<any>;
1336
+ createGuildBan: (guildId: string, userId: string, params?: Partial<CreateGuildBanParams>, options?: O) => RestResponse<any>;
1045
1337
  /** Create a new channel object for the guild. Requires the MANAGE_CHANNELS permission. If setting permission overwrites, only permissions your bot has in the guild can be allowed/denied. Setting MANAGE_ROLES permission in channels is only possible for guild administrators. Returns the new channel object on success. Fires a Channel Create Gateway event. */
1046
- createGuildChannel: (guildId: string, params?: Partial<CreateGuildChannelParams>, options?: O) => Response<Channel>;
1338
+ createGuildChannel: (guildId: string, params?: Partial<CreateGuildChannelParams>, options?: O) => RestResponse<Channel>;
1047
1339
  /** Create a new emoji for the guild. Requires the MANAGE_EMOJIS_AND_STICKERS permission. Returns the new emoji object on success. Fires a Guild Emojis Update Gateway event. */
1048
- createGuildEmoji: (guildId: string, params?: Partial<CreateGuildEmojiParams>, options?: O) => Response<Emoji>;
1340
+ createGuildEmoji: (guildId: string, params?: Partial<CreateGuildEmojiParams>, options?: O) => RestResponse<Emoji>;
1049
1341
  /** Create a new guild based on a template. Returns a guild object on success. Fires a Guild Create Gateway event. */
1050
- createGuildFromGuildTemplate: (templateCode: string, params?: Partial<CreateGuildFromGuildTemplateParams>, options?: O) => Response<Guild>;
1342
+ createGuildFromGuildTemplate: (templateCode: string, params?: Partial<CreateGuildFromGuildTemplateParams>, options?: O) => RestResponse<Guild>;
1051
1343
  /** Create a new role for the guild. Requires the MANAGE_ROLES permission. Returns the new role object on success. Fires a Guild Role Create Gateway event. All JSON params are optional. */
1052
- createGuildRole: (guildId: string, params?: Partial<CreateGuildRoleParams>, options?: O) => Response<Role>;
1053
- /** Create a guild scheduled event in the guild. Returns a guild scheduled event object on success. */
1054
- createGuildScheduledEvent: (guildId: string, params?: Partial<CreateGuildScheduledEventParams>, options?: O) => Response<GuildScheduledEvent>;
1055
- /** Create a new sticker for the guild. Send a multipart/form-data body. Requires the MANAGE_EMOJIS_AND_STICKERS permission. Returns the new sticker object on success. */
1056
- createGuildSticker: (guildId: string, params?: Partial<CreateGuildStickerParams>, options?: O) => Response<Sticker>;
1344
+ createGuildRole: (guildId: string, params?: Partial<CreateGuildRoleParams>, options?: O) => RestResponse<Role>;
1345
+ /** Create a guild scheduled event in the guild. Returns a guild scheduled event object on success. Fires a Guild Scheduled Event Create Gateway event. */
1346
+ createGuildScheduledEvent: (guildId: string, params?: Partial<CreateGuildScheduledEventParams>, options?: O) => RestResponse<GuildScheduledEvent>;
1347
+ /** Create a new sticker for the guild. Send a multipart/form-data body. Requires the MANAGE_EMOJIS_AND_STICKERS permission. Returns the new sticker object on success. Fires a Guild Stickers Update Gateway event. */
1348
+ createGuildSticker: (guildId: string, params?: Partial<CreateGuildStickerParams>, options?: O) => RestResponse<Sticker>;
1057
1349
  /** Creates a template for the guild. Requires the MANAGE_GUILD permission. Returns the created guild template object on success. */
1058
- createGuildTemplate: (guildId: string, params?: Partial<CreateGuildTemplateParams>, options?: O) => Response<GuildTemplate>;
1350
+ createGuildTemplate: (guildId: string, params?: Partial<CreateGuildTemplateParams>, options?: O) => RestResponse<GuildTemplate>;
1059
1351
  /** Create a response to an Interaction from the gateway. Body is an interaction response. Returns 204 No Content. */
1060
- createInteractionResponse: (interactionId: string, interactionToken: string, params?: Partial<InteractionResponse>, options?: O) => Response<any>;
1061
- createMessage: (channelId: string, params?: Partial<CreateMessageParams>, options?: O) => Response<Message>;
1062
- /** Create a reaction for the message. This endpoint requires the 'READ_MESSAGE_HISTORY' permission to be present on the current user. Additionally, if nobody else has reacted to the message using this emoji, this endpoint requires the 'ADD_REACTIONS' permission to be present on the current user. Returns a 204 empty response on success.
1352
+ createInteractionResponse: (interactionId: string, interactionToken: string, params?: Partial<InteractionResponse>, options?: O) => RestResponse<InteractionResponse>;
1353
+ createMessage: (channelId: string, params?: Partial<CreateMessageParams>, options?: O) => RestResponse<Message>;
1354
+ /** Create a reaction for the message. This endpoint requires the READ_MESSAGE_HISTORY permission to be present on the current user. Additionally, if nobody else has reacted to the message using this emoji, this endpoint requires the ADD_REACTIONS permission to be present on the current user. Returns a 204 empty response on success. Fires a Message Reaction Add Gateway event.
1063
1355
  The emoji must be URL Encoded or the request will fail with 10014: Unknown Emoji. To use custom emoji, you must encode it in the format name:id with the emoji name and emoji id. */
1064
- createReaction: (channelId: string, messageId: string, emoji: string, options?: O) => Response<any>;
1065
- /** Creates a new Stage instance associated to a Stage channel. Returns that Stage instance. */
1066
- createStageInstance: (params?: Partial<CreateStageInstanceParams>, options?: O) => Response<StageInstance>;
1067
- /** Creates a new webhook and returns a webhook object on success. Requires the MANAGE_WEBHOOKS permission. */
1068
- createWebhook: (channelId: string, params?: Partial<CreateWebhookParams>, options?: O) => Response<Webhook>;
1069
- /** Crosspost a message in a News Channel to following channels. This endpoint requires the 'SEND_MESSAGES' permission, if the current user sent the message, or additionally the 'MANAGE_MESSAGES' permission, for all other messages, to be present for the current user. */
1070
- crosspostMessage: (channelId: string, messageId: string, options?: O) => Response<Message>;
1071
- /** Deletes all reactions on a message. This endpoint requires the 'MANAGE_MESSAGES' permission to be present on the current user. Fires a Message Reaction Remove All Gateway event. */
1072
- deleteAllReactions: (channelId: string, messageId: string, options?: O) => Response<any>;
1356
+ createReaction: (channelId: string, messageId: string, emoji: string, options?: O) => RestResponse<any>;
1357
+ /** Creates a new Stage instance associated to a Stage channel. Returns that Stage instance. Fires a Stage Instance Create Gateway event. */
1358
+ createStageInstance: (params?: Partial<CreateStageInstanceParams>, options?: O) => RestResponse<StageInstance>;
1359
+ /** Creates a new webhook and returns a webhook object on success. Requires the MANAGE_WEBHOOKS permission. Fires a Webhooks Update Gateway event. */
1360
+ createWebhook: (channelId: string, params?: Partial<CreateWebhookParams>, options?: O) => RestResponse<Webhook>;
1361
+ /** Crosspost a message in an Announcement Channel to following channels. This endpoint requires the SEND_MESSAGES permission, if the current user sent the message, or additionally the MANAGE_MESSAGES permission, for all other messages, to be present for the current user. */
1362
+ crosspostMessage: (channelId: string, messageId: string, options?: O) => RestResponse<Message>;
1363
+ /** Deletes all reactions on a message. This endpoint requires the MANAGE_MESSAGES permission to be present on the current user. Fires a Message Reaction Remove All Gateway event. */
1364
+ deleteAllReactions: (channelId: string, messageId: string, options?: O) => RestResponse<any>;
1073
1365
  /** Deletes all the reactions for a given emoji on a message. This endpoint requires the MANAGE_MESSAGES permission to be present on the current user. Fires a Message Reaction Remove Emoji Gateway event.
1074
1366
  The emoji must be URL Encoded or the request will fail with 10014: Unknown Emoji. To use custom emoji, you must encode it in the format name:id with the emoji name and emoji id. */
1075
- deleteAllReactionsForEmoji: (channelId: string, messageId: string, emoji: string, options?: O) => Response<any>;
1076
- /** Delete a channel permission overwrite for a user or role in a channel. Only usable for guild channels. Requires the MANAGE_ROLES permission. Returns a 204 empty response on success. For more information about permissions, see permissions */
1077
- deleteChannelPermission: (channelId: string, overwriteId: string, options?: O) => Response<any>;
1367
+ deleteAllReactionsForEmoji: (channelId: string, messageId: string, emoji: string, options?: O) => RestResponse<any>;
1368
+ /** Delete a rule. Returns a 204 on success. Fires an Auto Moderation Rule Delete Gateway event. */
1369
+ deleteAutoModerationRule: (guildId: string, autoModerationRuleId: string, options?: O) => RestResponse<any>;
1370
+ /** Delete a channel permission overwrite for a user or role in a channel. Only usable for guild channels. Requires the MANAGE_ROLES permission. Returns a 204 empty response on success. Fires a Channel Update Gateway event. For more information about permissions, see permissions */
1371
+ deleteChannelPermission: (channelId: string, overwriteId: string, options?: O) => RestResponse<any>;
1078
1372
  /** Delete a channel, or close a private message. Requires the MANAGE_CHANNELS permission for the guild, or MANAGE_THREADS if the channel is a thread. Deleting a category does not delete its child channels; they will have their parent_id removed and a Channel Update Gateway event will fire for each of them. Returns a channel object on success. Fires a Channel Delete Gateway event (or Thread Delete if the channel was a thread). */
1079
- deletecloseChannel: (channelId: string, options?: O) => Response<Channel>;
1080
- /** Deletes a followup message for an Interaction. Returns 204 No Content on success. Does not support ephemeral followups. */
1081
- deleteFollowupMessage: (applicationId: string, interactionToken: string, messageId: string, options?: O) => Response<any>;
1373
+ deletecloseChannel: (channelId: string, options?: O) => RestResponse<Channel>;
1374
+ /** Deletes a followup message for an Interaction. Returns 204 No Content on success. */
1375
+ deleteFollowupMessage: (applicationId: string, interactionToken: string, messageId: string, options?: O) => RestResponse<any>;
1082
1376
  /** Deletes a global command. Returns 204 No Content on success. */
1083
- deleteGlobalApplicationCommand: (applicationId: string, commandId: string, options?: O) => Response<any>;
1377
+ deleteGlobalApplicationCommand: (applicationId: string, commandId: string, options?: O) => RestResponse<any>;
1084
1378
  /** Delete a guild permanently. User must be owner. Returns 204 No Content on success. Fires a Guild Delete Gateway event. */
1085
- deleteGuild: (guildId: string, options?: O) => Response<any>;
1379
+ deleteGuild: (guildId: string, options?: O) => RestResponse<any>;
1086
1380
  /** Delete a guild command. Returns 204 No Content on success. */
1087
- deleteGuildApplicationCommand: (applicationId: string, guildId: string, commandId: string, options?: O) => Response<any>;
1381
+ deleteGuildApplicationCommand: (applicationId: string, guildId: string, commandId: string, options?: O) => RestResponse<any>;
1088
1382
  /** Delete the given emoji. Requires the MANAGE_EMOJIS_AND_STICKERS permission. Returns 204 No Content on success. Fires a Guild Emojis Update Gateway event. */
1089
- deleteGuildEmoji: (guildId: string, emojiId: string, options?: O) => Response<any>;
1090
- /** Delete the attached integration object for the guild. Deletes any associated webhooks and kicks the associated bot if there is one. Requires the MANAGE_GUILD permission. Returns a 204 empty response on success. Fires a Guild Integrations Update Gateway event. */
1091
- deleteGuildIntegration: (guildId: string, integrationId: string, options?: O) => Response<any>;
1383
+ deleteGuildEmoji: (guildId: string, emojiId: string, options?: O) => RestResponse<any>;
1384
+ /** Delete the attached integration object for the guild. Deletes any associated webhooks and kicks the associated bot if there is one. Requires the MANAGE_GUILD permission. Returns a 204 empty response on success. Fires Guild Integrations Update and Integration Delete Gateway events. */
1385
+ deleteGuildIntegration: (guildId: string, integrationId: string, options?: O) => RestResponse<any>;
1092
1386
  /** Delete a guild role. Requires the MANAGE_ROLES permission. Returns a 204 empty response on success. Fires a Guild Role Delete Gateway event. */
1093
- deleteGuildRole: (guildId: string, roleId: string, options?: O) => Response<any>;
1094
- /** Delete a guild scheduled event. Returns a 204 on success. */
1095
- deleteGuildScheduledEvent: (guildId: string, guildScheduledEventId: string, options?: O) => Response<any>;
1096
- /** Delete the given sticker. Requires the MANAGE_EMOJIS_AND_STICKERS permission. Returns 204 No Content on success. */
1097
- deleteGuildSticker: (guildId: string, stickerId: string, options?: O) => Response<any>;
1387
+ deleteGuildRole: (guildId: string, roleId: string, options?: O) => RestResponse<any>;
1388
+ /** Delete a guild scheduled event. Returns a 204 on success. Fires a Guild Scheduled Event Delete Gateway event. */
1389
+ deleteGuildScheduledEvent: (guildId: string, guildScheduledEventId: string, options?: O) => RestResponse<any>;
1390
+ /** Delete the given sticker. Requires the MANAGE_EMOJIS_AND_STICKERS permission. Returns 204 No Content on success. Fires a Guild Stickers Update Gateway event. */
1391
+ deleteGuildSticker: (guildId: string, stickerId: string, options?: O) => RestResponse<any>;
1098
1392
  /** Deletes the template. Requires the MANAGE_GUILD permission. Returns the deleted guild template object on success. */
1099
- deleteGuildTemplate: (guildId: string, templateCode: string, options?: O) => Response<GuildTemplate>;
1100
- /** Delete an invite. Requires the MANAGE_CHANNELS permission on the channel this invite belongs to, or MANAGE_GUILD to remove any invite across the guild. Returns an invite object on success. Fires a Invite Delete Gateway event. */
1101
- deleteInvite: (inviteCode: string, options?: O) => Response<Invite>;
1393
+ deleteGuildTemplate: (guildId: string, templateCode: string, options?: O) => RestResponse<GuildTemplate>;
1394
+ /** Delete an invite. Requires the MANAGE_CHANNELS permission on the channel this invite belongs to, or MANAGE_GUILD to remove any invite across the guild. Returns an invite object on success. Fires an Invite Delete Gateway event. */
1395
+ deleteInvite: (inviteCode: string, options?: O) => RestResponse<Invite>;
1102
1396
  /** Delete a message. If operating on a guild channel and trying to delete a message that was not sent by the current user, this endpoint requires the MANAGE_MESSAGES permission. Returns a 204 empty response on success. Fires a Message Delete Gateway event. */
1103
- deleteMessage: (channelId: string, messageId: string, options?: O) => Response<any>;
1104
- /** Deletes the initial Interaction response. Returns 204 No Content on success. Does not support ephemeral followups. */
1105
- deleteOriginalInteractionResponse: (applicationId: string, interactionToken: string, options?: O) => Response<any>;
1106
- /** Delete a reaction the current user has made for the message. Returns a 204 empty response on success.
1397
+ deleteMessage: (channelId: string, messageId: string, options?: O) => RestResponse<any>;
1398
+ /** Deletes the initial Interaction response. Returns 204 No Content on success. */
1399
+ deleteOriginalInteractionResponse: (applicationId: string, interactionToken: string, options?: O) => RestResponse<any>;
1400
+ /** Delete a reaction the current user has made for the message. Returns a 204 empty response on success. Fires a Message Reaction Remove Gateway event.
1107
1401
  The emoji must be URL Encoded or the request will fail with 10014: Unknown Emoji. To use custom emoji, you must encode it in the format name:id with the emoji name and emoji id. */
1108
- deleteOwnReaction: (channelId: string, messageId: string, emoji: string, options?: O) => Response<any>;
1109
- /** Deletes the Stage instance. Returns 204 No Content. */
1110
- deleteStageInstance: (channelId: string, options?: O) => Response<any>;
1111
- /** Deletes another user's reaction. This endpoint requires the 'MANAGE_MESSAGES' permission to be present on the current user. Returns a 204 empty response on success.
1402
+ deleteOwnReaction: (channelId: string, messageId: string, emoji: string, options?: O) => RestResponse<any>;
1403
+ /** Deletes the Stage instance. Returns 204 No Content. Fires a Stage Instance Delete Gateway event. */
1404
+ deleteStageInstance: (channelId: string, options?: O) => RestResponse<any>;
1405
+ /** Deletes another user's reaction. This endpoint requires the MANAGE_MESSAGES permission to be present on the current user. Returns a 204 empty response on success. Fires a Message Reaction Remove Gateway event.
1112
1406
  The emoji must be URL Encoded or the request will fail with 10014: Unknown Emoji. To use custom emoji, you must encode it in the format name:id with the emoji name and emoji id. */
1113
- deleteUserReaction: (channelId: string, messageId: string, emoji: string, userId: string, options?: O) => Response<any>;
1114
- /** Delete a webhook permanently. Requires the MANAGE_WEBHOOKS permission. Returns a 204 No Content response on success. */
1115
- deleteWebhook: (webhookId: string, options?: O) => Response<any>;
1407
+ deleteUserReaction: (channelId: string, messageId: string, emoji: string, userId: string, options?: O) => RestResponse<any>;
1408
+ /** Delete a webhook permanently. Requires the MANAGE_WEBHOOKS permission. Returns a 204 No Content response on success. Fires a Webhooks Update Gateway event. */
1409
+ deleteWebhook: (webhookId: string, options?: O) => RestResponse<any>;
1116
1410
  /** Deletes a message that was created by the webhook. Returns a 204 No Content response on success. */
1117
- deleteWebhookMessage: (webhookId: string, webhookToken: string, messageId: string, params?: Partial<DeleteWebhookMessageParams>, options?: O) => Response<any>;
1411
+ deleteWebhookMessage: (webhookId: string, webhookToken: string, messageId: string, params?: Partial<DeleteWebhookMessageParams>, options?: O) => RestResponse<any>;
1118
1412
  /** Same as above, except this call does not require authentication. */
1119
- deleteWebhookWithToken: (webhookId: string, webhookToken: string, options?: O) => Response<any>;
1120
- editApplicationCommandPermissions: (applicationId: string, guildId: string, commandId: string, params?: Partial<EditApplicationCommandPermissionParams>, options?: O) => Response<GuildApplicationCommandPermission>;
1121
- /** Edit the channel permission overwrites for a user or role in a channel. Only usable for guild channels. Requires the MANAGE_ROLES permission. Only permissions your bot has in the guild or parent channel (if applicable) can be allowed/denied (unless your bot has a MANAGE_ROLES overwrite in the channel). Returns a 204 empty response on success. For more information about permissions, see permissions. */
1122
- editChannelPermissions: (channelId: string, overwriteId: string, params?: Partial<EditChannelPermissionParams>, options?: O) => Response<any>;
1413
+ deleteWebhookWithToken: (webhookId: string, webhookToken: string, options?: O) => RestResponse<any>;
1414
+ editApplicationCommandPermissions: (applicationId: string, guildId: string, commandId: string, params?: Partial<EditApplicationCommandPermissionParams>, options?: O) => RestResponse<GuildApplicationCommandPermission>;
1415
+ /** Edit the channel permission overwrites for a user or role in a channel. Only usable for guild channels. Requires the MANAGE_ROLES permission. Only permissions your bot has in the guild or parent channel (if applicable) can be allowed/denied (unless your bot has a MANAGE_ROLES overwrite in the channel). Returns a 204 empty response on success. Fires a Channel Update Gateway event. For more information about permissions, see permissions. */
1416
+ editChannelPermissions: (channelId: string, overwriteId: string, params?: Partial<EditChannelPermissionParams>, options?: O) => RestResponse<any>;
1123
1417
  /** Edits a followup message for an Interaction. Functions the same as Edit Webhook Message. */
1124
- editFollowupMessage: (applicationId: string, interactionToken: string, messageId: string, options?: O) => Response<any>;
1125
- editGlobalApplicationCommand: (applicationId: string, commandId: string, params?: Partial<EditGlobalApplicationCommandParams>, options?: O) => Response<ApplicationCommand>;
1126
- editGuildApplicationCommand: (applicationId: string, guildId: string, commandId: string, params?: Partial<EditGuildApplicationCommandParams>, options?: O) => Response<ApplicationCommand>;
1418
+ editFollowupMessage: (applicationId: string, interactionToken: string, messageId: string, options?: O) => RestResponse<any>;
1419
+ editGlobalApplicationCommand: (applicationId: string, commandId: string, params?: Partial<EditGlobalApplicationCommandParams>, options?: O) => RestResponse<ApplicationCommand>;
1420
+ editGuildApplicationCommand: (applicationId: string, guildId: string, commandId: string, params?: Partial<EditGuildApplicationCommandParams>, options?: O) => RestResponse<ApplicationCommand>;
1127
1421
  /** Edit a previously sent message. The fields content, embeds, and flags can be edited by the original message author. Other users can only edit flags and only if they have the MANAGE_MESSAGES permission in the corresponding channel. When specifying flags, ensure to include all previously set flags/bits in addition to ones that you are modifying. Only flags documented in the table below may be modified by users (unsupported flag changes are currently ignored without error). */
1128
- editMessage: (channelId: string, messageId: string, params?: Partial<EditMessageParams>, options?: O) => Response<Message>;
1422
+ editMessage: (channelId: string, messageId: string, params?: Partial<EditMessageParams>, options?: O) => RestResponse<Message>;
1129
1423
  /** Edits the initial Interaction response. Functions the same as Edit Webhook Message. */
1130
- editOriginalInteractionResponse: (applicationId: string, interactionToken: string, options?: O) => Response<any>;
1424
+ editOriginalInteractionResponse: (applicationId: string, interactionToken: string, options?: O) => RestResponse<any>;
1131
1425
  /** Edits a previously-sent webhook message from the same token. Returns a message object on success. */
1132
- editWebhookMessage: (webhookId: string, webhookToken: string, messageId: string, params?: Partial<EditWebhookMessageParams>, options?: O) => Response<Message>;
1426
+ editWebhookMessage: (webhookId: string, webhookToken: string, messageId: string, params?: Partial<EditWebhookMessageParams>, options?: O) => RestResponse<Message>;
1133
1427
  /** Add a new webhook to your GitHub repo (in the repo's settings), and use this endpoint as the "Payload URL." You can choose what events your Discord channel receives by choosing the "Let me select individual events" option and selecting individual events for the new webhook you're configuring. */
1134
- executeGitHubCompatibleWebhook: (webhookId: string, webhookToken: string, options?: O) => Response<any>;
1428
+ executeGitHubCompatibleWebhook: (webhookId: string, webhookToken: string, options?: O) => RestResponse<any>;
1135
1429
  /** Refer to Slack's documentation for more information. We do not support Slack's channel, icon_emoji, mrkdwn, or mrkdwn_in properties. */
1136
- executeSlackCompatibleWebhook: (webhookId: string, webhookToken: string, options?: O) => Response<any>;
1430
+ executeSlackCompatibleWebhook: (webhookId: string, webhookToken: string, options?: O) => RestResponse<any>;
1137
1431
  /** Refer to Uploading Files for details on attachments and multipart/form-data requests. Returns a message or 204 No Content depending on the wait query parameter. */
1138
- executeWebhook: (webhookId: string, webhookToken: string, params?: Partial<ExecuteWebhookParams>, options?: O) => Response<any>;
1139
- /** Follow a News Channel to send messages to a target channel. Requires the MANAGE_WEBHOOKS permission in the target channel. Returns a followed channel object. */
1140
- followNewsChannel: (channelId: string, params?: Partial<FollowNewsChannelParams>, options?: O) => Response<FollowedChannel>;
1141
- /** Fetches command permissions for a specific command for your application in a guild. Returns a guild application command permissions object. */
1142
- getApplicationCommandPermissions: (applicationId: string, guildId: string, commandId: string, options?: O) => Response<GuildApplicationCommandPermission>;
1432
+ executeWebhook: (webhookId: string, webhookToken: string, params?: Partial<ExecuteWebhookParams>, options?: O) => RestResponse<any>;
1433
+ /** Follow an Announcement Channel to send messages to a target channel. Requires the MANAGE_WEBHOOKS permission in the target channel. Returns a followed channel object. Fires a Webhooks Update Gateway event for the target channel. */
1434
+ followAnnouncementChannel: (channelId: string, params?: Partial<FollowAnnouncementChannelParams>, options?: O) => RestResponse<FollowedChannel>;
1435
+ /** Fetches permissions for a specific command for your application in a guild. Returns a guild application command permissions object. */
1436
+ getApplicationCommandPermissions: (applicationId: string, guildId: string, commandId: string, options?: O) => RestResponse<GuildApplicationCommandPermission>;
1437
+ /** Get a single rule. Returns an auto moderation rule object. */
1438
+ getAutoModerationRule: (guildId: string, autoModerationRuleId: string, options?: O) => RestResponse<AutoModerationRule>;
1143
1439
  /** Get a channel by ID. Returns a channel object. If the channel is a thread, a thread member object is included in the returned result. */
1144
- getChannel: (channelId: string, options?: O) => Response<Channel>;
1440
+ getChannel: (channelId: string, options?: O) => RestResponse<Channel>;
1145
1441
  /** Returns a list of invite objects (with invite metadata) for the channel. Only usable for guild channels. Requires the MANAGE_CHANNELS permission. */
1146
- getChannelInvites: (channelId: string, options?: O) => Response<Invite[]>;
1147
- /** Returns a specific message in the channel. If operating on a guild channel, this endpoint requires the 'READ_MESSAGE_HISTORY' permission to be present on the current user. Returns a message object on success. */
1148
- getChannelMessage: (channelId: string, messageId: string, options?: O) => Response<Message>;
1149
- /** Returns the messages for a channel. If operating on a guild channel, this endpoint requires the VIEW_CHANNEL permission to be present on the current user. If the current user is missing the 'READ_MESSAGE_HISTORY' permission in the channel then this will return no messages (since they cannot read the message history). Returns an array of message objects on success. */
1150
- getChannelMessages: (channelId: string, params?: Partial<GetChannelMessageParams>, options?: O) => Response<Message[]>;
1442
+ getChannelInvites: (channelId: string, options?: O) => RestResponse<Invite[]>;
1443
+ /** Returns a specific message in the channel. If operating on a guild channel, this endpoint requires the READ_MESSAGE_HISTORY permission to be present on the current user. Returns a message object on success. */
1444
+ getChannelMessage: (channelId: string, messageId: string, options?: O) => RestResponse<Message>;
1445
+ /** Returns the messages for a channel. If operating on a guild channel, this endpoint requires the VIEW_CHANNEL permission to be present on the current user. If the current user is missing the READ_MESSAGE_HISTORY permission in the channel then this will return no messages (since they cannot read the message history). Returns an array of message objects on success. */
1446
+ getChannelMessages: (channelId: string, params?: Partial<GetChannelMessageParams>, options?: O) => RestResponse<Message[]>;
1151
1447
  /** Returns a list of channel webhook objects. Requires the MANAGE_WEBHOOKS permission. */
1152
- getChannelWebhooks: (channelId: string, options?: O) => Response<Webhook[]>;
1448
+ getChannelWebhooks: (channelId: string, options?: O) => RestResponse<Webhook[]>;
1449
+ /** Returns info about the current authorization. Requires authentication with a bearer token. */
1450
+ getCurrentAuthorizationInformation: (options?: O) => RestResponse<GetCurrentAuthorizationInformationResponse>;
1451
+ /** Returns the bot's application object. */
1452
+ getCurrentBotApplicationInformation: (options?: O) => RestResponse<Application>;
1153
1453
  /** Returns the user object of the requester's account. For OAuth2, this requires the identify scope, which will return the object without an email, and optionally the email scope, which returns the object with an email. */
1154
- getCurrentUser: (options?: O) => Response<User>;
1454
+ getCurrentUser: (options?: O) => RestResponse<User>;
1155
1455
  /** Returns a guild member object for the current user. Requires the guilds.members.read OAuth2 scope. */
1156
- getCurrentUserGuildMember: (guildId: string, options?: O) => Response<GuildMember>;
1456
+ getCurrentUserGuildMember: (guildId: string, options?: O) => RestResponse<GuildMember>;
1157
1457
  /** Returns a list of partial guild objects the current user is a member of. Requires the guilds OAuth2 scope. */
1158
- getCurrentUserGuilds: (params?: Partial<GetCurrentUserGuildParams>, options?: O) => Response<Guild[]>;
1458
+ getCurrentUserGuilds: (params?: Partial<GetCurrentUserGuildParams>, options?: O) => RestResponse<Guild[]>;
1159
1459
  /** Returns a followup message for an Interaction. Functions the same as Get Webhook Message. */
1160
- getFollowupMessage: (applicationId: string, interactionToken: string, messageId: string, options?: O) => Response<any>;
1161
- getGateway: (options?: O) => Response<any>;
1162
- getGatewayBot: (options?: O) => Response<GetGatewayBotResponse>;
1460
+ getFollowupMessage: (applicationId: string, interactionToken: string, messageId: string, options?: O) => RestResponse<any>;
1461
+ getGateway: (options?: O) => RestResponse<any>;
1462
+ getGatewayBot: (options?: O) => RestResponse<GetGatewayBotResponse>;
1163
1463
  /** Fetch a global command for your application. Returns an application command object. */
1164
- getGlobalApplicationCommand: (applicationId: string, commandId: string, options?: O) => Response<ApplicationCommand>;
1165
- /** Fetch all of the global commands for your application. Returns an array of application command objects. */
1166
- getGlobalApplicationCommands: (applicationId: string, options?: O) => Response<ApplicationCommand[]>;
1464
+ getGlobalApplicationCommand: (applicationId: string, commandId: string, options?: O) => RestResponse<ApplicationCommand>;
1465
+ getGlobalApplicationCommands: (applicationId: string, params?: Partial<GetGlobalApplicationCommandParams>, options?: O) => RestResponse<ApplicationCommand[]>;
1167
1466
  /** Returns the guild object for the given id. If with_counts is set to true, this endpoint will also return approximate_member_count and approximate_presence_count for the guild. */
1168
- getGuild: (guildId: string, params?: Partial<GetGuildParams>, options?: O) => Response<Guild>;
1467
+ getGuild: (guildId: string, params?: Partial<GetGuildParams>, options?: O) => RestResponse<Guild>;
1169
1468
  /** Fetch a guild command for your application. Returns an application command object. */
1170
- getGuildApplicationCommand: (applicationId: string, guildId: string, commandId: string, options?: O) => Response<ApplicationCommand>;
1171
- /** Fetches command permissions for all commands for your application in a guild. Returns an array of guild application command permissions objects. */
1172
- getGuildApplicationCommandPermissions: (applicationId: string, guildId: string, options?: O) => Response<GuildApplicationCommandPermission[]>;
1173
- /** Fetch all of the guild commands for your application for a specific guild. Returns an array of application command objects. */
1174
- getGuildApplicationCommands: (applicationId: string, guildId: string, options?: O) => Response<ApplicationCommand[]>;
1175
- /** Returns an audit log object for the guild. Requires the 'VIEW_AUDIT_LOG' permission. */
1176
- getGuildAuditLog: (guildId: string, params?: Partial<GetGuildAuditLogParams>, options?: O) => Response<AuditLog>;
1469
+ getGuildApplicationCommand: (applicationId: string, guildId: string, commandId: string, options?: O) => RestResponse<ApplicationCommand>;
1470
+ /** Fetches permissions for all commands for your application in a guild. Returns an array of guild application command permissions objects. */
1471
+ getGuildApplicationCommandPermissions: (applicationId: string, guildId: string, options?: O) => RestResponse<GuildApplicationCommandPermission[]>;
1472
+ getGuildApplicationCommands: (applicationId: string, guildId: string, params?: Partial<GetGuildApplicationCommandParams>, options?: O) => RestResponse<ApplicationCommand[]>;
1473
+ /** Returns an audit log object for the guild. Requires the VIEW_AUDIT_LOG permission. */
1474
+ getGuildAuditLog: (guildId: string, params?: Partial<GetGuildAuditLogParams>, options?: O) => RestResponse<AuditLog>;
1177
1475
  /** Returns a ban object for the given user or a 404 not found if the ban cannot be found. Requires the BAN_MEMBERS permission. */
1178
- getGuildBan: (guildId: string, userId: string, options?: O) => Response<Ban>;
1476
+ getGuildBan: (guildId: string, userId: string, options?: O) => RestResponse<Ban>;
1179
1477
  /** Returns a list of ban objects for the users banned from this guild. Requires the BAN_MEMBERS permission. */
1180
- getGuildBans: (guildId: string, options?: O) => Response<Ban[]>;
1478
+ getGuildBans: (guildId: string, params?: Partial<GetGuildBanParams>, options?: O) => RestResponse<Ban[]>;
1181
1479
  /** Returns a list of guild channel objects. Does not include threads. */
1182
- getGuildChannels: (guildId: string, options?: O) => Response<Channel[]>;
1480
+ getGuildChannels: (guildId: string, options?: O) => RestResponse<Channel[]>;
1183
1481
  /** Returns an emoji object for the given guild and emoji IDs. */
1184
- getGuildEmoji: (guildId: string, emojiId: string, options?: O) => Response<Emoji>;
1482
+ getGuildEmoji: (guildId: string, emojiId: string, options?: O) => RestResponse<Emoji>;
1185
1483
  /** Returns a list of integration objects for the guild. Requires the MANAGE_GUILD permission. */
1186
- getGuildIntegrations: (guildId: string, options?: O) => Response<Integration[]>;
1484
+ getGuildIntegrations: (guildId: string, options?: O) => RestResponse<Integration[]>;
1187
1485
  /** Returns a list of invite objects (with invite metadata) for the guild. Requires the MANAGE_GUILD permission. */
1188
- getGuildInvites: (guildId: string, options?: O) => Response<Invite[]>;
1486
+ getGuildInvites: (guildId: string, options?: O) => RestResponse<Invite[]>;
1189
1487
  /** Returns a guild member object for the specified user. */
1190
- getGuildMember: (guildId: string, userId: string, options?: O) => Response<GuildMember>;
1488
+ getGuildMember: (guildId: string, userId: string, options?: O) => RestResponse<GuildMember>;
1191
1489
  /** Returns the guild preview object for the given id. If the user is not in the guild, then the guild must be lurkable. */
1192
- getGuildPreview: (guildId: string, options?: O) => Response<GuildPreview>;
1193
- /** Returns an object with one 'pruned' key indicating the number of members that would be removed in a prune operation. Requires the KICK_MEMBERS permission. */
1194
- getGuildPruneCount: (guildId: string, params?: Partial<GetGuildPruneCountParams>, options?: O) => Response<any>;
1490
+ getGuildPreview: (guildId: string, options?: O) => RestResponse<GuildPreview>;
1491
+ /** Returns an object with one pruned key indicating the number of members that would be removed in a prune operation. Requires the KICK_MEMBERS permission. */
1492
+ getGuildPruneCount: (guildId: string, params?: Partial<GetGuildPruneCountParams>, options?: O) => RestResponse<any>;
1195
1493
  /** Returns a list of role objects for the guild. */
1196
- getGuildRoles: (guildId: string, options?: O) => Response<Role[]>;
1494
+ getGuildRoles: (guildId: string, options?: O) => RestResponse<Role[]>;
1197
1495
  /** Get a guild scheduled event. Returns a guild scheduled event object on success. */
1198
- getGuildScheduledEvent: (guildId: string, guildScheduledEventId: string, params?: Partial<GetGuildScheduledEventParams>, options?: O) => Response<GuildScheduledEvent>;
1496
+ getGuildScheduledEvent: (guildId: string, guildScheduledEventId: string, params?: Partial<GetGuildScheduledEventParams>, options?: O) => RestResponse<GuildScheduledEvent>;
1199
1497
  /** Get a list of guild scheduled event users subscribed to a guild scheduled event. Returns a list of guild scheduled event user objects on success. Guild member data, if it exists, is included if the with_member query parameter is set. */
1200
- getGuildScheduledEventUsers: (guildId: string, guildScheduledEventId: string, params?: Partial<GetGuildScheduledEventUserParams>, options?: O) => Response<GuildScheduledEventUser[]>;
1498
+ getGuildScheduledEventUsers: (guildId: string, guildScheduledEventId: string, params?: Partial<GetGuildScheduledEventUserParams>, options?: O) => RestResponse<GuildScheduledEventUser[]>;
1201
1499
  /** Returns a sticker object for the given guild and sticker IDs. Includes the user field if the bot has the MANAGE_EMOJIS_AND_STICKERS permission. */
1202
- getGuildSticker: (guildId: string, stickerId: string, options?: O) => Response<Sticker>;
1500
+ getGuildSticker: (guildId: string, stickerId: string, options?: O) => RestResponse<Sticker>;
1203
1501
  /** Returns a guild template object for the given code. */
1204
- getGuildTemplate: (templateCode: string, options?: O) => Response<GuildTemplate>;
1502
+ getGuildTemplate: (templateCode: string, options?: O) => RestResponse<GuildTemplate>;
1205
1503
  /** Returns an array of guild template objects. Requires the MANAGE_GUILD permission. */
1206
- getGuildTemplates: (guildId: string, options?: O) => Response<GuildTemplate[]>;
1504
+ getGuildTemplates: (guildId: string, options?: O) => RestResponse<GuildTemplate[]>;
1207
1505
  /** Returns a partial invite object for guilds with that feature enabled. Requires the MANAGE_GUILD permission. code will be null if a vanity url for the guild is not set. */
1208
- getGuildVanityUrl: (guildId: string, options?: O) => Response<Invite>;
1506
+ getGuildVanityUrl: (guildId: string, options?: O) => RestResponse<Invite>;
1209
1507
  /** Returns a list of voice region objects for the guild. Unlike the similar /voice route, this returns VIP servers when the guild is VIP-enabled. */
1210
- getGuildVoiceRegions: (guildId: string, options?: O) => Response<VoiceRegion[]>;
1508
+ getGuildVoiceRegions: (guildId: string, options?: O) => RestResponse<VoiceRegion[]>;
1211
1509
  /** Returns a list of guild webhook objects. Requires the MANAGE_WEBHOOKS permission. */
1212
- getGuildWebhooks: (guildId: string, options?: O) => Response<Webhook[]>;
1510
+ getGuildWebhooks: (guildId: string, options?: O) => RestResponse<Webhook[]>;
1213
1511
  /** Returns the Welcome Screen object for the guild. If the welcome screen is not enabled, the MANAGE_GUILD permission is required. */
1214
- getGuildWelcomeScreen: (guildId: string, options?: O) => Response<WelcomeScreen>;
1512
+ getGuildWelcomeScreen: (guildId: string, options?: O) => RestResponse<WelcomeScreen>;
1215
1513
  /** Returns the widget for the guild. */
1216
- getGuildWidget: (guildId: string, options?: O) => Response<GetGuildWidget>;
1514
+ getGuildWidget: (guildId: string, options?: O) => RestResponse<GuildWidget>;
1217
1515
  /** Returns a PNG image widget for the guild. Requires no permissions or authentication. */
1218
- getGuildWidgetImage: (guildId: string, params?: Partial<GetGuildWidgetImageParams>, options?: O) => Response<any>;
1516
+ getGuildWidgetImage: (guildId: string, params?: Partial<GetGuildWidgetImageParams>, options?: O) => RestResponse<any>;
1219
1517
  /** Returns a guild widget settings object. Requires the MANAGE_GUILD permission. */
1220
- getGuildWidgetSettings: (guildId: string, options?: O) => Response<GuildWidgetSetting>;
1518
+ getGuildWidgetSettings: (guildId: string, options?: O) => RestResponse<GuildWidgetSetting>;
1221
1519
  /** Returns an invite object for the given code. */
1222
- getInvite: (inviteCode: string, params?: Partial<GetInviteParams>, options?: O) => Response<Invite>;
1520
+ getInvite: (inviteCode: string, params?: Partial<GetInviteParams>, options?: O) => RestResponse<Invite>;
1223
1521
  /** Returns the initial Interaction response. Functions the same as Get Webhook Message. */
1224
- getOriginalInteractionResponse: (applicationId: string, interactionToken: string, options?: O) => Response<any>;
1522
+ getOriginalInteractionResponse: (applicationId: string, interactionToken: string, options?: O) => RestResponse<any>;
1225
1523
  /** Returns all pinned messages in the channel as an array of message objects. */
1226
- getPinnedMessages: (channelId: string, options?: O) => Response<Message[]>;
1524
+ getPinnedMessages: (channelId: string, options?: O) => RestResponse<Message[]>;
1227
1525
  /** Get a list of users that reacted with this emoji. Returns an array of user objects on success.
1228
1526
  The emoji must be URL Encoded or the request will fail with 10014: Unknown Emoji. To use custom emoji, you must encode it in the format name:id with the emoji name and emoji id. */
1229
- getReactions: (channelId: string, messageId: string, emoji: string, params?: Partial<GetReactionParams>, options?: O) => Response<User[]>;
1527
+ getReactions: (channelId: string, messageId: string, emoji: string, params?: Partial<GetReactionParams>, options?: O) => RestResponse<User[]>;
1230
1528
  /** Gets the stage instance associated with the Stage channel, if it exists. */
1231
- getStageInstance: (channelId: string, options?: O) => Response<any>;
1529
+ getStageInstance: (channelId: string, options?: O) => RestResponse<any>;
1232
1530
  /** Returns a sticker object for the given sticker ID. */
1233
- getSticker: (stickerId: string, options?: O) => Response<Sticker>;
1531
+ getSticker: (stickerId: string, options?: O) => RestResponse<Sticker>;
1234
1532
  /** Returns a thread member object for the specified user if they are a member of the thread, returns a 404 response otherwise. */
1235
- getThreadMember: (channelId: string, userId: string, options?: O) => Response<ThreadMember>;
1533
+ getThreadMember: (channelId: string, userId: string, options?: O) => RestResponse<ThreadMember>;
1236
1534
  /** Returns a user object for a given user ID. */
1237
- getUser: (userId: string, options?: O) => Response<User>;
1535
+ getUser: (userId: string, options?: O) => RestResponse<User>;
1238
1536
  /** Returns a list of connection objects. Requires the connections OAuth2 scope. */
1239
- getUserConnections: (options?: O) => Response<Connection[]>;
1537
+ getUserConnections: (options?: O) => RestResponse<Connection[]>;
1240
1538
  /** Returns the new webhook object for the given id. */
1241
- getWebhook: (webhookId: string, options?: O) => Response<Webhook>;
1539
+ getWebhook: (webhookId: string, options?: O) => RestResponse<Webhook>;
1242
1540
  /** Returns a previously-sent webhook message from the same token. Returns a message object on success. */
1243
- getWebhookMessage: (webhookId: string, webhookToken: string, messageId: string, params?: Partial<GetWebhookMessageParams>, options?: O) => Response<Message>;
1541
+ getWebhookMessage: (webhookId: string, webhookToken: string, messageId: string, params?: Partial<GetWebhookMessageParams>, options?: O) => RestResponse<Message>;
1244
1542
  /** Same as above, except this call does not require authentication and returns no user in the webhook object. */
1245
- getWebhookWithToken: (webhookId: string, webhookToken: string, options?: O) => Response<any>;
1543
+ getWebhookWithToken: (webhookId: string, webhookToken: string, options?: O) => RestResponse<any>;
1246
1544
  /** Adds a recipient to a Group DM using their access token. */
1247
- groupDmAddRecipient: (channelId: string, userId: string, params?: Partial<GroupDmAddRecipientParams>, options?: O) => Response<any>;
1545
+ groupDmAddRecipient: (channelId: string, userId: string, params?: Partial<GroupDmAddRecipientParams>, options?: O) => RestResponse<any>;
1248
1546
  /** Removes a recipient from a Group DM. */
1249
- groupDmRemoveRecipient: (channelId: string, userId: string, options?: O) => Response<any>;
1547
+ groupDmRemoveRecipient: (channelId: string, userId: string, options?: O) => RestResponse<any>;
1250
1548
  /** Adds the current user to a thread. Also requires the thread is not archived. Returns a 204 empty response on success. Fires a Thread Members Update Gateway event. */
1251
- joinThread: (channelId: string, options?: O) => Response<any>;
1549
+ joinThread: (channelId: string, options?: O) => RestResponse<any>;
1252
1550
  /** Leave a guild. Returns a 204 empty response on success. */
1253
- leaveGuild: (guildId: string, options?: O) => Response<any>;
1551
+ leaveGuild: (guildId: string, options?: O) => RestResponse<any>;
1254
1552
  /** Removes the current user from a thread. Also requires the thread is not archived. Returns a 204 empty response on success. Fires a Thread Members Update Gateway event. */
1255
- leaveThread: (channelId: string, options?: O) => Response<any>;
1256
- /** Returns all active threads in the channel, including public and private threads. Threads are ordered by their id, in descending order. */
1257
- listActiveThreads: (channelId: string, options?: O) => Response<ListActiveThreadResponse>;
1553
+ leaveThread: (channelId: string, options?: O) => RestResponse<any>;
1258
1554
  /** Returns all active threads in the guild, including public and private threads. Threads are ordered by their id, in descending order. */
1259
- listGuildActiveThreads: (guildId: string, options?: O) => Response<ListGuildActiveThreadResponse>;
1555
+ listActiveGuildThreads: (guildId: string, options?: O) => RestResponse<ListActiveGuildThreadResponse>;
1556
+ /** Get a list of all rules currently configured for the guild. Returns a list of auto moderation rule objects for the given guild. */
1557
+ listAutoModerationRulesForGuild: (guildId: string, options?: O) => RestResponse<AutoModerationRule[]>;
1260
1558
  /** Returns a list of emoji objects for the given guild. */
1261
- listGuildEmojis: (guildId: string, options?: O) => Response<Emoji[]>;
1559
+ listGuildEmojis: (guildId: string, options?: O) => RestResponse<Emoji[]>;
1262
1560
  /** Returns a list of guild member objects that are members of the guild. */
1263
- listGuildMembers: (guildId: string, params?: Partial<ListGuildMemberParams>, options?: O) => Response<GuildMember[]>;
1561
+ listGuildMembers: (guildId: string, params?: Partial<ListGuildMemberParams>, options?: O) => RestResponse<GuildMember[]>;
1264
1562
  /** Returns an array of sticker objects for the given guild. Includes user fields if the bot has the MANAGE_EMOJIS_AND_STICKERS permission. */
1265
- listGuildStickers: (guildId: string, options?: O) => Response<Sticker[]>;
1266
- /** Returns archived threads in the channel that are of type GUILD_PRIVATE_THREAD, and the user has joined. Threads are ordered by their id, in descending order. Requires the READ_MESSAGE_HISTORY permission. */
1267
- listJoinedPrivateArchivedThreads: (channelId: string, params?: Partial<ListJoinedPrivateArchivedThreadParams>, options?: O) => Response<ListJoinedPrivateArchivedThreadResponse>;
1563
+ listGuildStickers: (guildId: string, options?: O) => RestResponse<Sticker[]>;
1564
+ /** Returns archived threads in the channel that are of type PRIVATE_THREAD, and the user has joined. Threads are ordered by their id, in descending order. Requires the READ_MESSAGE_HISTORY permission. */
1565
+ listJoinedPrivateArchivedThreads: (channelId: string, params?: Partial<ListJoinedPrivateArchivedThreadParams>, options?: O) => RestResponse<ListJoinedPrivateArchivedThreadResponse>;
1268
1566
  /** Returns the list of sticker packs available to Nitro subscribers. */
1269
- listNitroStickerPacks: (options?: O) => Response<any>;
1270
- /** Returns archived threads in the channel that are of type GUILD_PRIVATE_THREAD. Threads are ordered by archive_timestamp, in descending order. Requires both the READ_MESSAGE_HISTORY and MANAGE_THREADS permissions. */
1271
- listPrivateArchivedThreads: (channelId: string, params?: Partial<ListPrivateArchivedThreadParams>, options?: O) => Response<ListPrivateArchivedThreadResponse>;
1272
- /** Returns archived threads in the channel that are public. When called on a GUILD_TEXT channel, returns threads of type GUILD_PUBLIC_THREAD. When called on a GUILD_NEWS channel returns threads of type GUILD_NEWS_THREAD. Threads are ordered by archive_timestamp, in descending order. Requires the READ_MESSAGE_HISTORY permission. */
1273
- listPublicArchivedThreads: (channelId: string, params?: Partial<ListPublicArchivedThreadParams>, options?: O) => Response<ListPublicArchivedThreadResponse>;
1567
+ listNitroStickerPacks: (options?: O) => RestResponse<any>;
1568
+ /** Returns archived threads in the channel that are of type PRIVATE_THREAD. Threads are ordered by archive_timestamp, in descending order. Requires both the READ_MESSAGE_HISTORY and MANAGE_THREADS permissions. */
1569
+ listPrivateArchivedThreads: (channelId: string, params?: Partial<ListPrivateArchivedThreadParams>, options?: O) => RestResponse<ListPrivateArchivedThreadResponse>;
1570
+ /** Returns archived threads in the channel that are public. When called on a GUILD_TEXT channel, returns threads of type PUBLIC_THREAD. When called on a GUILD_ANNOUNCEMENT channel returns threads of type ANNOUNCEMENT_THREAD. Threads are ordered by archive_timestamp, in descending order. Requires the READ_MESSAGE_HISTORY permission. */
1571
+ listPublicArchivedThreads: (channelId: string, params?: Partial<ListPublicArchivedThreadParams>, options?: O) => RestResponse<ListPublicArchivedThreadResponse>;
1274
1572
  /** Returns a list of guild scheduled event objects for the given guild. */
1275
- listScheduledEventsForGuild: (guildId: string, params?: Partial<ListScheduledEventsForGuildParams>, options?: O) => Response<GuildScheduledEvent[]>;
1573
+ listScheduledEventsForGuild: (guildId: string, params?: Partial<ListScheduledEventsForGuildParams>, options?: O) => RestResponse<GuildScheduledEvent[]>;
1276
1574
  /** Returns array of thread members objects that are members of the thread. */
1277
- listThreadMembers: (channelId: string, options?: O) => Response<ThreadMember[]>;
1575
+ listThreadMembers: (channelId: string, options?: O) => RestResponse<ThreadMember[]>;
1278
1576
  /** Returns an array of voice region objects that can be used when setting a voice or stage channel's rtc_region. */
1279
- listVoiceRegions: (options?: O) => Response<VoiceRegion[]>;
1577
+ listVoiceRegions: (options?: O) => RestResponse<VoiceRegion[]>;
1578
+ /** Modify an existing rule. Returns an auto moderation rule on success. Fires an Auto Moderation Rule Update Gateway event. */
1579
+ modifyAutoModerationRule: (guildId: string, autoModerationRuleId: string, params?: Partial<ModifyAutoModerationRuleParams>, options?: O) => RestResponse<AutoModerationRule>;
1280
1580
  /** Update a channel's settings. Returns a channel on success, and a 400 BAD REQUEST on invalid parameters. All JSON parameters are optional. */
1281
- modifyChannel: (channelId: string, params?: Partial<ModifyChannelParams>, options?: O) => Response<Channel>;
1581
+ modifyChannel: (channelId: string, params?: Partial<ModifyChannelParams>, options?: O) => RestResponse<Channel>;
1282
1582
  /** Modifies the current member in a guild. Returns a 200 with the updated member object on success. Fires a Guild Member Update Gateway event. */
1283
- modifyCurrentMember: (guildId: string, params?: Partial<ModifyCurrentMemberParams>, options?: O) => Response<any>;
1284
- /** Modify the requester's user account settings. Returns a user object on success. */
1285
- modifyCurrentUser: (params?: Partial<ModifyCurrentUserParams>, options?: O) => Response<User>;
1286
- modifyCurrentUserNick: (guildId: string, params?: Partial<ModifyCurrentUserNickParams>, options?: O) => Response<any>;
1287
- /** Updates the current user's voice state. Returns 204 No Content on success. */
1288
- modifyCurrentUserVoiceState: (guildId: string, params?: Partial<ModifyCurrentUserVoiceStateParams>, options?: O) => Response<any>;
1583
+ modifyCurrentMember: (guildId: string, params?: Partial<ModifyCurrentMemberParams>, options?: O) => RestResponse<any>;
1584
+ /** Modify the requester's user account settings. Returns a user object on success. Fires a User Update Gateway event. */
1585
+ modifyCurrentUser: (params?: Partial<ModifyCurrentUserParams>, options?: O) => RestResponse<User>;
1586
+ modifyCurrentUserNick: (guildId: string, params?: Partial<ModifyCurrentUserNickParams>, options?: O) => RestResponse<any>;
1587
+ /** Updates the current user's voice state. Returns 204 No Content on success. Fires a Voice State Update Gateway event. */
1588
+ modifyCurrentUserVoiceState: (guildId: string, params?: Partial<ModifyCurrentUserVoiceStateParams>, options?: O) => RestResponse<any>;
1289
1589
  /** Modify a guild's settings. Requires the MANAGE_GUILD permission. Returns the updated guild object on success. Fires a Guild Update Gateway event. */
1290
- modifyGuild: (guildId: string, params?: Partial<ModifyGuildParams>, options?: O) => Response<Guild>;
1590
+ modifyGuild: (guildId: string, params?: Partial<ModifyGuildParams>, options?: O) => RestResponse<Guild>;
1291
1591
  /** Modify the positions of a set of channel objects for the guild. Requires MANAGE_CHANNELS permission. Returns a 204 empty response on success. Fires multiple Channel Update Gateway events. */
1292
- modifyGuildChannelPositions: (guildId: string, params?: Partial<ModifyGuildChannelPositionParams>, options?: O) => Response<any>;
1592
+ modifyGuildChannelPositions: (guildId: string, params?: Partial<ModifyGuildChannelPositionParams>, options?: O) => RestResponse<any>;
1293
1593
  /** Modify the given emoji. Requires the MANAGE_EMOJIS_AND_STICKERS permission. Returns the updated emoji object on success. Fires a Guild Emojis Update Gateway event. */
1294
- modifyGuildEmoji: (guildId: string, emojiId: string, params?: Partial<ModifyGuildEmojiParams>, options?: O) => Response<Emoji>;
1594
+ modifyGuildEmoji: (guildId: string, emojiId: string, params?: Partial<ModifyGuildEmojiParams>, options?: O) => RestResponse<Emoji>;
1295
1595
  /** Modify attributes of a guild member. Returns a 200 OK with the guild member as the body. Fires a Guild Member Update Gateway event. If the channel_id is set to null, this will force the target user to be disconnected from voice. */
1296
- modifyGuildMember: (guildId: string, userId: string, params?: Partial<ModifyGuildMemberParams>, options?: O) => Response<GuildMember>;
1596
+ modifyGuildMember: (guildId: string, userId: string, params?: Partial<ModifyGuildMemberParams>, options?: O) => RestResponse<GuildMember>;
1597
+ /** Modify a guild's MFA level. Requires guild ownership. Returns the updated level on success. Fires a Guild Update Gateway event. */
1598
+ modifyGuildMfaLevel: (guildId: string, params?: Partial<ModifyGuildMfaLevelParams>, options?: O) => RestResponse<MfaLevel>;
1297
1599
  /** Modify a guild role. Requires the MANAGE_ROLES permission. Returns the updated role on success. Fires a Guild Role Update Gateway event. */
1298
- modifyGuildRole: (guildId: string, roleId: string, params?: Partial<ModifyGuildRoleParams>, options?: O) => Response<Role>;
1600
+ modifyGuildRole: (guildId: string, roleId: string, params?: Partial<ModifyGuildRoleParams>, options?: O) => RestResponse<Role>;
1299
1601
  /** Modify the positions of a set of role objects for the guild. Requires the MANAGE_ROLES permission. Returns a list of all of the guild's role objects on success. Fires multiple Guild Role Update Gateway events. */
1300
- modifyGuildRolePositions: (guildId: string, params?: Partial<ModifyGuildRolePositionParams>, options?: O) => Response<Role[]>;
1301
- /** Modify a guild scheduled event. Returns the modified guild scheduled event object on success. */
1302
- modifyGuildScheduledEvent: (guildId: string, guildScheduledEventId: string, params?: Partial<ModifyGuildScheduledEventParams>, options?: O) => Response<GuildScheduledEvent>;
1303
- /** Modify the given sticker. Requires the MANAGE_EMOJIS_AND_STICKERS permission. Returns the updated sticker object on success. */
1304
- modifyGuildSticker: (guildId: string, stickerId: string, params?: Partial<ModifyGuildStickerParams>, options?: O) => Response<Sticker>;
1602
+ modifyGuildRolePositions: (guildId: string, params?: Partial<ModifyGuildRolePositionParams>, options?: O) => RestResponse<Role[]>;
1603
+ /** Modify a guild scheduled event. Returns the modified guild scheduled event object on success. Fires a Guild Scheduled Event Update Gateway event. */
1604
+ modifyGuildScheduledEvent: (guildId: string, guildScheduledEventId: string, params?: Partial<ModifyGuildScheduledEventParams>, options?: O) => RestResponse<GuildScheduledEvent>;
1605
+ /** Modify the given sticker. Requires the MANAGE_EMOJIS_AND_STICKERS permission. Returns the updated sticker object on success. Fires a Guild Stickers Update Gateway event. */
1606
+ modifyGuildSticker: (guildId: string, stickerId: string, params?: Partial<ModifyGuildStickerParams>, options?: O) => RestResponse<Sticker>;
1305
1607
  /** Modifies the template's metadata. Requires the MANAGE_GUILD permission. Returns the guild template object on success. */
1306
- modifyGuildTemplate: (guildId: string, templateCode: string, params?: Partial<ModifyGuildTemplateParams>, options?: O) => Response<GuildTemplate>;
1608
+ modifyGuildTemplate: (guildId: string, templateCode: string, params?: Partial<ModifyGuildTemplateParams>, options?: O) => RestResponse<GuildTemplate>;
1307
1609
  /** Modify the guild's Welcome Screen. Requires the MANAGE_GUILD permission. Returns the updated Welcome Screen object. */
1308
- modifyGuildWelcomeScreen: (guildId: string, params?: Partial<ModifyGuildWelcomeScreenParams>, options?: O) => Response<WelcomeScreen>;
1610
+ modifyGuildWelcomeScreen: (guildId: string, params?: Partial<ModifyGuildWelcomeScreenParams>, options?: O) => RestResponse<WelcomeScreen>;
1309
1611
  /** Modify a guild widget settings object for the guild. All attributes may be passed in with JSON and modified. Requires the MANAGE_GUILD permission. Returns the updated guild widget object. */
1310
- modifyGuildWidget: (guildId: string, options?: O) => Response<GuildWidgetSetting>;
1311
- /** Updates fields of an existing Stage instance. Returns the updated Stage instance. */
1312
- modifyStageInstance: (channelId: string, params?: Partial<ModifyStageInstanceParams>, options?: O) => Response<StageInstance>;
1313
- /** Updates another user's voice state. */
1314
- modifyUserVoiceState: (guildId: string, userId: string, params?: Partial<ModifyUserVoiceStateParams>, options?: O) => Response<any>;
1315
- /** Modify a webhook. Requires the MANAGE_WEBHOOKS permission. Returns the updated webhook object on success. */
1316
- modifyWebhook: (webhookId: string, params?: Partial<ModifyWebhookParams>, options?: O) => Response<Webhook>;
1612
+ modifyGuildWidget: (guildId: string, options?: O) => RestResponse<GuildWidgetSetting>;
1613
+ /** Updates fields of an existing Stage instance. Returns the updated Stage instance. Fires a Stage Instance Update Gateway event. */
1614
+ modifyStageInstance: (channelId: string, params?: Partial<ModifyStageInstanceParams>, options?: O) => RestResponse<StageInstance>;
1615
+ /** Updates another user's voice state. Fires a Voice State Update Gateway event. */
1616
+ modifyUserVoiceState: (guildId: string, userId: string, params?: Partial<ModifyUserVoiceStateParams>, options?: O) => RestResponse<any>;
1617
+ /** Modify a webhook. Requires the MANAGE_WEBHOOKS permission. Returns the updated webhook object on success. Fires a Webhooks Update Gateway event. */
1618
+ modifyWebhook: (webhookId: string, params?: Partial<ModifyWebhookParams>, options?: O) => RestResponse<Webhook>;
1317
1619
  /** Same as above, except this call does not require authentication, does not accept a channel_id parameter in the body, and does not return a user in the webhook object. */
1318
- modifyWebhookWithToken: (webhookId: string, webhookToken: string, options?: O) => Response<any>;
1319
- /** Pin a message in a channel. Requires the MANAGE_MESSAGES permission. Returns a 204 empty response on success. */
1320
- pinMessage: (channelId: string, messageId: string, options?: O) => Response<any>;
1620
+ modifyWebhookWithToken: (webhookId: string, webhookToken: string, options?: O) => RestResponse<any>;
1621
+ /** Pin a message in a channel. Requires the MANAGE_MESSAGES permission. Returns a 204 empty response on success. Fires a Channel Pins Update Gateway event. */
1622
+ pinMessage: (channelId: string, messageId: string, options?: O) => RestResponse<any>;
1321
1623
  /** Remove the ban for a user. Requires the BAN_MEMBERS permissions. Returns a 204 empty response on success. Fires a Guild Ban Remove Gateway event. */
1322
- removeGuildBan: (guildId: string, userId: string, options?: O) => Response<any>;
1624
+ removeGuildBan: (guildId: string, userId: string, options?: O) => RestResponse<any>;
1323
1625
  /** Remove a member from a guild. Requires KICK_MEMBERS permission. Returns a 204 empty response on success. Fires a Guild Member Remove Gateway event. */
1324
- removeGuildMember: (guildId: string, userId: string, options?: O) => Response<any>;
1626
+ removeGuildMember: (guildId: string, userId: string, options?: O) => RestResponse<any>;
1325
1627
  /** Removes a role from a guild member. Requires the MANAGE_ROLES permission. Returns a 204 empty response on success. Fires a Guild Member Update Gateway event. */
1326
- removeGuildMemberRole: (guildId: string, userId: string, roleId: string, options?: O) => Response<any>;
1327
- /** Removes another member from a thread. Requires the MANAGE_THREADS permission, or the creator of the thread if it is a GUILD_PRIVATE_THREAD. Also requires the thread is not archived. Returns a 204 empty response on success. Fires a Thread Members Update Gateway event. */
1328
- removeThreadMember: (channelId: string, userId: string, options?: O) => Response<any>;
1628
+ removeGuildMemberRole: (guildId: string, userId: string, roleId: string, options?: O) => RestResponse<any>;
1629
+ /** Removes another member from a thread. Requires the MANAGE_THREADS permission, or the creator of the thread if it is a PRIVATE_THREAD. Also requires the thread is not archived. Returns a 204 empty response on success. Fires a Thread Members Update Gateway event. */
1630
+ removeThreadMember: (channelId: string, userId: string, options?: O) => RestResponse<any>;
1329
1631
  /** Returns a list of guild member objects whose username or nickname starts with a provided string. */
1330
- searchGuildMembers: (guildId: string, params?: Partial<SearchGuildMemberParams>, options?: O) => Response<GuildMember[]>;
1632
+ searchGuildMembers: (guildId: string, params?: Partial<SearchGuildMemberParams>, options?: O) => RestResponse<GuildMember[]>;
1331
1633
  /** Creates a new thread from an existing message. Returns a channel on success, and a 400 BAD REQUEST on invalid parameters. Fires a Thread Create Gateway event. */
1332
- startThreadWithMessage: (channelId: string, messageId: string, params?: Partial<StartThreadWithMessageParams>, options?: O) => Response<Channel>;
1333
- /** Creates a new thread that is not connected to an existing message. The created thread defaults to a GUILD_PRIVATE_THREAD*. Returns a channel on success, and a 400 BAD REQUEST on invalid parameters. Fires a Thread Create Gateway event. */
1334
- startThreadWithoutMessage: (channelId: string, params?: Partial<StartThreadWithoutMessageParams>, options?: O) => Response<Channel>;
1634
+ startThreadFromMessage: (channelId: string, messageId: string, params?: Partial<StartThreadFromMessageParams>, options?: O) => RestResponse<Channel>;
1635
+ /** Creates a new thread in a forum channel, and sends a message within the created thread. Returns a channel, with a nested message object, on success, and a 400 BAD REQUEST on invalid parameters. Fires a Thread Create and Message Create Gateway event. */
1636
+ startThreadInForumChannel: (channelId: string, params?: Partial<StartThreadInForumChannelParams>, options?: O) => RestResponse<Channel>;
1637
+ /** Creates a new thread that is not connected to an existing message. Returns a channel on success, and a 400 BAD REQUEST on invalid parameters. Fires a Thread Create Gateway event. */
1638
+ startThreadWithoutMessage: (channelId: string, params?: Partial<StartThreadWithoutMessageParams>, options?: O) => RestResponse<Channel>;
1335
1639
  /** Syncs the template to the guild's current state. Requires the MANAGE_GUILD permission. Returns the guild template object on success. */
1336
- syncGuildTemplate: (guildId: string, templateCode: string, options?: O) => Response<GuildTemplate>;
1640
+ syncGuildTemplate: (guildId: string, templateCode: string, options?: O) => RestResponse<GuildTemplate>;
1337
1641
  /** Post a typing indicator for the specified channel. Generally bots should not implement this route. However, if a bot is responding to a command and expects the computation to take a few seconds, this endpoint may be called to let the user know that the bot is processing their message. Returns a 204 empty response on success. Fires a Typing Start Gateway event. */
1338
- triggerTypingIndicator: (channelId: string, options?: O) => Response<any>;
1339
- /** Unpin a message in a channel. Requires the MANAGE_MESSAGES permission. Returns a 204 empty response on success. */
1340
- unpinMessage: (channelId: string, messageId: string, options?: O) => Response<any>;
1642
+ triggerTypingIndicator: (channelId: string, options?: O) => RestResponse<any>;
1643
+ /** Unpin a message in a channel. Requires the MANAGE_MESSAGES permission. Returns a 204 empty response on success. Fires a Channel Pins Update Gateway event. */
1644
+ unpinMessage: (channelId: string, messageId: string, options?: O) => RestResponse<any>;
1645
+ }
1646
+ export declare enum EventType {
1647
+ /** when a member sends or edits a message in the guild */
1648
+ MESSAGE_SEND = 1
1341
1649
  }
1342
1650
  export interface ExecuteWebhookParams {
1343
1651
  /** the message contents (up to 2000 characters) */
@@ -1362,6 +1670,8 @@ export interface ExecuteWebhookParams {
1362
1670
  attachments: Attachment[];
1363
1671
  /** message flags combined as a bitfield (only SUPPRESS_EMBEDS can be set) */
1364
1672
  flags: number;
1673
+ /** name of thread to create (requires the webhook channel to be a forum channel) */
1674
+ thread_name: string;
1365
1675
  }
1366
1676
  export declare enum ExplicitContentFilterLevel {
1367
1677
  /** media content will not be scanned */
@@ -1371,85 +1681,47 @@ export declare enum ExplicitContentFilterLevel {
1371
1681
  /** media content sent by all members will be scanned */
1372
1682
  ALL_MEMBERS = 2
1373
1683
  }
1684
+ export interface FollowAnnouncementChannelParams {
1685
+ /** id of target channel */
1686
+ webhook_channel_id: Snowflake;
1687
+ }
1374
1688
  export interface FollowedChannel {
1375
1689
  /** source channel id */
1376
1690
  channel_id: Snowflake;
1377
1691
  /** created target webhook id */
1378
1692
  webhook_id: Snowflake;
1379
1693
  }
1380
- export interface FollowNewsChannelParams {
1381
- /** id of target channel */
1382
- webhook_channel_id: Snowflake;
1383
- }
1384
- export declare type GatewayCommand = Identify | Resume | Heartbeat | RequestGuildMember | UpdateVoiceState | UpdatePresence;
1385
- export interface GatewayCommands {
1386
- IDENTIFY: Identify;
1387
- RESUME: Resume;
1388
- HEARTBEAT: Heartbeat;
1389
- REQUEST_GUILD_MEMBERS: RequestGuildMember;
1390
- UPDATE_VOICE_STATE: UpdateVoiceState;
1391
- UPDATE_PRESENCE: UpdatePresence;
1694
+ export interface ForumTag {
1695
+ /** the id of the tag */
1696
+ id: Snowflake;
1697
+ /** the name of the tag (0-20 characters) */
1698
+ name: string;
1699
+ /** whether this tag can only be added to or removed from threads by a member with the MANAGE_THREADS permission */
1700
+ moderated: boolean;
1701
+ /** the id of a guild's custom emoji * */
1702
+ emoji_id: Snowflake;
1703
+ /** the unicode character of the emoji * */
1704
+ emoji_name?: string | null;
1392
1705
  }
1393
- export declare type GatewayEvent = HelloEvent | ReadyEvent | ResumedEvent | ReconnectEvent | InvalidSessionEvent | ChannelCreateEvent | ChannelUpdateEvent | ChannelDeleteEvent | ChannelPinsUpdateEvent | ThreadCreateEvent | ThreadUpdateEvent | ThreadDeleteEvent | ThreadListSyncEvent | ThreadMemberUpdateEvent | ThreadMembersUpdateEvent | GuildCreateEvent | GuildUpdateEvent | GuildDeleteEvent | GuildBanAddEvent | GuildBanRemoveEvent | GuildEmojisUpdateEvent | GuildStickersUpdateEvent | GuildIntegrationsUpdateEvent | GuildMemberAddEvent | GuildMemberRemoveEvent | GuildMemberUpdateEvent | GuildMembersChunkEvent | GuildRoleCreateEvent | GuildRoleUpdateEvent | GuildRoleDeleteEvent | GuildScheduledEventCreateEvent | GuildScheduledEventUpdateEvent | GuildScheduledEventDeleteEvent | GuildScheduledEventUserAddEvent | GuildScheduledEventUserRemoveEvent | IntegrationCreateEvent | IntegrationUpdateEvent | IntegrationDeleteEvent | InteractionCreateEvent | InviteCreateEvent | InviteDeleteEvent | MessageCreateEvent | MessageUpdateEvent | MessageDeleteEvent | MessageDeleteBulkEvent | MessageReactionAddEvent | MessageReactionRemoveEvent | MessageReactionRemoveAllEvent | MessageReactionRemoveEmojiEvent | PresenceUpdateEvent | StageInstanceCreateEvent | StageInstanceDeleteEvent | StageInstanceUpdateEvent | TypingStartEvent | UserUpdateEvent | VoiceStateUpdateEvent | VoiceServerUpdateEvent | WebhooksUpdateEvent;
1394
- export interface GatewayEvents {
1395
- HELLO: HelloEvent;
1396
- READY: ReadyEvent;
1397
- RESUMED: ResumedEvent;
1398
- RECONNECT: ReconnectEvent;
1399
- INVALID_SESSION: InvalidSessionEvent;
1400
- CHANNEL_CREATE: ChannelCreateEvent;
1401
- CHANNEL_UPDATE: ChannelUpdateEvent;
1402
- CHANNEL_DELETE: ChannelDeleteEvent;
1403
- CHANNEL_PINS_UPDATE: ChannelPinsUpdateEvent;
1404
- THREAD_CREATE: ThreadCreateEvent;
1405
- THREAD_UPDATE: ThreadUpdateEvent;
1406
- THREAD_DELETE: ThreadDeleteEvent;
1407
- THREAD_LIST_SYNC: ThreadListSyncEvent;
1408
- THREAD_MEMBER_UPDATE: ThreadMemberUpdateEvent;
1409
- THREAD_MEMBERS_UPDATE: ThreadMembersUpdateEvent;
1410
- GUILD_CREATE: GuildCreateEvent;
1411
- GUILD_UPDATE: GuildUpdateEvent;
1412
- GUILD_DELETE: GuildDeleteEvent;
1413
- GUILD_BAN_ADD: GuildBanAddEvent;
1414
- GUILD_BAN_REMOVE: GuildBanRemoveEvent;
1415
- GUILD_EMOJIS_UPDATE: GuildEmojisUpdateEvent;
1416
- GUILD_STICKERS_UPDATE: GuildStickersUpdateEvent;
1417
- GUILD_INTEGRATIONS_UPDATE: GuildIntegrationsUpdateEvent;
1418
- GUILD_MEMBER_ADD: GuildMemberAddEvent;
1419
- GUILD_MEMBER_REMOVE: GuildMemberRemoveEvent;
1420
- GUILD_MEMBER_UPDATE: GuildMemberUpdateEvent;
1421
- GUILD_MEMBERS_CHUNK: GuildMembersChunkEvent;
1422
- GUILD_ROLE_CREATE: GuildRoleCreateEvent;
1423
- GUILD_ROLE_UPDATE: GuildRoleUpdateEvent;
1424
- GUILD_ROLE_DELETE: GuildRoleDeleteEvent;
1425
- GUILD_SCHEDULED_EVENT_CREATE: GuildScheduledEventCreateEvent;
1426
- GUILD_SCHEDULED_EVENT_UPDATE: GuildScheduledEventUpdateEvent;
1427
- GUILD_SCHEDULED_EVENT_DELETE: GuildScheduledEventDeleteEvent;
1428
- GUILD_SCHEDULED_EVENT_USER_ADD: GuildScheduledEventUserAddEvent;
1429
- GUILD_SCHEDULED_EVENT_USER_REMOVE: GuildScheduledEventUserRemoveEvent;
1430
- INTEGRATION_CREATE: IntegrationCreateEvent;
1431
- INTEGRATION_UPDATE: IntegrationUpdateEvent;
1432
- INTEGRATION_DELETE: IntegrationDeleteEvent;
1433
- INTERACTION_CREATE: InteractionCreateEvent;
1434
- INVITE_CREATE: InviteCreateEvent;
1435
- INVITE_DELETE: InviteDeleteEvent;
1436
- MESSAGE_CREATE: MessageCreateEvent;
1437
- MESSAGE_UPDATE: MessageUpdateEvent;
1438
- MESSAGE_DELETE: MessageDeleteEvent;
1439
- MESSAGE_DELETE_BULK: MessageDeleteBulkEvent;
1440
- MESSAGE_REACTION_ADD: MessageReactionAddEvent;
1441
- MESSAGE_REACTION_REMOVE: MessageReactionRemoveEvent;
1442
- MESSAGE_REACTION_REMOVE_ALL: MessageReactionRemoveAllEvent;
1443
- MESSAGE_REACTION_REMOVE_EMOJI: MessageReactionRemoveEmojiEvent;
1444
- PRESENCE_UPDATE: PresenceUpdateEvent;
1445
- STAGE_INSTANCE_CREATE: StageInstanceCreateEvent;
1446
- STAGE_INSTANCE_DELETE: StageInstanceDeleteEvent;
1447
- STAGE_INSTANCE_UPDATE: StageInstanceUpdateEvent;
1448
- TYPING_START: TypingStartEvent;
1449
- USER_UPDATE: UserUpdateEvent;
1450
- VOICE_STATE_UPDATE: VoiceStateUpdateEvent;
1451
- VOICE_SERVER_UPDATE: VoiceServerUpdateEvent;
1452
- WEBHOOKS_UPDATE: WebhooksUpdateEvent;
1706
+ export interface ForumThreadMessageParam {
1707
+ /** Message contents (up to 2000 characters) */
1708
+ content?: string;
1709
+ /** Embedded rich content (up to 6000 characters) */
1710
+ embeds?: Embed[];
1711
+ /** Allowed mentions for the message */
1712
+ allowed_mentions?: AllowedMention;
1713
+ /** Components to include with the message */
1714
+ components?: Component[];
1715
+ /** IDs of up to 3 stickers in the server to send in the message */
1716
+ sticker_ids?: Snowflake[];
1717
+ /** Contents of the file being sent. See Uploading Files */
1718
+ files: string;
1719
+ /** JSON-encoded body of non-file params, only for multipart/form-data requests. See Uploading Files */
1720
+ payload_json?: string;
1721
+ /** Attachment objects with filename and description. See Uploading Files */
1722
+ attachments?: Attachment[];
1723
+ /** Message flags combined as a bitfield (only SUPPRESS_EMBEDS can be set) */
1724
+ flags?: number;
1453
1725
  }
1454
1726
  export declare const GatewayIntents: {
1455
1727
  readonly GUILDS: number;
@@ -1467,7 +1739,10 @@ export declare const GatewayIntents: {
1467
1739
  readonly DIRECT_MESSAGES: number;
1468
1740
  readonly DIRECT_MESSAGE_REACTIONS: number;
1469
1741
  readonly DIRECT_MESSAGE_TYPING: number;
1742
+ readonly MESSAGE_CONTENT: number;
1470
1743
  readonly GUILD_SCHEDULED_EVENTS: number;
1744
+ readonly AUTO_MODERATION_CONFIGURATION: number;
1745
+ readonly AUTO_MODERATION_EXECUTION: number;
1471
1746
  };
1472
1747
  export declare enum GatewayOpcode {
1473
1748
  /** An event was dispatched. */
@@ -1503,15 +1778,33 @@ export interface GatewayPayload<T = any | null> {
1503
1778
  /** the event name for this payload */
1504
1779
  t?: string | null;
1505
1780
  }
1781
+ export interface GatewayUrlQueryStringParam {
1782
+ /** API Version to use */
1783
+ v: number;
1784
+ /** The encoding of received gateway packets */
1785
+ encoding: string;
1786
+ /** The optional transport compression of gateway packets */
1787
+ compress?: string;
1788
+ }
1506
1789
  export interface GetChannelMessageParams {
1507
- /** get messages around this message ID */
1508
- around: Snowflake;
1509
- /** get messages before this message ID */
1510
- before: Snowflake;
1511
- /** get messages after this message ID */
1512
- after: Snowflake;
1513
- /** max number of messages to return (1-100) */
1514
- limit: number;
1790
+ /** Get messages around this message ID */
1791
+ around?: Snowflake;
1792
+ /** Get messages before this message ID */
1793
+ before?: Snowflake;
1794
+ /** Get messages after this message ID */
1795
+ after?: Snowflake;
1796
+ /** Max number of messages to return (1-100) */
1797
+ limit?: number;
1798
+ }
1799
+ export interface GetCurrentAuthorizationInformationResponse {
1800
+ /** the current application */
1801
+ application: Application;
1802
+ /** the scopes the user has authorized the application for */
1803
+ scopes: string[];
1804
+ /** when the access token expires */
1805
+ expires: string;
1806
+ /** the user who has authorized, if the user has authorized with the identify scope */
1807
+ user?: User;
1515
1808
  }
1516
1809
  export interface GetCurrentUserGuildParams {
1517
1810
  /** get guilds before this guild ID */
@@ -1522,22 +1815,38 @@ export interface GetCurrentUserGuildParams {
1522
1815
  limit: number;
1523
1816
  }
1524
1817
  export interface GetGatewayBotResponse {
1525
- /** The WSS URL that can be used for connecting to the gateway */
1818
+ /** WSS URL that can be used for connecting to the Gateway */
1526
1819
  url: string;
1527
- /** The recommended number of shards to use when connecting */
1820
+ /** Recommended number of shards to use when connecting */
1528
1821
  shards: number;
1529
1822
  /** Information on the current session start limit */
1530
1823
  session_start_limit: SessionStartLimit;
1531
1824
  }
1825
+ export interface GetGlobalApplicationCommandParams {
1826
+ /** Whether to include full localization dictionaries (name_localizations and description_localizations) in the returned objects, instead of the name_localized and description_localized fields. Default false. */
1827
+ with_localizations?: boolean;
1828
+ }
1829
+ export interface GetGuildApplicationCommandParams {
1830
+ /** Whether to include full localization dictionaries (name_localizations and description_localizations) in the returned objects, instead of the name_localized and description_localized fields. Default false. */
1831
+ with_localizations?: boolean;
1832
+ }
1532
1833
  export interface GetGuildAuditLogParams {
1533
- /** filter the log for actions made by a user */
1534
- user_id: Snowflake;
1535
- /** the type of audit log event */
1536
- action_type: AuditLogEvent;
1537
- /** filter the log before a certain entry id */
1538
- before: Snowflake;
1539
- /** how many entries are returned (default 50, minimum 1, maximum 100) */
1540
- limit: number;
1834
+ /** Entries from a specific user ID */
1835
+ user_id?: Snowflake;
1836
+ /** Entries for a specific audit log event */
1837
+ action_type?: AuditLogEvent;
1838
+ /** Entries that preceded a specific audit log entry ID */
1839
+ before?: Snowflake;
1840
+ /** Maximum number of entries (between 1-100) to return, defaults to 50 */
1841
+ limit?: number;
1842
+ }
1843
+ export interface GetGuildBanParams {
1844
+ /** number of users to return (up to maximum 1000) */
1845
+ limit?: Number;
1846
+ /** consider only users before given user id */
1847
+ before?: Snowflake;
1848
+ /** consider only users after given user id */
1849
+ after?: Snowflake;
1541
1850
  }
1542
1851
  export interface GetGuildParams {
1543
1852
  /** when true, will return approximate member and presence counts for the guild */
@@ -1563,20 +1872,6 @@ export interface GetGuildScheduledEventUserParams {
1563
1872
  /** consider only users after given user id */
1564
1873
  after?: Snowflake;
1565
1874
  }
1566
- export interface GetGuildWidget {
1567
- /** guild id */
1568
- id: Snowflake;
1569
- /** guild name (2-100 characters) */
1570
- name: string;
1571
- /** instant invite for the guilds specified widget invite channel */
1572
- instant_invite?: string | null;
1573
- /** voice and stage channels which are accessible by @everyone */
1574
- channels: Channel[];
1575
- /** special widget user objects that includes users presence (Limit 100) */
1576
- members: User[];
1577
- /** number of online members in this guild */
1578
- presence_count: number;
1579
- }
1580
1875
  export interface GetGuildWidgetImageParams {
1581
1876
  /** style of the widget image returned (see below) */
1582
1877
  style: string;
@@ -1590,10 +1885,10 @@ export interface GetInviteParams {
1590
1885
  guild_scheduled_event_id?: Snowflake;
1591
1886
  }
1592
1887
  export interface GetReactionParams {
1593
- /** get users after this user ID */
1594
- after: Snowflake;
1595
- /** max number of users to return (1-100) */
1596
- limit: number;
1888
+ /** Get users after this user ID */
1889
+ after?: Snowflake;
1890
+ /** Max number of users to return (1-100) */
1891
+ limit?: number;
1597
1892
  }
1598
1893
  export interface GetWebhookMessageParams {
1599
1894
  /** id of the thread the message is in */
@@ -1628,7 +1923,7 @@ export interface Guild {
1628
1923
  region?: string | null;
1629
1924
  /** id of afk channel */
1630
1925
  afk_channel_id?: Snowflake | null;
1631
- /** afk timeout in seconds */
1926
+ /** afk timeout in seconds, can be set to: 60, 300, 900, 1800, 3600 */
1632
1927
  afk_timeout: number;
1633
1928
  /** true if the server widget is enabled */
1634
1929
  widget_enabled?: boolean;
@@ -1656,31 +1951,13 @@ export interface Guild {
1656
1951
  system_channel_flags: number;
1657
1952
  /** the id of the channel where Community guilds can display rules and/or guidelines */
1658
1953
  rules_channel_id?: Snowflake | null;
1659
- /** when this guild was joined at */
1660
- joined_at?: string;
1661
- /** true if this is considered a large guild */
1662
- large?: boolean;
1663
- /** true if this guild is unavailable due to an outage */
1664
- unavailable?: boolean;
1665
- /** total number of members in this guild */
1666
- member_count?: number;
1667
- /** states of members currently in voice channels; lacks the guild_id key */
1668
- voice_states?: VoiceState[];
1669
- /** users in the guild */
1670
- members?: GuildMember[];
1671
- /** channels in the guild */
1672
- channels?: Channel[];
1673
- /** all active threads in the guild that current user has permission to view */
1674
- threads?: Channel[];
1675
- /** presences of the members in the guild, will only include non-offline members if the size is greater than large threshold */
1676
- presences?: PresenceUpdateEvent[];
1677
1954
  /** the maximum number of presences for the guild (null is always returned, apart from the largest of guilds) */
1678
1955
  max_presences?: number | null;
1679
1956
  /** the maximum number of members for the guild */
1680
1957
  max_members?: number;
1681
1958
  /** the vanity url code for the guild */
1682
1959
  vanity_url_code?: string | null;
1683
- /** the description of a Community guild */
1960
+ /** the description of a guild */
1684
1961
  description?: string | null;
1685
1962
  /** banner hash */
1686
1963
  banner?: string | null;
@@ -1702,58 +1979,86 @@ export interface Guild {
1702
1979
  welcome_screen?: WelcomeScreen;
1703
1980
  /** guild NSFW level */
1704
1981
  nsfw_level: GuildNsfwLevel;
1705
- /** Stage instances in the guild */
1706
- stage_instances?: StageInstance[];
1707
1982
  /** custom guild stickers */
1708
1983
  stickers?: Sticker[];
1709
- /** the scheduled events in the guild */
1710
- guild_scheduled_events?: GuildScheduledEvent[];
1711
1984
  /** whether the guild has the boost progress bar enabled */
1712
1985
  premium_progress_bar_enabled: boolean;
1713
1986
  }
1714
1987
  export interface GuildApplicationCommandPermission {
1715
- /** the id of the command */
1988
+ /** ID of the command or the application ID */
1716
1989
  id: Snowflake;
1717
- /** the id of the application the command belongs to */
1990
+ /** ID of the application the command belongs to */
1718
1991
  application_id: Snowflake;
1719
- /** the id of the guild */
1992
+ /** ID of the guild */
1720
1993
  guild_id: Snowflake;
1721
- /** the permissions for the command in the guild */
1994
+ /** Permissions for the command in the guild, max of 100 */
1722
1995
  permissions: ApplicationCommandPermission[];
1723
1996
  }
1724
1997
  export interface GuildBanAddEvent {
1725
- /** id of the guild */
1998
+ /** ID of the guild */
1726
1999
  guild_id: Snowflake;
1727
- /** the banned user */
2000
+ /** User who was banned */
1728
2001
  user: User;
1729
2002
  }
1730
2003
  export interface GuildBanRemoveEvent {
1731
- /** id of the guild */
2004
+ /** ID of the guild */
1732
2005
  guild_id: Snowflake;
1733
- /** the unbanned user */
2006
+ /** User who was unbanned */
1734
2007
  user: User;
1735
2008
  }
1736
- export declare type GuildCreateEvent = Guild;
1737
- export declare type GuildDeleteEvent = UnavailableGuild;
2009
+ export type GuildCreateEvent = Guild & GuildCreateExtra;
2010
+ export interface GuildCreateExtra {
2011
+ /** When this guild was joined at */
2012
+ joined_at: string;
2013
+ /** true if this is considered a large guild */
2014
+ large: boolean;
2015
+ /** true if this guild is unavailable due to an outage */
2016
+ unavailable?: boolean;
2017
+ /** Total number of members in this guild */
2018
+ member_count: number;
2019
+ /** States of members currently in voice channels; lacks the guild_id key */
2020
+ voice_states: VoiceState[];
2021
+ /** Users in the guild */
2022
+ members: GuildMember[];
2023
+ /** Channels in the guild */
2024
+ channels: Channel[];
2025
+ /** All active threads in the guild that current user has permission to view */
2026
+ threads: Channel[];
2027
+ /** Presences of the members in the guild, will only include non-offline members if the size is greater than large threshold */
2028
+ presences: PresenceUpdateEvent[];
2029
+ /** Stage instances in the guild */
2030
+ stage_instances: StageInstance[];
2031
+ /** Scheduled events in the guild */
2032
+ guild_scheduled_events: GuildScheduledEvent[];
2033
+ }
2034
+ export type GuildDeleteEvent = UnavailableGuild;
1738
2035
  export interface GuildEmojisUpdateEvent {
1739
- /** id of the guild */
2036
+ /** ID of the guild */
1740
2037
  guild_id: Snowflake;
1741
- /** array of emojis */
2038
+ /** Array of emojis */
1742
2039
  emojis: Emoji[];
1743
2040
  }
1744
2041
  export declare enum GuildFeature {
2042
+ /** guild has access to set an animated guild banner image */
2043
+ ANIMATED_BANNER = "ANIMATED_BANNER",
1745
2044
  /** guild has access to set an animated guild icon */
1746
2045
  ANIMATED_ICON = "ANIMATED_ICON",
2046
+ /** guild is using the old permissions configuration behavior */
2047
+ APPLICATION_COMMAND_PERMISSIONS_V2 = "APPLICATION_COMMAND_PERMISSIONS_V2",
2048
+ /** guild has set up auto moderation rules */
2049
+ AUTO_MODERATION = "AUTO_MODERATION",
1747
2050
  /** guild has access to set a guild banner image */
1748
2051
  BANNER = "BANNER",
1749
- /** guild has access to use commerce features (i.e. create store channels) */
1750
- COMMERCE = "COMMERCE",
1751
2052
  /** guild can enable welcome screen, Membership Screening, stage channels and discovery, and receives community updates */
1752
2053
  COMMUNITY = "COMMUNITY",
2054
+ /** guild has been set as a support server on the App Directory */
2055
+ DEVELOPER_SUPPORT_SERVER = "DEVELOPER_SUPPORT_SERVER",
1753
2056
  /** guild is able to be discovered in the directory */
1754
2057
  DISCOVERABLE = "DISCOVERABLE",
1755
2058
  /** guild is able to be featured in the directory */
1756
2059
  FEATURABLE = "FEATURABLE",
2060
+ /** guild has paused invites, preventing new users from joining */
2061
+ INVITES_DISABLED = "INVITES_DISABLED",
1757
2062
  /** guild has access to set an invite splash background */
1758
2063
  INVITE_SPLASH = "INVITE_SPLASH",
1759
2064
  /** guild has enabled Membership Screening */
@@ -1762,20 +2067,14 @@ export declare enum GuildFeature {
1762
2067
  MONETIZATION_ENABLED = "MONETIZATION_ENABLED",
1763
2068
  /** guild has increased custom sticker slots */
1764
2069
  MORE_STICKERS = "MORE_STICKERS",
1765
- /** guild has access to create news channels */
2070
+ /** guild has access to create announcement channels */
1766
2071
  NEWS = "NEWS",
1767
2072
  /** guild is partnered */
1768
2073
  PARTNERED = "PARTNERED",
1769
2074
  /** guild can be previewed before joining via Membership Screening or the directory */
1770
2075
  PREVIEW_ENABLED = "PREVIEW_ENABLED",
1771
- /** guild has access to create private threads */
1772
- PRIVATE_THREADS = "PRIVATE_THREADS",
1773
2076
  /** guild is able to set role icons */
1774
2077
  ROLE_ICONS = "ROLE_ICONS",
1775
- /** guild has access to the seven day archive time for threads */
1776
- SEVEN_DAY_THREAD_ARCHIVE = "SEVEN_DAY_THREAD_ARCHIVE",
1777
- /** guild has access to the three day archive time for threads */
1778
- THREE_DAY_THREAD_ARCHIVE = "THREE_DAY_THREAD_ARCHIVE",
1779
2078
  /** guild has enabled ticketed events */
1780
2079
  TICKETED_EVENTS_ENABLED = "TICKETED_EVENTS_ENABLED",
1781
2080
  /** guild has access to set a vanity URL */
@@ -1788,7 +2087,7 @@ export declare enum GuildFeature {
1788
2087
  WELCOME_SCREEN_ENABLED = "WELCOME_SCREEN_ENABLED"
1789
2088
  }
1790
2089
  export interface GuildIntegrationsUpdateEvent {
1791
- /** id of the guild whose integrations were updated */
2090
+ /** ID of the guild whose integrations were updated */
1792
2091
  guild_id: Snowflake;
1793
2092
  }
1794
2093
  export interface GuildMember {
@@ -1815,55 +2114,55 @@ export interface GuildMember {
1815
2114
  /** when the user's timeout will expire and the user will be able to communicate in the guild again, null or a time in the past if the user is not timed out */
1816
2115
  communication_disabled_until?: string | null;
1817
2116
  }
1818
- export declare type GuildMemberAddEvent = GuildMember & GuildMemberAddExtra;
2117
+ export type GuildMemberAddEvent = GuildMember & GuildMemberAddExtra;
1819
2118
  export interface GuildMemberAddExtra {
1820
- /** id of the guild */
2119
+ /** ID of the guild */
1821
2120
  guild_id: Snowflake;
1822
2121
  }
1823
2122
  export interface GuildMemberRemoveEvent {
1824
- /** the id of the guild */
2123
+ /** ID of the guild */
1825
2124
  guild_id: Snowflake;
1826
- /** the user who was removed */
2125
+ /** User who was removed */
1827
2126
  user: User;
1828
2127
  }
1829
2128
  export interface GuildMembersChunkEvent {
1830
- /** the id of the guild */
2129
+ /** ID of the guild */
1831
2130
  guild_id: Snowflake;
1832
- /** set of guild members */
2131
+ /** Set of guild members */
1833
2132
  members: GuildMember[];
1834
- /** the chunk index in the expected chunks for this response (0 <= chunk_index < chunk_count) */
2133
+ /** Chunk index in the expected chunks for this response (0 <= chunk_index < chunk_count) */
1835
2134
  chunk_index: number;
1836
- /** the total number of expected chunks for this response */
2135
+ /** Total number of expected chunks for this response */
1837
2136
  chunk_count: number;
1838
- /** if passing an invalid id to REQUEST_GUILD_MEMBERS, it will be returned here */
2137
+ /** When passing an invalid ID to REQUEST_GUILD_MEMBERS, it will be returned here */
1839
2138
  not_found?: any[];
1840
- /** if passing true to REQUEST_GUILD_MEMBERS, presences of the returned members will be here */
2139
+ /** When passing true to REQUEST_GUILD_MEMBERS, presences of the returned members will be here */
1841
2140
  presences?: PresenceUpdateEvent[];
1842
- /** the nonce used in the Guild Members Request */
2141
+ /** Nonce used in the Guild Members Request */
1843
2142
  nonce?: string;
1844
2143
  }
1845
2144
  export interface GuildMemberUpdateEvent {
1846
- /** the id of the guild */
2145
+ /** ID of the guild */
1847
2146
  guild_id: Snowflake;
1848
- /** user role ids */
2147
+ /** User role ids */
1849
2148
  roles: Snowflake[];
1850
- /** the user */
2149
+ /** User */
1851
2150
  user: User;
1852
- /** nickname of the user in the guild */
2151
+ /** Nickname of the user in the guild */
1853
2152
  nick?: string | null;
1854
- /** the member's guild avatar hash */
2153
+ /** Member's guild avatar hash */
1855
2154
  avatar?: string | null;
1856
- /** when the user joined the guild */
2155
+ /** When the user joined the guild */
1857
2156
  joined_at?: string | null;
1858
- /** when the user starting boosting the guild */
2157
+ /** When the user starting boosting the guild */
1859
2158
  premium_since?: string | null;
1860
- /** whether the user is deafened in voice channels */
2159
+ /** Whether the user is deafened in voice channels */
1861
2160
  deaf?: boolean;
1862
- /** whether the user is muted in voice channels */
2161
+ /** Whether the user is muted in voice channels */
1863
2162
  mute?: boolean;
1864
- /** whether the user has not yet passed the guild's Membership Screening requirements */
2163
+ /** Whether the user has not yet passed the guild's Membership Screening requirements */
1865
2164
  pending?: boolean;
1866
- /** when the user's timeout will expire and the user will be able to communicate in the guild again, null or a time in the past if the user is not timed out */
2165
+ /** When the user's timeout will expire and the user will be able to communicate in the guild again, null or a time in the past if the user is not timed out */
1867
2166
  communication_disabled_until?: string | null;
1868
2167
  }
1869
2168
  export declare enum GuildNsfwLevel {
@@ -1891,27 +2190,27 @@ export interface GuildPreview {
1891
2190
  approximate_member_count: number;
1892
2191
  /** approximate number of online members in this guild */
1893
2192
  approximate_presence_count: number;
1894
- /** the description for the guild, if the guild is discoverable */
2193
+ /** the description for the guild */
1895
2194
  description?: string | null;
1896
2195
  /** custom guild stickers */
1897
2196
  stickers: Sticker[];
1898
2197
  }
1899
2198
  export interface GuildRoleCreateEvent {
1900
- /** the id of the guild */
2199
+ /** ID of the guild */
1901
2200
  guild_id: Snowflake;
1902
- /** the role created */
2201
+ /** Role that was created */
1903
2202
  role: Role;
1904
2203
  }
1905
2204
  export interface GuildRoleDeleteEvent {
1906
- /** id of the guild */
2205
+ /** ID of the guild */
1907
2206
  guild_id: Snowflake;
1908
- /** id of the role */
2207
+ /** ID of the role */
1909
2208
  role_id: Snowflake;
1910
2209
  }
1911
2210
  export interface GuildRoleUpdateEvent {
1912
- /** the id of the guild */
2211
+ /** ID of the guild */
1913
2212
  guild_id: Snowflake;
1914
- /** the role updated */
2213
+ /** Role that was updated */
1915
2214
  role: Role;
1916
2215
  }
1917
2216
  export interface GuildScheduledEvent {
@@ -1948,8 +2247,8 @@ export interface GuildScheduledEvent {
1948
2247
  /** the cover image hash of the scheduled event */
1949
2248
  image?: string | null;
1950
2249
  }
1951
- export declare type GuildScheduledEventCreateEvent = GuildScheduledEvent;
1952
- export declare type GuildScheduledEventDeleteEvent = GuildScheduledEvent;
2250
+ export type GuildScheduledEventCreateEvent = GuildScheduledEvent;
2251
+ export type GuildScheduledEventDeleteEvent = GuildScheduledEvent;
1953
2252
  export interface GuildScheduledEventEntityMetadatum {
1954
2253
  /** location of the event (1-100 characters) */
1955
2254
  location?: string;
@@ -1969,7 +2268,7 @@ export declare enum GuildScheduledEventStatus {
1969
2268
  COMPLETED = 3,
1970
2269
  CANCELED = 4
1971
2270
  }
1972
- export declare type GuildScheduledEventUpdateEvent = GuildScheduledEvent;
2271
+ export type GuildScheduledEventUpdateEvent = GuildScheduledEvent;
1973
2272
  export interface GuildScheduledEventUser {
1974
2273
  /** the scheduled event id which the user subscribed to */
1975
2274
  guild_scheduled_event_id: Snowflake;
@@ -1979,25 +2278,25 @@ export interface GuildScheduledEventUser {
1979
2278
  member?: GuildMember;
1980
2279
  }
1981
2280
  export interface GuildScheduledEventUserAddEvent {
1982
- /** id of the guild scheduled event */
2281
+ /** ID of the guild scheduled event */
1983
2282
  guild_scheduled_event_id: Snowflake;
1984
- /** id of the user */
2283
+ /** ID of the user */
1985
2284
  user_id: Snowflake;
1986
- /** id of the guild */
2285
+ /** ID of the guild */
1987
2286
  guild_id: Snowflake;
1988
2287
  }
1989
2288
  export interface GuildScheduledEventUserRemoveEvent {
1990
- /** id of the guild scheduled event */
2289
+ /** ID of the guild scheduled event */
1991
2290
  guild_scheduled_event_id: Snowflake;
1992
- /** id of the user */
2291
+ /** ID of the user */
1993
2292
  user_id: Snowflake;
1994
- /** id of the guild */
2293
+ /** ID of the guild */
1995
2294
  guild_id: Snowflake;
1996
2295
  }
1997
2296
  export interface GuildStickersUpdateEvent {
1998
- /** id of the guild */
2297
+ /** ID of the guild */
1999
2298
  guild_id: Snowflake;
2000
- /** array of stickers */
2299
+ /** Array of stickers */
2001
2300
  stickers: Sticker[];
2002
2301
  }
2003
2302
  export interface GuildTemplate {
@@ -2024,41 +2323,61 @@ export interface GuildTemplate {
2024
2323
  /** whether the template has unsynced changes */
2025
2324
  is_dirty?: boolean | null;
2026
2325
  }
2027
- export declare type GuildUpdateEvent = Guild;
2326
+ export type GuildUpdateEvent = Guild;
2327
+ export interface GuildWidget {
2328
+ /** guild id */
2329
+ id: Snowflake;
2330
+ /** guild name (2-100 characters) */
2331
+ name: string;
2332
+ /** instant invite for the guilds specified widget invite channel */
2333
+ instant_invite?: string | null;
2334
+ /** voice and stage channels which are accessible by @everyone */
2335
+ channels: Channel[];
2336
+ /** special widget user objects that includes users presence (Limit 100) */
2337
+ members: User[];
2338
+ /** number of online members in this guild */
2339
+ presence_count: number;
2340
+ }
2028
2341
  export interface GuildWidgetSetting {
2029
2342
  /** whether the widget is enabled */
2030
2343
  enabled: boolean;
2031
2344
  /** the widget channel id */
2032
2345
  channel_id?: Snowflake | null;
2033
2346
  }
2034
- export declare type Heartbeat = number | null;
2347
+ export type Heartbeat = number | null;
2035
2348
  export interface HelloEvent {
2036
- /** the interval (in milliseconds) the client should heartbeat with */
2349
+ /** Interval (in milliseconds) an app should heartbeat with */
2037
2350
  heartbeat_interval: number;
2038
2351
  }
2039
2352
  export interface Identify {
2040
- /** authentication token */
2353
+ /** Authentication token */
2041
2354
  token: string;
2042
- /** connection properties */
2355
+ /** Connection properties */
2043
2356
  properties: IdentifyConnectionProperty;
2044
- /** whether this connection supports compression of packets */
2357
+ /** Whether this connection supports compression of packets */
2045
2358
  compress?: boolean;
2046
- /** value between 50 and 250, total number of members where the gateway will stop sending offline members in the guild member list */
2359
+ /** Value between 50 and 250, total number of members where the gateway will stop sending offline members in the guild member list */
2047
2360
  large_threshold?: number;
2048
- /** used for Guild Sharding */
2361
+ /** Used for Guild Sharding */
2049
2362
  shard?: number[];
2050
- /** presence structure for initial presence information */
2363
+ /** Presence structure for initial presence information */
2051
2364
  presence?: UpdatePresence;
2052
- /** the Gateway Intents you wish to receive */
2365
+ /** Gateway Intents you wish to receive */
2053
2366
  intents: number;
2054
2367
  }
2055
2368
  export interface IdentifyConnectionProperty {
2056
- /** your operating system */
2057
- $os: string;
2058
- /** your library name */
2059
- $browser: string;
2060
- /** your library name */
2061
- $device: string;
2369
+ /** Your operating system */
2370
+ os: string;
2371
+ /** Your library name */
2372
+ browser: string;
2373
+ /** Your library name */
2374
+ device: string;
2375
+ }
2376
+ export interface InstallParam {
2377
+ /** the scopes to add the application to the server with */
2378
+ scopes: OAuth2Scope[];
2379
+ /** the permissions to request for the bot role */
2380
+ permissions: string;
2062
2381
  }
2063
2382
  export interface Integration {
2064
2383
  /** integration id */
@@ -2068,7 +2387,7 @@ export interface Integration {
2068
2387
  /** integration type (twitch, youtube, or discord) */
2069
2388
  type: string;
2070
2389
  /** is this integration enabled */
2071
- enabled: boolean;
2390
+ enabled?: boolean;
2072
2391
  /** is this integration syncing */
2073
2392
  syncing?: boolean;
2074
2393
  /** id that this integration uses for "subscribers" */
@@ -2091,6 +2410,8 @@ export interface Integration {
2091
2410
  revoked?: boolean;
2092
2411
  /** The bot/OAuth2 application for discord integrations */
2093
2412
  application?: IntegrationApplication;
2413
+ /** the scopes the application has been authorized for */
2414
+ scopes?: OAuth2Scope[];
2094
2415
  }
2095
2416
  export interface IntegrationAccount {
2096
2417
  /** id of the account */
@@ -2107,66 +2428,66 @@ export interface IntegrationApplication {
2107
2428
  icon?: string | null;
2108
2429
  /** the description of the app */
2109
2430
  description: string;
2110
- /** the summary of the app */
2111
- summary: string;
2112
2431
  /** the bot associated with this application */
2113
2432
  bot?: User;
2114
2433
  }
2115
- export declare type IntegrationCreateEvent = Integration & IntegrationCreateEventAdditional;
2434
+ export type IntegrationCreateEvent = Integration & IntegrationCreateEventAdditional;
2116
2435
  export interface IntegrationCreateEventAdditional {
2117
- /** id of the guild */
2436
+ /** ID of the guild */
2118
2437
  guild_id: Snowflake;
2119
2438
  }
2120
2439
  export interface IntegrationDeleteEvent {
2121
- /** integration id */
2440
+ /** Integration ID */
2122
2441
  id: Snowflake;
2123
- /** id of the guild */
2442
+ /** ID of the guild */
2124
2443
  guild_id: Snowflake;
2125
- /** id of the bot/OAuth2 application for this discord integration */
2444
+ /** ID of the bot/OAuth2 application for this discord integration */
2126
2445
  application_id?: Snowflake;
2127
2446
  }
2128
2447
  export declare enum IntegrationExpireBehavior {
2129
2448
  REMOVE_ROLE = 0,
2130
2449
  KICK = 1
2131
2450
  }
2132
- export declare type IntegrationUpdateEvent = Integration & IntegrationUpdateEventAdditional;
2451
+ export type IntegrationUpdateEvent = Integration & IntegrationUpdateEventAdditional;
2133
2452
  export interface IntegrationUpdateEventAdditional {
2134
- /** id of the guild */
2453
+ /** ID of the guild */
2135
2454
  guild_id: Snowflake;
2136
2455
  }
2137
2456
  export interface Interaction {
2138
- /** id of the interaction */
2457
+ /** ID of the interaction */
2139
2458
  id: Snowflake;
2140
- /** id of the application this interaction is for */
2459
+ /** ID of the application this interaction is for */
2141
2460
  application_id: Snowflake;
2142
- /** the type of interaction */
2461
+ /** Type of interaction */
2143
2462
  type: InteractionType;
2144
- /** the command data payload */
2463
+ /** Interaction data payload */
2145
2464
  data?: InteractionDatum;
2146
- /** the guild it was sent from */
2465
+ /** Guild that the interaction was sent from */
2147
2466
  guild_id?: Snowflake;
2148
- /** the channel it was sent from */
2467
+ /** Channel that the interaction was sent from */
2149
2468
  channel_id?: Snowflake;
2150
- /** guild member data for the invoking user, including permissions */
2469
+ /** Guild member data for the invoking user, including permissions */
2151
2470
  member?: GuildMember;
2152
- /** user object for the invoking user, if invoked in a DM */
2471
+ /** User object for the invoking user, if invoked in a DM */
2153
2472
  user?: User;
2154
- /** a continuation token for responding to the interaction */
2473
+ /** Continuation token for responding to the interaction */
2155
2474
  token: string;
2156
- /** read-only property, always 1 */
2475
+ /** Read-only property, always 1 */
2157
2476
  version: number;
2158
- /** for components, the message they were attached to */
2477
+ /** For components, the message they were attached to */
2159
2478
  message?: Message;
2160
- /** the selected language of the invoking user */
2479
+ /** Bitwise set of permissions the app or bot has within the channel the interaction was sent from */
2480
+ app_permissions?: string;
2481
+ /** Selected language of the invoking user */
2161
2482
  locale?: string;
2162
- /** the guild's preferred locale, if invoked in a guild */
2483
+ /** Guild's preferred locale, if invoked in a guild */
2163
2484
  guild_locale?: string;
2164
2485
  }
2165
2486
  export interface InteractionCallbackAutocomplete {
2166
2487
  /** autocomplete choices (max of 25 choices) */
2167
2488
  choices: ApplicationCommandOptionChoice[];
2168
2489
  }
2169
- export declare type InteractionCallbackDatum = InteractionCallbackAutocomplete | InteractionCallbackMessage | InteractionCallbackModal;
2490
+ export type InteractionCallbackDatum = InteractionCallbackAutocomplete | InteractionCallbackMessage | InteractionCallbackModal;
2170
2491
  export interface InteractionCallbackMessage {
2171
2492
  /** is the response TTS */
2172
2493
  tts?: boolean;
@@ -2186,7 +2507,7 @@ export interface InteractionCallbackMessage {
2186
2507
  export interface InteractionCallbackModal {
2187
2508
  /** a developer-defined identifier for the component, max 100 characters */
2188
2509
  custom_id: string;
2189
- /** the title of the popup modal */
2510
+ /** the title of the popup modal, max 45 characters */
2190
2511
  title: string;
2191
2512
  /** between 1 and 5 (inclusive) components that make up the modal */
2192
2513
  components: Component[];
@@ -2207,29 +2528,8 @@ export declare enum InteractionCallbackType {
2207
2528
  /** respond to an interaction with a popup modal */
2208
2529
  MODAL = 9
2209
2530
  }
2210
- export declare type InteractionCreateEvent = Interaction;
2211
- export interface InteractionDatum {
2212
- /** the ID of the invoked command */
2213
- id: Snowflake;
2214
- /** the name of the invoked command */
2215
- name: string;
2216
- /** the type of the invoked command */
2217
- type: number;
2218
- /** converted users + roles + channels + attachments */
2219
- resolved?: ResolvedDatum;
2220
- /** the params + values from the user */
2221
- options?: ApplicationCommandInteractionDataOption[];
2222
- /** the custom_id of the component */
2223
- custom_id?: string;
2224
- /** the type of the component */
2225
- component_type?: ComponentType;
2226
- /** the values the user selected */
2227
- values?: SelectOption[];
2228
- /** id the of user or message targeted by a user or message command */
2229
- target_id?: Snowflake;
2230
- /** the values submitted by the user */
2231
- components?: Component[];
2232
- }
2531
+ export type InteractionCreateEvent = Interaction;
2532
+ export type InteractionDatum = ApplicationCommandDatum | MessageComponentDatum | ModalSubmitDatum;
2233
2533
  export interface InteractionResponse {
2234
2534
  /** the type of response */
2235
2535
  type: InteractionCallbackType;
@@ -2243,7 +2543,7 @@ export declare enum InteractionType {
2243
2543
  APPLICATION_COMMAND_AUTOCOMPLETE = 4,
2244
2544
  MODAL_SUBMIT = 5
2245
2545
  }
2246
- export declare type InvalidSessionEvent = boolean;
2546
+ export type InvalidSessionEvent = boolean;
2247
2547
  export interface Invite {
2248
2548
  /** the invite code (unique ID) */
2249
2549
  code: string;
@@ -2271,37 +2571,37 @@ export interface Invite {
2271
2571
  guild_scheduled_event?: GuildScheduledEvent;
2272
2572
  }
2273
2573
  export interface InviteCreateEvent {
2274
- /** the channel the invite is for */
2574
+ /** Channel the invite is for */
2275
2575
  channel_id: Snowflake;
2276
- /** the unique invite code */
2576
+ /** Unique invite code */
2277
2577
  code: string;
2278
- /** the time at which the invite was created */
2578
+ /** Time at which the invite was created */
2279
2579
  created_at: string;
2280
- /** the guild of the invite */
2580
+ /** Guild of the invite */
2281
2581
  guild_id?: Snowflake;
2282
- /** the user that created the invite */
2582
+ /** User that created the invite */
2283
2583
  inviter?: User;
2284
- /** how long the invite is valid for (in seconds) */
2584
+ /** How long the invite is valid for (in seconds) */
2285
2585
  max_age: number;
2286
- /** the maximum number of times the invite can be used */
2586
+ /** Maximum number of times the invite can be used */
2287
2587
  max_uses: number;
2288
- /** the type of target for this voice channel invite */
2588
+ /** Type of target for this voice channel invite */
2289
2589
  target_type?: InviteTargetType;
2290
- /** the user whose stream to display for this voice channel stream invite */
2590
+ /** User whose stream to display for this voice channel stream invite */
2291
2591
  target_user?: User;
2292
- /** the embedded application to open for this voice channel embedded application invite */
2592
+ /** Embedded application to open for this voice channel embedded application invite */
2293
2593
  target_application?: Application;
2294
- /** whether or not the invite is temporary (invited users will be kicked on disconnect unless they're assigned a role) */
2594
+ /** Whether or not the invite is temporary (invited users will be kicked on disconnect unless they're assigned a role) */
2295
2595
  temporary: boolean;
2296
- /** how many times the invite has been used (always will be 0) */
2596
+ /** How many times the invite has been used (always will be 0) */
2297
2597
  uses: number;
2298
2598
  }
2299
2599
  export interface InviteDeleteEvent {
2300
- /** the channel of the invite */
2600
+ /** Channel of the invite */
2301
2601
  channel_id: Snowflake;
2302
- /** the guild of the invite */
2602
+ /** Guild of the invite */
2303
2603
  guild_id?: Snowflake;
2304
- /** the unique invite code */
2604
+ /** Unique invite code */
2305
2605
  code: string;
2306
2606
  }
2307
2607
  export interface InviteMetadatum {
@@ -2330,15 +2630,15 @@ export declare enum InviteTargetType {
2330
2630
  STREAM = 1,
2331
2631
  EMBEDDED_APPLICATION = 2
2332
2632
  }
2333
- export interface ListActiveThreadResponse {
2334
- /** the active threads */
2335
- threads: Channel[];
2336
- /** a thread member object for each returned thread the current user has joined */
2337
- members: ThreadMember[];
2338
- /** whether there are potentially additional threads that could be returned on a subsequent call */
2339
- has_more: boolean;
2633
+ export declare enum KeywordPresetType {
2634
+ /** Words that may be considered forms of swearing or cursing */
2635
+ PROFANITY = 1,
2636
+ /** Words that refer to sexually explicit behavior or activity */
2637
+ SEXUAL_CONTENT = 2,
2638
+ /** Personal insults or words that may be considered hate speech */
2639
+ SLURS = 3
2340
2640
  }
2341
- export interface ListGuildActiveThreadResponse {
2641
+ export interface ListActiveGuildThreadResponse {
2342
2642
  /** the active threads */
2343
2643
  threads: Channel[];
2344
2644
  /** a thread member object for each returned thread the current user has joined */
@@ -2396,6 +2696,68 @@ export interface ListScheduledEventsForGuildParams {
2396
2696
  /** include number of users subscribed to each event */
2397
2697
  with_user_count?: boolean;
2398
2698
  }
2699
+ export interface Locale {
2700
+ /** Danish */
2701
+ da?: string;
2702
+ /** German */
2703
+ de?: string;
2704
+ /** English, */
2705
+ "en-GB"?: string;
2706
+ /** English, */
2707
+ "en-US"?: string;
2708
+ /** Spanish */
2709
+ "es-ES"?: string;
2710
+ /** French */
2711
+ fr?: string;
2712
+ /** Croatian */
2713
+ hr?: string;
2714
+ /** Italian */
2715
+ it?: string;
2716
+ /** Lithuanian */
2717
+ lt?: string;
2718
+ /** Hungarian */
2719
+ hu?: string;
2720
+ /** Dutch */
2721
+ nl?: string;
2722
+ /** Norwegian */
2723
+ no?: string;
2724
+ /** Polish */
2725
+ pl?: string;
2726
+ /** Portuguese, Brazilian */
2727
+ "pt-BR"?: string;
2728
+ /** Romanian, Romania */
2729
+ ro?: string;
2730
+ /** Finnish */
2731
+ fi?: string;
2732
+ /** Swedish */
2733
+ "sv-SE"?: string;
2734
+ /** Vietnamese */
2735
+ vi?: string;
2736
+ /** Turkish */
2737
+ tr?: string;
2738
+ /** Czech */
2739
+ cs?: string;
2740
+ /** Greek */
2741
+ el?: string;
2742
+ /** Bulgarian */
2743
+ bg?: string;
2744
+ /** Russian */
2745
+ ru?: string;
2746
+ /** Ukrainian */
2747
+ uk?: string;
2748
+ /** Hindi */
2749
+ hi?: string;
2750
+ /** Thai */
2751
+ th?: string;
2752
+ /** Chinese, China */
2753
+ "zh-CN"?: string;
2754
+ /** Japanese */
2755
+ ja?: string;
2756
+ /** Chinese, Taiwan */
2757
+ "zh-TW"?: string;
2758
+ /** Korean */
2759
+ ko?: string;
2760
+ }
2399
2761
  export declare enum MembershipState {
2400
2762
  INVITED = 1,
2401
2763
  ACCEPTED = 2
@@ -2405,12 +2767,8 @@ export interface Message {
2405
2767
  id: Snowflake;
2406
2768
  /** id of the channel the message was sent in */
2407
2769
  channel_id: Snowflake;
2408
- /** id of the guild the message was sent in */
2409
- guild_id?: Snowflake;
2410
2770
  /** the author of this message (not guaranteed to be a valid user, see below) */
2411
2771
  author: User;
2412
- /** member properties for this message's author */
2413
- member?: GuildMember;
2414
2772
  /** contents of the message */
2415
2773
  content: string;
2416
2774
  /** when this message was sent */
@@ -2463,6 +2821,8 @@ export interface Message {
2463
2821
  sticker_items?: StickerItem[];
2464
2822
  /** Deprecated the stickers sent with the message */
2465
2823
  stickers?: Sticker[];
2824
+ /** A generally increasing integer (there may be gaps or duplicates) that represents the approximate position of the message in a thread, it can be used to estimate the relative position of the message in a thread in company with total_message_sent on parent thread */
2825
+ position?: number;
2466
2826
  }
2467
2827
  export interface MessageActivity {
2468
2828
  /** type of message activity */
@@ -2476,21 +2836,37 @@ export declare enum MessageActivityType {
2476
2836
  LISTEN = 3,
2477
2837
  JOIN_REQUEST = 5
2478
2838
  }
2479
- export declare type MessageCreateEvent = Message;
2839
+ export interface MessageComponentDatum {
2840
+ /** the custom_id of the component */
2841
+ custom_id: string;
2842
+ /** the type of the component */
2843
+ component_type: ComponentType;
2844
+ /** values the user selected in a select menu component */
2845
+ values?: SelectOption[];
2846
+ }
2847
+ export type MessageCreateEvent = Message & MessageCreateExtra;
2848
+ export interface MessageCreateExtra {
2849
+ /** ID of the guild the message was sent in - unless it is an ephemeral message */
2850
+ guild_id?: Snowflake;
2851
+ /** Member properties for this message's author. Missing for ephemeral messages and messages from webhooks */
2852
+ member?: GuildMember;
2853
+ /** Users specifically mentioned in the message */
2854
+ mentions: User[];
2855
+ }
2480
2856
  export interface MessageDeleteBulkEvent {
2481
- /** the ids of the messages */
2857
+ /** IDs of the messages */
2482
2858
  ids: Snowflake[];
2483
- /** the id of the channel */
2859
+ /** ID of the channel */
2484
2860
  channel_id: Snowflake;
2485
- /** the id of the guild */
2861
+ /** ID of the guild */
2486
2862
  guild_id?: Snowflake;
2487
2863
  }
2488
2864
  export interface MessageDeleteEvent {
2489
- /** the id of the message */
2865
+ /** ID of the message */
2490
2866
  id: Snowflake;
2491
- /** the id of the channel */
2867
+ /** ID of the channel */
2492
2868
  channel_id: Snowflake;
2493
- /** the id of the guild */
2869
+ /** ID of the guild */
2494
2870
  guild_id?: Snowflake;
2495
2871
  }
2496
2872
  export declare const MessageFlag: {
@@ -2514,59 +2890,59 @@ export declare const MessageFlag: {
2514
2890
  readonly FAILED_TO_MENTION_SOME_ROLES_IN_THREAD: number;
2515
2891
  };
2516
2892
  export interface MessageInteraction {
2517
- /** id of the interaction */
2893
+ /** ID of the interaction */
2518
2894
  id: Snowflake;
2519
- /** the type of interaction */
2895
+ /** Type of interaction */
2520
2896
  type: InteractionType;
2521
- /** the name of the application command */
2897
+ /** Name of the application command, including subcommands and subcommand groups */
2522
2898
  name: string;
2523
- /** the user who invoked the interaction */
2899
+ /** User who invoked the interaction */
2524
2900
  user: User;
2525
- /** the member who invoked the interaction in the guild */
2901
+ /** Member who invoked the interaction in the guild */
2526
2902
  member?: GuildMember;
2527
2903
  }
2528
2904
  export interface MessageReactionAddEvent {
2529
- /** the id of the user */
2905
+ /** ID of the user */
2530
2906
  user_id: Snowflake;
2531
- /** the id of the channel */
2907
+ /** ID of the channel */
2532
2908
  channel_id: Snowflake;
2533
- /** the id of the message */
2909
+ /** ID of the message */
2534
2910
  message_id: Snowflake;
2535
- /** the id of the guild */
2911
+ /** ID of the guild */
2536
2912
  guild_id?: Snowflake;
2537
- /** the member who reacted if this happened in a guild */
2913
+ /** Member who reacted if this happened in a guild */
2538
2914
  member?: GuildMember;
2539
- /** the emoji used to react - example */
2915
+ /** Emoji used to react - example */
2540
2916
  emoji: Emoji;
2541
2917
  }
2542
2918
  export interface MessageReactionRemoveAllEvent {
2543
- /** the id of the channel */
2919
+ /** ID of the channel */
2544
2920
  channel_id: Snowflake;
2545
- /** the id of the message */
2921
+ /** ID of the message */
2546
2922
  message_id: Snowflake;
2547
- /** the id of the guild */
2923
+ /** ID of the guild */
2548
2924
  guild_id?: Snowflake;
2549
2925
  }
2550
2926
  export interface MessageReactionRemoveEmojiEvent {
2551
- /** the id of the channel */
2927
+ /** ID of the channel */
2552
2928
  channel_id: Snowflake;
2553
- /** the id of the guild */
2929
+ /** ID of the guild */
2554
2930
  guild_id?: Snowflake;
2555
- /** the id of the message */
2931
+ /** ID of the message */
2556
2932
  message_id: Snowflake;
2557
- /** the emoji that was removed */
2933
+ /** Emoji that was removed */
2558
2934
  emoji: Emoji;
2559
2935
  }
2560
2936
  export interface MessageReactionRemoveEvent {
2561
- /** the id of the user */
2937
+ /** ID of the user */
2562
2938
  user_id: Snowflake;
2563
- /** the id of the channel */
2939
+ /** ID of the channel */
2564
2940
  channel_id: Snowflake;
2565
- /** the id of the message */
2941
+ /** ID of the message */
2566
2942
  message_id: Snowflake;
2567
- /** the id of the guild */
2943
+ /** ID of the guild */
2568
2944
  guild_id?: Snowflake;
2569
- /** the emoji used to react - example */
2945
+ /** Emoji used to react - example */
2570
2946
  emoji: Emoji;
2571
2947
  }
2572
2948
  export interface MessageReference {
@@ -2587,11 +2963,11 @@ export declare enum MessageType {
2587
2963
  CHANNEL_NAME_CHANGE = 4,
2588
2964
  CHANNEL_ICON_CHANGE = 5,
2589
2965
  CHANNEL_PINNED_MESSAGE = 6,
2590
- GUILD_MEMBER_JOIN = 7,
2591
- USER_PREMIUM_GUILD_SUBSCRIPTION = 8,
2592
- USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_1 = 9,
2593
- USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_2 = 10,
2594
- USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_3 = 11,
2966
+ USER_JOIN = 7,
2967
+ GUILD_BOOST = 8,
2968
+ GUILD_BOOST_TIER_1 = 9,
2969
+ GUILD_BOOST_TIER_2 = 10,
2970
+ GUILD_BOOST_TIER_3 = 11,
2595
2971
  CHANNEL_FOLLOW_ADD = 12,
2596
2972
  GUILD_DISCOVERY_DISQUALIFIED = 14,
2597
2973
  GUILD_DISCOVERY_REQUALIFIED = 15,
@@ -2602,15 +2978,38 @@ export declare enum MessageType {
2602
2978
  CHAT_INPUT_COMMAND = 20,
2603
2979
  THREAD_STARTER_MESSAGE = 21,
2604
2980
  GUILD_INVITE_REMINDER = 22,
2605
- CONTEXT_MENU_COMMAND = 23
2981
+ CONTEXT_MENU_COMMAND = 23,
2982
+ AUTO_MODERATION_ACTION = 24
2606
2983
  }
2607
- export declare type MessageUpdateEvent = Message;
2984
+ export type MessageUpdateEvent = MessageCreateEvent;
2608
2985
  export declare enum MfaLevel {
2609
2986
  /** guild has no MFA/2FA requirement for moderation actions */
2610
2987
  NONE = 0,
2611
2988
  /** guild has a 2FA requirement for moderation actions */
2612
2989
  ELEVATED = 1
2613
2990
  }
2991
+ export interface ModalSubmitDatum {
2992
+ /** the custom_id of the modal */
2993
+ custom_id: string;
2994
+ /** the values submitted by the user */
2995
+ components: Component[];
2996
+ }
2997
+ export interface ModifyAutoModerationRuleParams {
2998
+ /** the rule name */
2999
+ name: string;
3000
+ /** the event type */
3001
+ event_type: EventType;
3002
+ /** the trigger metadata */
3003
+ trigger_metadata?: TriggerMetadatum;
3004
+ /** the actions which will execute when the rule is triggered */
3005
+ actions: AutoModerationAction[];
3006
+ /** whether the rule is enabled */
3007
+ enabled: boolean;
3008
+ /** the role ids that should not be affected by the rule (Maximum of 20) */
3009
+ exempt_roles: Snowflake[];
3010
+ /** the channel ids that should not be affected by the rule (Maximum of 50) */
3011
+ exempt_channels: Snowflake[];
3012
+ }
2614
3013
  export interface ModifyChannelGroupDmParams {
2615
3014
  /** 1-100 character channel name */
2616
3015
  name: string;
@@ -2620,17 +3019,17 @@ export interface ModifyChannelGroupDmParams {
2620
3019
  export interface ModifyChannelGuildChannelParams {
2621
3020
  /** 1-100 character channel name */
2622
3021
  name: string;
2623
- /** the type of channel; only conversion between text and news is supported and only in guilds with the "NEWS" feature */
3022
+ /** the type of channel; only conversion between text and announcement is supported and only in guilds with the "NEWS" feature */
2624
3023
  type: ChannelType;
2625
3024
  /** the position of the channel in the left-hand listing */
2626
3025
  position?: number | null;
2627
- /** 0-1024 character channel topic */
3026
+ /** 0-1024 character channel topic (0-4096 characters for GUILD_FORUM channels) */
2628
3027
  topic?: string | null;
2629
3028
  /** whether the channel is nsfw */
2630
3029
  nsfw?: boolean | null;
2631
3030
  /** amount of seconds a user has to wait before sending another message (0-21600); bots, as well as users with the permission manage_messages or manage_channel, are unaffected */
2632
3031
  rate_limit_per_user?: number | null;
2633
- /** the bitrate (in bits) of the voice channel; 8000 to 96000 (128000 for VIP servers) */
3032
+ /** the bitrate (in bits) of the voice or stage channel; min 8000 */
2634
3033
  bitrate?: number | null;
2635
3034
  /** the user limit of the voice channel; 0 refers to no limit, 1 to 99 refers to a user limit */
2636
3035
  user_limit?: number | null;
@@ -2644,14 +3043,24 @@ export interface ModifyChannelGuildChannelParams {
2644
3043
  video_quality_mode?: VideoQualityMode | null;
2645
3044
  /** the default duration that the clients use (not the API) for newly created threads in the channel, in minutes, to automatically archive the thread after recent activity */
2646
3045
  default_auto_archive_duration?: number | null;
2647
- }
2648
- export declare type ModifyChannelParams = ModifyChannelGroupDmParams | ModifyChannelGuildChannelParams | ModifyChannelThreadParams;
3046
+ /** channel flags combined as a bitfield. Currently only REQUIRE_TAG (1 << 4) is supported. */
3047
+ flags?: number;
3048
+ /** the set of tags that can be used in a GUILD_FORUM channel; limited to 20 */
3049
+ available_tags?: ForumTag[];
3050
+ /** the emoji to show in the add reaction button on a thread in a GUILD_FORUM channel */
3051
+ default_reaction_emoji?: DefaultReaction | null;
3052
+ /** the initial rate_limit_per_user to set on newly created threads in a channel. this field is copied to the thread at creation time and does not live update. */
3053
+ default_thread_rate_limit_per_user?: number;
3054
+ /** the default sort order type used to order posts in GUILD_FORUM channels */
3055
+ default_sort_order?: SortOrderType | null;
3056
+ }
3057
+ export type ModifyChannelParams = ModifyChannelGroupDmParams | ModifyChannelGuildChannelParams | ModifyChannelThreadParams;
2649
3058
  export interface ModifyChannelThreadParams {
2650
3059
  /** 1-100 character channel name */
2651
3060
  name: string;
2652
3061
  /** whether the thread is archived */
2653
3062
  archived: boolean;
2654
- /** duration in minutes to automatically archive the thread after recent activity, can be set to: 60, 1440, 4320, 10080 */
3063
+ /** the thread will stop showing in the channel list after auto_archive_duration minutes of inactivity, can be set to: 60, 1440, 4320, 10080 */
2655
3064
  auto_archive_duration: number;
2656
3065
  /** whether the thread is locked; when a thread is locked, only users with MANAGE_THREADS can unarchive it */
2657
3066
  locked: boolean;
@@ -2659,6 +3068,10 @@ export interface ModifyChannelThreadParams {
2659
3068
  invitable: boolean;
2660
3069
  /** amount of seconds a user has to wait before sending another message (0-21600); bots, as well as users with the permission manage_messages, manage_thread, or manage_channel, are unaffected */
2661
3070
  rate_limit_per_user?: number | null;
3071
+ /** channel flags combined as a bitfield; PINNED can only be set for threads in forum channels */
3072
+ flags?: number;
3073
+ /** the IDs of the set of tags that have been applied to a thread in a GUILD_FORUM channel; limited to 5 */
3074
+ applied_tags?: Snowflake[];
2662
3075
  }
2663
3076
  export interface ModifyCurrentMemberParams {
2664
3077
  /** value to set user's nickname to */
@@ -2676,7 +3089,7 @@ export interface ModifyCurrentUserParams {
2676
3089
  }
2677
3090
  export interface ModifyCurrentUserVoiceStateParams {
2678
3091
  /** the id of the channel the user is currently in */
2679
- channel_id: Snowflake;
3092
+ channel_id?: Snowflake;
2680
3093
  /** toggles the user's suppress state */
2681
3094
  suppress?: boolean;
2682
3095
  /** sets the user's request to speak */
@@ -2710,7 +3123,11 @@ export interface ModifyGuildMemberParams {
2710
3123
  /** id of channel to move user to (if they are connected to voice) */
2711
3124
  channel_id: Snowflake;
2712
3125
  /** when the user's timeout will expire and the user will be able to communicate in the guild again (up to 28 days in the future), set to null to remove timeout. Will throw a 403 error if the user has the ADMINISTRATOR permission or is the owner of the guild */
2713
- communication_disabled_until?: string | null;
3126
+ communication_disabled_until: string;
3127
+ }
3128
+ export interface ModifyGuildMfaLevelParams {
3129
+ /** MFA level */
3130
+ level: MfaLevel;
2714
3131
  }
2715
3132
  export interface ModifyGuildParams {
2716
3133
  /** guild name */
@@ -2725,7 +3142,7 @@ export interface ModifyGuildParams {
2725
3142
  explicit_content_filter?: ExplicitContentFilterLevel | null;
2726
3143
  /** id for afk channel */
2727
3144
  afk_channel_id?: Snowflake | null;
2728
- /** afk timeout in seconds */
3145
+ /** afk timeout in seconds, can be set to: 60, 300, 900, 1800, 3600 */
2729
3146
  afk_timeout: number;
2730
3147
  /** base64 1024x1024 png/jpeg/gif image for the guild icon (can be animated gif when the server has the ANIMATED_ICON feature) */
2731
3148
  icon?: string | null;
@@ -2735,7 +3152,7 @@ export interface ModifyGuildParams {
2735
3152
  splash?: string | null;
2736
3153
  /** base64 16:9 png/jpeg image for the guild discovery splash (when the server has the DISCOVERABLE feature) */
2737
3154
  discovery_splash?: string | null;
2738
- /** base64 16:9 png/jpeg image for the guild banner (when the server has the BANNER feature) */
3155
+ /** base64 16:9 png/jpeg image for the guild banner (when the server has the BANNER feature; can be animated gif when the server has the ANIMATED_BANNER feature) */
2739
3156
  banner?: string | null;
2740
3157
  /** the id of the channel where guild notices such as welcome messages and boost events are posted */
2741
3158
  system_channel_id?: Snowflake | null;
@@ -2749,13 +3166,13 @@ export interface ModifyGuildParams {
2749
3166
  preferred_locale?: string | null;
2750
3167
  /** enabled guild features */
2751
3168
  features: GuildFeature[];
2752
- /** the description for the guild, if the guild is discoverable */
3169
+ /** the description for the guild */
2753
3170
  description?: string | null;
2754
- /** whether the guild's boost progress bar should be enabled. */
3171
+ /** whether the guild's boost progress bar should be enabled */
2755
3172
  premium_progress_bar_enabled: boolean;
2756
3173
  }
2757
3174
  export interface ModifyGuildRoleParams {
2758
- /** name of the role */
3175
+ /** name of the role, max 100 characters */
2759
3176
  name: string;
2760
3177
  /** bitwise value of the enabled/disabled permissions */
2761
3178
  permissions: string;
@@ -2840,6 +3257,67 @@ export interface ModifyWebhookParams {
2840
3257
  /** the new channel id this webhook should be moved to */
2841
3258
  channel_id: Snowflake;
2842
3259
  }
3260
+ export declare enum MutableGuildFeature {
3261
+ COMMUNITY = "COMMUNITY",
3262
+ INVITES_DISABLED = "INVITES_DISABLED",
3263
+ DISCOVERABLE = "DISCOVERABLE"
3264
+ }
3265
+ export declare enum OAuth2Scope {
3266
+ /** allows your app to fetch data from a user's "Now Playing/Recently Played" list - requires Discord approval */
3267
+ ACTIVITIES_READ = "activities.read",
3268
+ /** allows your app to update a user's activity - requires Discord approval (NOT REQUIRED FOR GAMESDK ACTIVITY MANAGER) */
3269
+ ACTIVITIES_WRITE = "activities.write",
3270
+ /** allows your app to read build data for a user's applications */
3271
+ APPLICATIONS_BUILDS_READ = "applications.builds.read",
3272
+ /** allows your app to upload/update builds for a user's applications - requires Discord approval */
3273
+ APPLICATIONS_BUILDS_UPLOAD = "applications.builds.upload",
3274
+ /** allows your app to use commands in a guild */
3275
+ APPLICATIONS_COMMANDS = "applications.commands",
3276
+ /** allows your app to update its commands using a Bearer token - client credentials grant only */
3277
+ APPLICATIONS_COMMANDS_UPDATE = "applications.commands.update",
3278
+ /** allows your app to update permissions for its commands in a guild a user has permissions to */
3279
+ APPLICATIONS_COMMANDS_PERMISSIONS_UPDATE = "applications.commands.permissions.update",
3280
+ /** allows your app to read entitlements for a user's applications */
3281
+ APPLICATIONS_ENTITLEMENTS = "applications.entitlements",
3282
+ /** allows your app to read and update store data (SKUs, store listings, achievements, etc.) for a user's applications */
3283
+ APPLICATIONS_STORE_UPDATE = "applications.store.update",
3284
+ /** for oauth2 bots, this puts the bot in the user's selected guild by default */
3285
+ BOT = "bot",
3286
+ /** allows /users/@me/connections to return linked third-party accounts */
3287
+ CONNECTIONS = "connections",
3288
+ /** allows your app to see information about the user's DMs and group DMs - requires Discord approval */
3289
+ DM_CHANNELS_READ = "dm_channels.read",
3290
+ /** enables /users/@me to return an email */
3291
+ EMAIL = "email",
3292
+ /** allows your app to join users to a group dm */
3293
+ GDM_JOIN = "gdm.join",
3294
+ /** allows /users/@me/guilds to return basic information about all of a user's guilds */
3295
+ GUILDS = "guilds",
3296
+ /** allows /guilds/{guild.id}/members/{user.id} to be used for joining users to a guild */
3297
+ GUILDS_JOIN = "guilds.join",
3298
+ /** allows /users/@me/guilds/{guild.id}/member to return a user's member information in a guild */
3299
+ GUILDS_MEMBERS_READ = "guilds.members.read",
3300
+ /** allows /users/@me without email */
3301
+ IDENTIFY = "identify",
3302
+ /** for local rpc server api access, this allows you to read messages from all client channels (otherwise restricted to channels/guilds your app creates) */
3303
+ MESSAGES_READ = "messages.read",
3304
+ /** allows your app to know a user's friends and implicit relationships - requires Discord approval */
3305
+ RELATIONSHIPS_READ = "relationships.read",
3306
+ /** for local rpc server access, this allows you to control a user's local Discord client - requires Discord approval */
3307
+ RPC = "rpc",
3308
+ /** for local rpc server access, this allows you to update a user's activity - requires Discord approval */
3309
+ RPC_ACTIVITIES_WRITE = "rpc.activities.write",
3310
+ /** for local rpc server access, this allows you to receive notifications pushed out to the user - requires Discord approval */
3311
+ RPC_NOTIFICATIONS_READ = "rpc.notifications.read",
3312
+ /** for local rpc server access, this allows you to read a user's voice settings and listen for voice events - requires Discord approval */
3313
+ RPC_VOICE_READ = "rpc.voice.read",
3314
+ /** for local rpc server access, this allows you to update a user's voice settings - requires Discord approval */
3315
+ RPC_VOICE_WRITE = "rpc.voice.write",
3316
+ /** allows your app to connect to voice on user's behalf and see all the voice members - requires Discord approval */
3317
+ VOICE = "voice",
3318
+ /** this generates a webhook that is returned in the oauth token response for authorization code grants */
3319
+ WEBHOOK_INCOMING = "webhook.incoming"
3320
+ }
2843
3321
  export interface Overwrite {
2844
3322
  /** role or user id */
2845
3323
  id: Snowflake;
@@ -2873,7 +3351,7 @@ export declare const PermissionFlag: {
2873
3351
  readonly STREAM: bigint;
2874
3352
  /** Allows guild members to view a channel, which includes reading messages in text channels and joining voice channels */
2875
3353
  readonly VIEW_CHANNEL: bigint;
2876
- /** Allows for sending messages in a channel (does not allow sending messages in threads) */
3354
+ /** Allows for sending messages in a channel and creating threads in a forum (does not allow sending messages in threads) */
2877
3355
  readonly SEND_MESSAGES: bigint;
2878
3356
  /** Allows for sending of /tts messages */
2879
3357
  readonly SEND_TTS_MESSAGES: bigint;
@@ -2947,18 +3425,19 @@ export declare enum PremiumTier {
2947
3425
  export declare enum PremiumType {
2948
3426
  NONE = 0,
2949
3427
  NITRO_CLASSIC = 1,
2950
- NITRO = 2
3428
+ NITRO = 2,
3429
+ NITRO_BASIC = 3
2951
3430
  }
2952
3431
  export interface PresenceUpdateEvent {
2953
- /** the user presence is being updated for */
3432
+ /** User whose presence is being updated */
2954
3433
  user: User;
2955
- /** id of the guild */
3434
+ /** ID of the guild */
2956
3435
  guild_id: Snowflake;
2957
- /** either "idle", "dnd", "online", or "offline" */
3436
+ /** Either "idle", "dnd", "online", or "offline" */
2958
3437
  status: string;
2959
- /** user's current activities */
3438
+ /** User's current activities */
2960
3439
  activities: Activity[];
2961
- /** user's platform-dependent status */
3440
+ /** User's platform-dependent status */
2962
3441
  client_status: ClientStatus;
2963
3442
  }
2964
3443
  export declare enum PrivacyLevel {
@@ -2976,22 +3455,90 @@ export interface Reaction {
2976
3455
  emoji: Emoji;
2977
3456
  }
2978
3457
  export interface ReadyEvent {
2979
- /** gateway version */
3458
+ /** API version */
2980
3459
  v: number;
2981
- /** information about the user including email */
3460
+ /** Information about the user including email */
2982
3461
  user: User;
2983
- /** the guilds the user is in */
3462
+ /** Guilds the user is in */
2984
3463
  guilds: UnavailableGuild[];
2985
- /** used for resuming connections */
3464
+ /** Used for resuming connections */
2986
3465
  session_id: string;
2987
- /** the shard information associated with this session, if sent when identifying */
3466
+ /** Gateway URL for resuming connections */
3467
+ resume_gateway_url: string;
3468
+ /** Shard information associated with this session, if sent when identifying */
2988
3469
  shard?: number[];
2989
- /** contains id and flags */
3470
+ /** Contains id and flags */
2990
3471
  application: Application;
2991
3472
  }
2992
- export declare type ReconnectEvent = null;
3473
+ export type ReceiveEvent = HelloEvent | ReadyEvent | ResumedEvent | ReconnectEvent | InvalidSessionEvent | ApplicationCommandPermissionsUpdateEvent | AutoModerationRuleCreateEvent | AutoModerationRuleUpdateEvent | AutoModerationRuleDeleteEvent | AutoModerationActionExecutionEvent | ChannelCreateEvent | ChannelUpdateEvent | ChannelDeleteEvent | ChannelPinsUpdateEvent | ThreadCreateEvent | ThreadUpdateEvent | ThreadDeleteEvent | ThreadListSyncEvent | ThreadMemberUpdateEvent | ThreadMembersUpdateEvent | GuildCreateEvent | GuildUpdateEvent | GuildDeleteEvent | GuildBanAddEvent | GuildBanRemoveEvent | GuildEmojisUpdateEvent | GuildStickersUpdateEvent | GuildIntegrationsUpdateEvent | GuildMemberAddEvent | GuildMemberRemoveEvent | GuildMemberUpdateEvent | GuildMembersChunkEvent | GuildRoleCreateEvent | GuildRoleUpdateEvent | GuildRoleDeleteEvent | GuildScheduledEventCreateEvent | GuildScheduledEventUpdateEvent | GuildScheduledEventDeleteEvent | GuildScheduledEventUserAddEvent | GuildScheduledEventUserRemoveEvent | IntegrationCreateEvent | IntegrationUpdateEvent | IntegrationDeleteEvent | InteractionCreateEvent | InviteCreateEvent | InviteDeleteEvent | MessageCreateEvent | MessageUpdateEvent | MessageDeleteEvent | MessageDeleteBulkEvent | MessageReactionAddEvent | MessageReactionRemoveEvent | MessageReactionRemoveAllEvent | MessageReactionRemoveEmojiEvent | PresenceUpdateEvent | StageInstanceCreateEvent | StageInstanceUpdateEvent | StageInstanceDeleteEvent | TypingStartEvent | UserUpdateEvent | VoiceStateUpdateEvent | VoiceServerUpdateEvent | WebhooksUpdateEvent;
3474
+ export interface ReceiveEvents {
3475
+ HELLO: HelloEvent;
3476
+ READY: ReadyEvent;
3477
+ RESUMED: ResumedEvent;
3478
+ RECONNECT: ReconnectEvent;
3479
+ INVALID_SESSION: InvalidSessionEvent;
3480
+ APPLICATION_COMMAND_PERMISSIONS_UPDATE: ApplicationCommandPermissionsUpdateEvent;
3481
+ AUTO_MODERATION_RULE_CREATE: AutoModerationRuleCreateEvent;
3482
+ AUTO_MODERATION_RULE_UPDATE: AutoModerationRuleUpdateEvent;
3483
+ AUTO_MODERATION_RULE_DELETE: AutoModerationRuleDeleteEvent;
3484
+ AUTO_MODERATION_ACTION_EXECUTION: AutoModerationActionExecutionEvent;
3485
+ CHANNEL_CREATE: ChannelCreateEvent;
3486
+ CHANNEL_UPDATE: ChannelUpdateEvent;
3487
+ CHANNEL_DELETE: ChannelDeleteEvent;
3488
+ CHANNEL_PINS_UPDATE: ChannelPinsUpdateEvent;
3489
+ THREAD_CREATE: ThreadCreateEvent;
3490
+ THREAD_UPDATE: ThreadUpdateEvent;
3491
+ THREAD_DELETE: ThreadDeleteEvent;
3492
+ THREAD_LIST_SYNC: ThreadListSyncEvent;
3493
+ THREAD_MEMBER_UPDATE: ThreadMemberUpdateEvent;
3494
+ THREAD_MEMBERS_UPDATE: ThreadMembersUpdateEvent;
3495
+ GUILD_CREATE: GuildCreateEvent;
3496
+ GUILD_UPDATE: GuildUpdateEvent;
3497
+ GUILD_DELETE: GuildDeleteEvent;
3498
+ GUILD_BAN_ADD: GuildBanAddEvent;
3499
+ GUILD_BAN_REMOVE: GuildBanRemoveEvent;
3500
+ GUILD_EMOJIS_UPDATE: GuildEmojisUpdateEvent;
3501
+ GUILD_STICKERS_UPDATE: GuildStickersUpdateEvent;
3502
+ GUILD_INTEGRATIONS_UPDATE: GuildIntegrationsUpdateEvent;
3503
+ GUILD_MEMBER_ADD: GuildMemberAddEvent;
3504
+ GUILD_MEMBER_REMOVE: GuildMemberRemoveEvent;
3505
+ GUILD_MEMBER_UPDATE: GuildMemberUpdateEvent;
3506
+ GUILD_MEMBERS_CHUNK: GuildMembersChunkEvent;
3507
+ GUILD_ROLE_CREATE: GuildRoleCreateEvent;
3508
+ GUILD_ROLE_UPDATE: GuildRoleUpdateEvent;
3509
+ GUILD_ROLE_DELETE: GuildRoleDeleteEvent;
3510
+ GUILD_SCHEDULED_EVENT_CREATE: GuildScheduledEventCreateEvent;
3511
+ GUILD_SCHEDULED_EVENT_UPDATE: GuildScheduledEventUpdateEvent;
3512
+ GUILD_SCHEDULED_EVENT_DELETE: GuildScheduledEventDeleteEvent;
3513
+ GUILD_SCHEDULED_EVENT_USER_ADD: GuildScheduledEventUserAddEvent;
3514
+ GUILD_SCHEDULED_EVENT_USER_REMOVE: GuildScheduledEventUserRemoveEvent;
3515
+ INTEGRATION_CREATE: IntegrationCreateEvent;
3516
+ INTEGRATION_UPDATE: IntegrationUpdateEvent;
3517
+ INTEGRATION_DELETE: IntegrationDeleteEvent;
3518
+ INTERACTION_CREATE: InteractionCreateEvent;
3519
+ INVITE_CREATE: InviteCreateEvent;
3520
+ INVITE_DELETE: InviteDeleteEvent;
3521
+ MESSAGE_CREATE: MessageCreateEvent;
3522
+ MESSAGE_UPDATE: MessageUpdateEvent;
3523
+ MESSAGE_DELETE: MessageDeleteEvent;
3524
+ MESSAGE_DELETE_BULK: MessageDeleteBulkEvent;
3525
+ MESSAGE_REACTION_ADD: MessageReactionAddEvent;
3526
+ MESSAGE_REACTION_REMOVE: MessageReactionRemoveEvent;
3527
+ MESSAGE_REACTION_REMOVE_ALL: MessageReactionRemoveAllEvent;
3528
+ MESSAGE_REACTION_REMOVE_EMOJI: MessageReactionRemoveEmojiEvent;
3529
+ PRESENCE_UPDATE: PresenceUpdateEvent;
3530
+ STAGE_INSTANCE_CREATE: StageInstanceCreateEvent;
3531
+ STAGE_INSTANCE_UPDATE: StageInstanceUpdateEvent;
3532
+ STAGE_INSTANCE_DELETE: StageInstanceDeleteEvent;
3533
+ TYPING_START: TypingStartEvent;
3534
+ USER_UPDATE: UserUpdateEvent;
3535
+ VOICE_STATE_UPDATE: VoiceStateUpdateEvent;
3536
+ VOICE_SERVER_UPDATE: VoiceServerUpdateEvent;
3537
+ WEBHOOKS_UPDATE: WebhooksUpdateEvent;
3538
+ }
3539
+ export type ReconnectEvent = null;
2993
3540
  export interface RequestGuildMember {
2994
- /** id of the guild to get members for */
3541
+ /** ID of the guild to get members for */
2995
3542
  guild_id: Snowflake;
2996
3543
  /** string that username starts with, or an empty string to return all members */
2997
3544
  query?: string;
@@ -3018,8 +3565,18 @@ export interface ResolvedDatum {
3018
3565
  /** the ids and attachment objects */
3019
3566
  attachments?: Record<Snowflake, Attachment>;
3020
3567
  }
3568
+ export interface Response {
3569
+ /** the current application */
3570
+ application: Application;
3571
+ /** the scopes the user has authorized the application for */
3572
+ scopes: string[];
3573
+ /** when the access token expires */
3574
+ expires: string;
3575
+ /** the user who has authorized, if the user has authorized with the identify scope */
3576
+ user?: User;
3577
+ }
3021
3578
  export interface ResponseBody {
3022
- /** the active threads */
3579
+ /** the public, archived threads */
3023
3580
  threads: Channel[];
3024
3581
  /** a thread member object for each returned thread the current user has joined */
3025
3582
  members: ThreadMember[];
@@ -3027,14 +3584,14 @@ export interface ResponseBody {
3027
3584
  has_more: boolean;
3028
3585
  }
3029
3586
  export interface Resume {
3030
- /** session token */
3587
+ /** Session token */
3031
3588
  token: string;
3032
- /** session id */
3589
+ /** Session ID */
3033
3590
  session_id: string;
3034
- /** last sequence number received */
3591
+ /** Last sequence number received */
3035
3592
  seq: number;
3036
3593
  }
3037
- export declare type ResumedEvent = null;
3594
+ export type ResumedEvent = null;
3038
3595
  export interface Role {
3039
3596
  /** role id */
3040
3597
  id: Snowflake;
@@ -3067,7 +3624,7 @@ export interface RoleTag {
3067
3624
  /** whether this is the guild's premium subscriber role */
3068
3625
  premium_subscriber?: null;
3069
3626
  }
3070
- export declare type Route<P, O> = {
3627
+ export type Route<P, O> = {
3071
3628
  method: string;
3072
3629
  url: string;
3073
3630
  params?: P;
@@ -3080,44 +3637,61 @@ export interface SearchGuildMemberParams {
3080
3637
  limit: number;
3081
3638
  }
3082
3639
  export interface SelectMenu {
3083
- /** 3 for a select menu */
3084
- type: number;
3085
- /** a developer-defined identifier for the select menu, max 100 characters */
3640
+ /** Type of select menu component (text: 3, user: 5, role: 6, mentionable: 7, channels: 8) */
3641
+ type: ComponentType;
3642
+ /** ID for the select menu; max 100 characters */
3086
3643
  custom_id: string;
3087
- /** the choices in the select, max 25 */
3088
- options: SelectOption[];
3089
- /** custom placeholder text if nothing is selected, max 150 characters */
3644
+ /** Specified choices in a select menu (only required and available for string selects (type 3); max 25 */
3645
+ options?: SelectOption[];
3646
+ /** List of channel types to include in the channel select component (type 8) */
3647
+ channel_types?: ChannelType[];
3648
+ /** Placeholder text if nothing is selected; max 150 characters */
3090
3649
  placeholder?: string;
3091
- /** the minimum number of items that must be chosen; default 1, min 0, max 25 */
3650
+ /** Minimum number of items that must be chosen (defaults to 1); min 0, max 25 */
3092
3651
  min_values?: number;
3093
- /** the maximum number of items that can be chosen; default 1, max 25 */
3652
+ /** Maximum number of items that can be chosen (defaults to 1); max 25 */
3094
3653
  max_values?: number;
3095
- /** disable the select, default false */
3654
+ /** Whether select menu is disabled (defaults to false) */
3096
3655
  disabled?: boolean;
3097
3656
  }
3098
3657
  export interface SelectOption {
3099
- /** the user-facing name of the option, max 100 characters */
3658
+ /** User-facing name of the option; max 100 characters */
3100
3659
  label: string;
3101
- /** the dev-define value of the option, max 100 characters */
3660
+ /** Dev-defined value of the option; max 100 characters */
3102
3661
  value: string;
3103
- /** an additional description of the option, max 100 characters */
3662
+ /** Additional description of the option; max 100 characters */
3104
3663
  description?: string;
3105
3664
  /** id, name, and animated */
3106
3665
  emoji?: Emoji;
3107
- /** will render this option as selected by default */
3666
+ /** Will show this option as selected by default */
3108
3667
  default?: boolean;
3109
3668
  }
3669
+ export type SendEvent = Identify | Resume | Heartbeat | RequestGuildMember | UpdateVoiceState | UpdatePresence;
3670
+ export interface SendEvents {
3671
+ IDENTIFY: Identify;
3672
+ RESUME: Resume;
3673
+ HEARTBEAT: Heartbeat;
3674
+ REQUEST_GUILD_MEMBERS: RequestGuildMember;
3675
+ UPDATE_VOICE_STATE: UpdateVoiceState;
3676
+ UPDATE_PRESENCE: UpdatePresence;
3677
+ }
3110
3678
  export interface SessionStartLimit {
3111
- /** The total number of session starts the current user is allowed */
3679
+ /** Total number of session starts the current user is allowed */
3112
3680
  total: number;
3113
- /** The remaining number of session starts the current user is allowed */
3681
+ /** Remaining number of session starts the current user is allowed */
3114
3682
  remaining: number;
3115
- /** The number of milliseconds after which the limit resets */
3683
+ /** Number of milliseconds after which the limit resets */
3116
3684
  reset_after: number;
3117
- /** The number of identify requests allowed per 5 seconds */
3685
+ /** Number of identify requests allowed per 5 seconds */
3118
3686
  max_concurrency: number;
3119
3687
  }
3120
- export declare type Snowflake = `${bigint}`;
3688
+ export type Snowflake = `${bigint}`;
3689
+ export declare enum SortOrderType {
3690
+ /** Sort forum posts by activity */
3691
+ LATEST_ACTIVITY = 0,
3692
+ /** Sort forum posts by creation time (from most recent to oldest) */
3693
+ CREATION_DATE = 1
3694
+ }
3121
3695
  export interface StageInstance {
3122
3696
  /** The id of this Stage instance */
3123
3697
  id: Snowflake;
@@ -3134,21 +3708,53 @@ export interface StageInstance {
3134
3708
  /** The id of the scheduled event for this Stage instance */
3135
3709
  guild_scheduled_event_id?: Snowflake | null;
3136
3710
  }
3137
- export declare type StageInstanceCreateEvent = StageInstance;
3138
- export declare type StageInstanceDeleteEvent = StageInstance;
3139
- export declare type StageInstanceUpdateEvent = StageInstance;
3140
- export interface StartThreadWithMessageParams {
3711
+ export type StageInstanceCreateEvent = StageInstance;
3712
+ export type StageInstanceDeleteEvent = StageInstance;
3713
+ export type StageInstanceUpdateEvent = StageInstance;
3714
+ export interface StartThreadFromMessageParams {
3715
+ /** 1-100 character channel name */
3716
+ name: string;
3717
+ /** the thread will stop showing in the channel list after auto_archive_duration minutes of inactivity, can be set to: 60, 1440, 4320, 10080 */
3718
+ auto_archive_duration?: number;
3719
+ /** amount of seconds a user has to wait before sending another message (0-21600) */
3720
+ rate_limit_per_user?: number | null;
3721
+ }
3722
+ export interface StartThreadInForumChannelForumThreadMessageParams {
3723
+ /** Message contents (up to 2000 characters) */
3724
+ content?: string;
3725
+ /** Embedded rich content (up to 6000 characters) */
3726
+ embeds?: Embed[];
3727
+ /** Allowed mentions for the message */
3728
+ allowed_mentions?: AllowedMention;
3729
+ /** Components to include with the message */
3730
+ components?: Component[];
3731
+ /** IDs of up to 3 stickers in the server to send in the message */
3732
+ sticker_ids?: Snowflake[];
3733
+ /** Contents of the file being sent. See Uploading Files */
3734
+ files: string;
3735
+ /** JSON-encoded body of non-file params, only for multipart/form-data requests. See Uploading Files */
3736
+ payload_json?: string;
3737
+ /** Attachment objects with filename and description. See Uploading Files */
3738
+ attachments?: Attachment[];
3739
+ /** Message flags combined as a bitfield (only SUPPRESS_EMBEDS can be set) */
3740
+ flags?: number;
3741
+ }
3742
+ export interface StartThreadInForumChannelParams {
3141
3743
  /** 1-100 character channel name */
3142
3744
  name: string;
3143
3745
  /** duration in minutes to automatically archive the thread after recent activity, can be set to: 60, 1440, 4320, 10080 */
3144
3746
  auto_archive_duration?: number;
3145
3747
  /** amount of seconds a user has to wait before sending another message (0-21600) */
3146
3748
  rate_limit_per_user?: number | null;
3749
+ /** contents of the first message in the forum thread */
3750
+ message: StartThreadInForumChannelForumThreadMessageParams;
3751
+ /** the IDs of the set of tags that have been applied to a thread in a GUILD_FORUM channel */
3752
+ applied_tags?: Snowflake[];
3147
3753
  }
3148
3754
  export interface StartThreadWithoutMessageParams {
3149
3755
  /** 1-100 character channel name */
3150
3756
  name: string;
3151
- /** duration in minutes to automatically archive the thread after recent activity, can be set to: 60, 1440, 4320, 10080 */
3757
+ /** the thread will stop showing in the channel list after auto_archive_duration minutes of inactivity, can be set to: 60, 1440, 4320, 10080 */
3152
3758
  auto_archive_duration?: number;
3153
3759
  /** the type of thread to create */
3154
3760
  type?: ChannelType;
@@ -3227,7 +3833,7 @@ export interface StickerPack {
3227
3833
  export declare enum StickerType {
3228
3834
  /** an official sticker in a pack, part of Nitro or in a removed purchasable pack */
3229
3835
  STANDARD = 1,
3230
- /** a sticker uploaded to a Boosted guild for the guild's members */
3836
+ /** a sticker uploaded to a guild for the guild's members */
3231
3837
  GUILD = 2
3232
3838
  }
3233
3839
  export declare const SystemChannelFlag: {
@@ -3265,39 +3871,39 @@ export interface TeamMember {
3265
3871
  export interface TextInput {
3266
3872
  /** 4 for a text input */
3267
3873
  type: number;
3268
- /** a developer-defined identifier for the input, max 100 characters */
3874
+ /** Developer-defined identifier for the input; max 100 characters */
3269
3875
  custom_id: string;
3270
- /** the Text Input Style */
3876
+ /** The Text Input Style */
3271
3877
  style: TextInputStyle;
3272
- /** the label for this component */
3878
+ /** Label for this component; max 45 characters */
3273
3879
  label: string;
3274
- /** the minimum input length for a text input, min 0, max 4000 */
3880
+ /** Minimum input length for a text input; min 0, max 4000 */
3275
3881
  min_length?: number;
3276
- /** the maximum input length for a text input, min 1, max 4000 */
3882
+ /** Maximum input length for a text input; min 1, max 4000 */
3277
3883
  max_length?: number;
3278
- /** whether this component is required to be filled, default true */
3884
+ /** Whether this component is required to be filled (defaults to true) */
3279
3885
  required?: boolean;
3280
- /** a pre-filled value for this component, max 4000 characters */
3886
+ /** Pre-filled value for this component; max 4000 characters */
3281
3887
  value?: string;
3282
- /** custom placeholder text if the input is empty, max 100 characters */
3888
+ /** Custom placeholder text if the input is empty; max 100 characters */
3283
3889
  placeholder?: string;
3284
3890
  }
3285
3891
  export declare enum TextInputStyle {
3286
- /** A single-line input */
3892
+ /** Single-line input */
3287
3893
  SHORT = 1,
3288
- /** A multi-line input */
3894
+ /** Multi-line input */
3289
3895
  PARAGRAPH = 2
3290
3896
  }
3291
- export declare type ThreadCreateEvent = Channel;
3292
- export declare type ThreadDeleteEvent = Channel;
3897
+ export type ThreadCreateEvent = Channel;
3898
+ export type ThreadDeleteEvent = Channel;
3293
3899
  export interface ThreadListSyncEvent {
3294
- /** the id of the guild */
3900
+ /** ID of the guild */
3295
3901
  guild_id: Snowflake;
3296
- /** the parent channel ids whose threads are being synced. If omitted, then threads were synced for the entire guild. This array may contain channel_ids that have no active threads as well, so you know to clear that data. */
3902
+ /** Parent channel IDs whose threads are being synced. If omitted, then threads were synced for the entire guild. This array may contain channel_ids that have no active threads as well, so you know to clear that data. */
3297
3903
  channel_ids?: Snowflake[];
3298
- /** all active threads in the given channels that the current user can access */
3904
+ /** All active threads in the given channels that the current user can access */
3299
3905
  threads: Channel[];
3300
- /** all thread member objects from the synced threads for the current user, indicating which threads the current user has been added to */
3906
+ /** All thread member objects from the synced threads for the current user, indicating which threads the current user has been added to */
3301
3907
  members: ThreadMember[];
3302
3908
  }
3303
3909
  export interface ThreadMember {
@@ -3311,26 +3917,26 @@ export interface ThreadMember {
3311
3917
  flags: number;
3312
3918
  }
3313
3919
  export interface ThreadMembersUpdateEvent {
3314
- /** the id of the thread */
3920
+ /** ID of the thread */
3315
3921
  id: Snowflake;
3316
- /** the id of the guild */
3922
+ /** ID of the guild */
3317
3923
  guild_id: Snowflake;
3318
- /** the approximate number of members in the thread, capped at 50 */
3924
+ /** Approximate number of members in the thread, capped at 50 */
3319
3925
  member_count: number;
3320
- /** the users who were added to the thread */
3926
+ /** Users who were added to the thread */
3321
3927
  added_members?: ThreadMember[];
3322
- /** the id of the users who were removed from the thread */
3928
+ /** ID of the users who were removed from the thread */
3323
3929
  removed_member_ids?: Snowflake[];
3324
3930
  }
3325
- export declare type ThreadMemberUpdateEvent = ThreadMember;
3931
+ export type ThreadMemberUpdateEvent = ThreadMember;
3326
3932
  export interface ThreadMemberUpdateEventExtra {
3327
- /** the id of the guild */
3933
+ /** ID of the guild */
3328
3934
  guild_id: Snowflake;
3329
3935
  }
3330
3936
  export interface ThreadMetadatum {
3331
3937
  /** whether the thread is archived */
3332
3938
  archived: boolean;
3333
- /** duration in minutes to automatically archive the thread after recent activity, can be set to: 60, 1440, 4320, 10080 */
3939
+ /** the thread will stop showing in the channel list after auto_archive_duration minutes of inactivity, can be set to: 60, 1440, 4320, 10080 */
3334
3940
  auto_archive_duration: number;
3335
3941
  /** timestamp when the thread's archive status was last changed, used for calculating recent activity */
3336
3942
  archive_timestamp: string;
@@ -3341,17 +3947,39 @@ export interface ThreadMetadatum {
3341
3947
  /** timestamp when the thread was created; only populated for threads created after 2022-01-09 */
3342
3948
  create_timestamp?: string | null;
3343
3949
  }
3344
- export declare type ThreadUpdateEvent = Channel;
3950
+ export type ThreadUpdateEvent = Channel;
3951
+ export interface TriggerMetadatum {
3952
+ /** KEYWORD */
3953
+ keyword_filter: string[];
3954
+ /** KEYWORD */
3955
+ regex_patterns: string[];
3956
+ /** KEYWORD_PRESET */
3957
+ presets: KeywordPresetType[];
3958
+ /** KEYWORD, KEYWORD_PRESET */
3959
+ allow_list: string[];
3960
+ /** MENTION_SPAM */
3961
+ mention_total_limit: number;
3962
+ }
3963
+ export declare enum TriggerType {
3964
+ /** check if content contains words from a user defined list of keywords */
3965
+ KEYWORD = 1,
3966
+ /** check if content represents generic spam */
3967
+ SPAM = 3,
3968
+ /** check if content contains words from internal pre-defined wordsets */
3969
+ KEYWORD_PRESET = 4,
3970
+ /** check if content contains more unique mentions than allowed */
3971
+ MENTION_SPAM = 5
3972
+ }
3345
3973
  export interface TypingStartEvent {
3346
- /** id of the channel */
3974
+ /** ID of the channel */
3347
3975
  channel_id: Snowflake;
3348
- /** id of the guild */
3976
+ /** ID of the guild */
3349
3977
  guild_id?: Snowflake;
3350
- /** id of the user */
3978
+ /** ID of the user */
3351
3979
  user_id: Snowflake;
3352
- /** unix time (in seconds) of when the user started typing */
3980
+ /** Unix time (in seconds) of when the user started typing */
3353
3981
  timestamp: number;
3354
- /** the member who started typing if this happened in a guild */
3982
+ /** Member who started typing if this happened in a guild */
3355
3983
  member?: GuildMember;
3356
3984
  }
3357
3985
  export interface UnavailableGuild {
@@ -3361,23 +3989,23 @@ export interface UnavailableGuild {
3361
3989
  unavailable: boolean;
3362
3990
  }
3363
3991
  export interface UpdatePresence {
3364
- /** unix time (in milliseconds) of when the client went idle, or null if the client is not idle */
3992
+ /** Unix time (in milliseconds) of when the client went idle, or null if the client is not idle */
3365
3993
  since?: number | null;
3366
- /** the user's activities */
3994
+ /** User's activities */
3367
3995
  activities: Activity[];
3368
- /** the user's new status */
3996
+ /** User's new status */
3369
3997
  status: StatusType;
3370
- /** whether or not the client is afk */
3998
+ /** Whether or not the client is afk */
3371
3999
  afk: boolean;
3372
4000
  }
3373
4001
  export interface UpdateVoiceState {
3374
- /** id of the guild */
4002
+ /** ID of the guild */
3375
4003
  guild_id: Snowflake;
3376
- /** id of the voice channel client wants to join (null if disconnecting) */
4004
+ /** ID of the voice channel client wants to join (null if disconnecting) */
3377
4005
  channel_id?: Snowflake | null;
3378
- /** is the client muted */
4006
+ /** Whether the client is muted */
3379
4007
  self_mute: boolean;
3380
- /** is the client deafened */
4008
+ /** Whether the client deafened */
3381
4009
  self_deaf: boolean;
3382
4010
  }
3383
4011
  export interface User {
@@ -3417,7 +4045,7 @@ export declare const UserFlag: {
3417
4045
  readonly STAFF: number;
3418
4046
  /** Partnered Server Owner */
3419
4047
  readonly PARTNER: number;
3420
- /** HypeSquad Events Coordinator */
4048
+ /** HypeSquad Events Member */
3421
4049
  readonly HYPESQUAD: number;
3422
4050
  /** Bug Hunter Level 1 */
3423
4051
  readonly BUG_HUNTER_LEVEL_1: number;
@@ -3441,8 +4069,10 @@ export declare const UserFlag: {
3441
4069
  readonly CERTIFIED_MODERATOR: number;
3442
4070
  /** Bot uses only HTTP interactions and is shown in the online member list */
3443
4071
  readonly BOT_HTTP_INTERACTIONS: number;
4072
+ /** User is an Active Developer */
4073
+ readonly ACTIVE_DEVELOPER: number;
3444
4074
  };
3445
- export declare type UserUpdateEvent = User;
4075
+ export type UserUpdateEvent = User;
3446
4076
  export declare enum VerificationLevel {
3447
4077
  /** unrestricted */
3448
4078
  NONE = 0,
@@ -3504,11 +4134,11 @@ export interface VoiceRegion {
3504
4134
  custom: boolean;
3505
4135
  }
3506
4136
  export interface VoiceServerUpdateEvent {
3507
- /** voice connection token */
4137
+ /** Voice connection token */
3508
4138
  token: string;
3509
- /** the guild this voice server update is for */
4139
+ /** Guild this voice server update is for */
3510
4140
  guild_id: Snowflake;
3511
- /** the voice server host */
4141
+ /** Voice server host */
3512
4142
  endpoint?: string | null;
3513
4143
  }
3514
4144
  export interface VoiceState {
@@ -3534,12 +4164,12 @@ export interface VoiceState {
3534
4164
  self_stream?: boolean;
3535
4165
  /** whether this user's camera is enabled */
3536
4166
  self_video: boolean;
3537
- /** whether this user is muted by the current user */
4167
+ /** whether this user's permission to speak is denied */
3538
4168
  suppress: boolean;
3539
4169
  /** the time at which the user requested to speak */
3540
4170
  request_to_speak_timestamp?: string | null;
3541
4171
  }
3542
- export declare type VoiceStateUpdateEvent = VoiceState;
4172
+ export type VoiceStateUpdateEvent = VoiceState;
3543
4173
  export interface Webhook {
3544
4174
  /** the id of the webhook */
3545
4175
  id: Snowflake;
@@ -3567,9 +4197,9 @@ export interface Webhook {
3567
4197
  url?: string;
3568
4198
  }
3569
4199
  export interface WebhooksUpdateEvent {
3570
- /** id of the guild */
4200
+ /** ID of the guild */
3571
4201
  guild_id: Snowflake;
3572
- /** id of the channel */
4202
+ /** ID of the channel */
3573
4203
  channel_id: Snowflake;
3574
4204
  }
3575
4205
  export declare enum WebhookType {
@@ -3596,3 +4226,4 @@ export interface WelcomeScreenChannel {
3596
4226
  /** the emoji name if custom, the unicode character if standard, or null if no emoji is set */
3597
4227
  emoji_name?: string | null;
3598
4228
  }
4229
+ //# sourceMappingURL=types.d.ts.map