chapterjs 0.1.2 → 0.2.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 (318) hide show
  1. package/dist/assets/asset.d.ts +46 -0
  2. package/dist/assets/asset.js +86 -0
  3. package/dist/assets/public.d.ts +19 -0
  4. package/dist/assets/public.js +120 -0
  5. package/dist/cache/cache.d.ts +62 -0
  6. package/dist/cache/cache.js +80 -0
  7. package/dist/cache/store.d.ts +45 -0
  8. package/dist/cache/store.js +53 -0
  9. package/dist/cli/build.d.ts +41 -0
  10. package/dist/cli/build.js +205 -0
  11. package/dist/cli/cli.js +108 -25
  12. package/dist/cli/cluster.d.ts +70 -0
  13. package/dist/cli/cluster.js +213 -0
  14. package/dist/cli/dev.d.ts +18 -1
  15. package/dist/cli/dev.js +253 -198
  16. package/dist/cli/env.d.ts +31 -0
  17. package/dist/cli/env.js +93 -0
  18. package/dist/cli/log.d.ts +13 -0
  19. package/dist/cli/log.js +17 -0
  20. package/dist/cli/node-version.d.ts +8 -0
  21. package/dist/cli/node-version.js +13 -0
  22. package/dist/cli/preflight.d.ts +36 -0
  23. package/dist/cli/preflight.js +122 -0
  24. package/dist/cli/project.d.ts +135 -0
  25. package/dist/cli/project.js +517 -0
  26. package/dist/cli/start.d.ts +25 -0
  27. package/dist/cli/start.js +225 -0
  28. package/dist/commands/autocomplete.d.ts +13 -0
  29. package/dist/commands/autocomplete.js +159 -0
  30. package/dist/commands/command.d.ts +360 -0
  31. package/dist/commands/command.js +28 -0
  32. package/dist/commands/declaration.d.ts +77 -0
  33. package/dist/commands/declaration.js +492 -0
  34. package/dist/commands/register.d.ts +18 -0
  35. package/dist/commands/register.js +42 -0
  36. package/dist/commands/router.d.ts +20 -0
  37. package/dist/commands/router.js +228 -0
  38. package/dist/commands/tree.d.ts +47 -0
  39. package/dist/commands/tree.js +216 -0
  40. package/dist/commands/twins.d.ts +15 -0
  41. package/dist/commands/twins.js +78 -0
  42. package/dist/components/button.d.ts +79 -0
  43. package/dist/components/button.js +106 -0
  44. package/dist/components/component.d.ts +140 -0
  45. package/dist/components/component.js +39 -0
  46. package/dist/components/custom-id.d.ts +72 -0
  47. package/dist/components/custom-id.js +128 -0
  48. package/dist/components/declaration.d.ts +42 -0
  49. package/dist/components/declaration.js +342 -0
  50. package/dist/components/declared.d.ts +29 -0
  51. package/dist/components/declared.js +49 -0
  52. package/dist/components/embed.d.ts +29 -0
  53. package/dist/components/embed.js +11 -0
  54. package/dist/components/instance.d.ts +100 -0
  55. package/dist/components/instance.js +86 -0
  56. package/dist/components/layout.d.ts +103 -0
  57. package/dist/components/layout.js +279 -0
  58. package/dist/components/modal.d.ts +245 -0
  59. package/dist/components/modal.js +398 -0
  60. package/dist/components/options.d.ts +41 -0
  61. package/dist/components/options.js +101 -0
  62. package/dist/components/render.d.ts +12 -0
  63. package/dist/components/render.js +58 -0
  64. package/dist/components/router.d.ts +19 -0
  65. package/dist/components/router.js +251 -0
  66. package/dist/components/select.d.ts +146 -0
  67. package/dist/components/select.js +179 -0
  68. package/dist/core/bot.d.ts +99 -0
  69. package/dist/core/bot.js +174 -0
  70. package/dist/core/memory.d.ts +66 -0
  71. package/dist/core/memory.js +115 -0
  72. package/dist/discord/api.d.ts +112 -0
  73. package/dist/discord/api.js +115 -0
  74. package/dist/discord/cdn.d.ts +67 -0
  75. package/dist/discord/cdn.js +100 -0
  76. package/dist/discord/codes.d.ts +171 -0
  77. package/dist/discord/codes.js +421 -0
  78. package/dist/discord/endpoint.d.ts +56 -0
  79. package/dist/discord/endpoint.js +53 -0
  80. package/dist/discord/endpoints.d.ts +1529 -0
  81. package/dist/discord/endpoints.js +1139 -0
  82. package/dist/discord/formatting.d.ts +67 -0
  83. package/dist/discord/formatting.js +87 -0
  84. package/dist/discord/index.d.ts +10 -0
  85. package/dist/discord/index.js +13 -0
  86. package/dist/discord/intents.d.ts +48 -0
  87. package/dist/discord/intents.js +128 -0
  88. package/dist/discord/permissions.d.ts +94 -0
  89. package/dist/discord/permissions.js +185 -0
  90. package/dist/discord/snowflake.d.ts +21 -0
  91. package/dist/discord/snowflake.js +36 -0
  92. package/dist/discord/types/application-command.d.ts +332 -0
  93. package/dist/discord/types/application-command.js +48 -0
  94. package/dist/discord/types/application-role-connection-metadata.d.ts +42 -0
  95. package/dist/discord/types/application-role-connection-metadata.js +22 -0
  96. package/dist/discord/types/application.d.ts +208 -0
  97. package/dist/discord/types/application.js +48 -0
  98. package/dist/discord/types/audit-log.d.ts +255 -0
  99. package/dist/discord/types/audit-log.js +144 -0
  100. package/dist/discord/types/auto-moderation.d.ts +167 -0
  101. package/dist/discord/types/auto-moderation.js +52 -0
  102. package/dist/discord/types/channel.d.ts +557 -0
  103. package/dist/discord/types/channel.js +88 -0
  104. package/dist/discord/types/common.d.ts +54 -0
  105. package/dist/discord/types/common.js +38 -0
  106. package/dist/discord/types/component.d.ts +775 -0
  107. package/dist/discord/types/component.js +76 -0
  108. package/dist/discord/types/emoji.d.ts +74 -0
  109. package/dist/discord/types/emoji.js +1 -0
  110. package/dist/discord/types/entitlement.d.ts +84 -0
  111. package/dist/discord/types/entitlement.js +22 -0
  112. package/dist/discord/types/gateway-events.d.ts +1148 -0
  113. package/dist/discord/types/gateway-events.js +54 -0
  114. package/dist/discord/types/gateway.d.ts +38 -0
  115. package/dist/discord/types/gateway.js +1 -0
  116. package/dist/discord/types/guild-scheduled-event.d.ts +257 -0
  117. package/dist/discord/types/guild-scheduled-event.js +68 -0
  118. package/dist/discord/types/guild-template.d.ts +51 -0
  119. package/dist/discord/types/guild-template.js +1 -0
  120. package/dist/discord/types/guild.d.ts +910 -0
  121. package/dist/discord/types/guild.js +153 -0
  122. package/dist/discord/types/index.d.ts +31 -0
  123. package/dist/discord/types/index.js +31 -0
  124. package/dist/discord/types/interaction.d.ts +321 -0
  125. package/dist/discord/types/interaction.js +47 -0
  126. package/dist/discord/types/invite.d.ts +158 -0
  127. package/dist/discord/types/invite.js +39 -0
  128. package/dist/discord/types/message.d.ts +834 -0
  129. package/dist/discord/types/message.js +159 -0
  130. package/dist/discord/types/oauth2.d.ts +22 -0
  131. package/dist/discord/types/oauth2.js +1 -0
  132. package/dist/discord/types/permissions.d.ts +183 -0
  133. package/dist/discord/types/permissions.js +118 -0
  134. package/dist/discord/types/poll.d.ts +106 -0
  135. package/dist/discord/types/poll.js +8 -0
  136. package/dist/discord/types/sku.d.ts +47 -0
  137. package/dist/discord/types/sku.js +26 -0
  138. package/dist/discord/types/soundboard.d.ts +71 -0
  139. package/dist/discord/types/soundboard.js +1 -0
  140. package/dist/discord/types/stage-instance.d.ts +58 -0
  141. package/dist/discord/types/stage-instance.js +10 -0
  142. package/dist/discord/types/sticker.d.ts +115 -0
  143. package/dist/discord/types/sticker.js +20 -0
  144. package/dist/discord/types/subscription.d.ts +54 -0
  145. package/dist/discord/types/subscription.js +12 -0
  146. package/dist/discord/types/team.d.ts +55 -0
  147. package/dist/discord/types/team.js +21 -0
  148. package/dist/discord/types/user.d.ts +273 -0
  149. package/dist/discord/types/user.js +83 -0
  150. package/dist/discord/types/voice.d.ts +72 -0
  151. package/dist/discord/types/voice.js +1 -0
  152. package/dist/discord/types/webhook.d.ts +184 -0
  153. package/dist/discord/types/webhook.js +12 -0
  154. package/dist/events/declaration.d.ts +16 -0
  155. package/dist/events/declaration.js +80 -0
  156. package/dist/events/event.d.ts +45 -0
  157. package/dist/events/event.js +34 -0
  158. package/dist/events/registry.d.ts +697 -0
  159. package/dist/events/registry.js +839 -0
  160. package/dist/events/router.d.ts +46 -0
  161. package/dist/events/router.js +133 -0
  162. package/dist/gateway/errors.d.ts +18 -0
  163. package/dist/gateway/errors.js +47 -0
  164. package/dist/gateway/gateway.d.ts +64 -0
  165. package/dist/gateway/gateway.js +117 -0
  166. package/dist/gateway/identify-queue.d.ts +25 -0
  167. package/dist/gateway/identify-queue.js +29 -0
  168. package/dist/gateway/shard.d.ts +94 -0
  169. package/dist/gateway/shard.js +414 -0
  170. package/dist/gateway/state.d.ts +11 -0
  171. package/dist/gateway/state.js +184 -0
  172. package/dist/index.d.ts +57 -18
  173. package/dist/index.js +40 -12
  174. package/dist/interactions/cooldown.d.ts +33 -0
  175. package/dist/interactions/cooldown.js +74 -0
  176. package/dist/interactions/dispatch.d.ts +91 -0
  177. package/dist/interactions/dispatch.js +110 -0
  178. package/dist/loader/generated.d.ts +10 -0
  179. package/dist/loader/generated.js +80 -0
  180. package/dist/loader/hot.d.ts +13 -0
  181. package/dist/loader/hot.js +85 -0
  182. package/dist/loader/loader.d.ts +85 -0
  183. package/dist/loader/loader.js +119 -0
  184. package/dist/loader/locate.d.ts +10 -0
  185. package/dist/loader/locate.js +36 -0
  186. package/dist/loader/watch.d.ts +17 -0
  187. package/dist/loader/watch.js +66 -0
  188. package/dist/main.d.ts +2 -0
  189. package/dist/main.js +5 -0
  190. package/dist/messages/commands.d.ts +23 -0
  191. package/dist/messages/commands.js +142 -0
  192. package/dist/messages/declaration.d.ts +89 -0
  193. package/dist/messages/declaration.js +455 -0
  194. package/dist/messages/messages.d.ts +241 -0
  195. package/dist/messages/messages.js +31 -0
  196. package/dist/messages/phrases.d.ts +23 -0
  197. package/dist/messages/phrases.js +44 -0
  198. package/dist/messages/translate.d.ts +100 -0
  199. package/dist/messages/translate.js +249 -0
  200. package/dist/presence/declaration.d.ts +19 -0
  201. package/dist/presence/declaration.js +118 -0
  202. package/dist/presence/presence.d.ts +57 -0
  203. package/dist/presence/presence.js +27 -0
  204. package/dist/rest/errors.d.ts +55 -0
  205. package/dist/rest/errors.js +92 -0
  206. package/dist/rest/rate-limiter.d.ts +46 -0
  207. package/dist/rest/rate-limiter.js +153 -0
  208. package/dist/rest/rest.d.ts +63 -0
  209. package/dist/rest/rest.js +194 -0
  210. package/dist/structures/base.d.ts +48 -0
  211. package/dist/structures/base.js +84 -0
  212. package/dist/structures/channel.d.ts +380 -0
  213. package/dist/structures/channel.js +627 -0
  214. package/dist/structures/context.d.ts +30 -0
  215. package/dist/structures/context.js +7 -0
  216. package/dist/structures/emoji.d.ts +46 -0
  217. package/dist/structures/emoji.js +65 -0
  218. package/dist/structures/entities.d.ts +62 -0
  219. package/dist/structures/entities.js +226 -0
  220. package/dist/structures/guild.d.ts +348 -0
  221. package/dist/structures/guild.js +466 -0
  222. package/dist/structures/interaction.d.ts +197 -0
  223. package/dist/structures/interaction.js +396 -0
  224. package/dist/structures/invite.d.ts +38 -0
  225. package/dist/structures/invite.js +57 -0
  226. package/dist/structures/known.d.ts +28 -0
  227. package/dist/structures/known.js +58 -0
  228. package/dist/structures/member.d.ts +140 -0
  229. package/dist/structures/member.js +260 -0
  230. package/dist/structures/message.d.ts +197 -0
  231. package/dist/structures/message.js +268 -0
  232. package/dist/structures/payload.d.ts +91 -0
  233. package/dist/structures/payload.js +184 -0
  234. package/dist/structures/role.d.ts +69 -0
  235. package/dist/structures/role.js +112 -0
  236. package/dist/structures/user.d.ts +59 -0
  237. package/dist/structures/user.js +94 -0
  238. package/dist/structures/webhook.d.ts +46 -0
  239. package/dist/structures/webhook.js +79 -0
  240. package/dist/tasks/declaration.d.ts +16 -0
  241. package/dist/tasks/declaration.js +56 -0
  242. package/dist/tasks/schedule.d.ts +54 -0
  243. package/dist/tasks/schedule.js +236 -0
  244. package/dist/tasks/scheduler.d.ts +35 -0
  245. package/dist/tasks/scheduler.js +107 -0
  246. package/dist/tasks/task.d.ts +75 -0
  247. package/dist/tasks/task.js +27 -0
  248. package/dist/util/case.d.ts +13 -0
  249. package/dist/util/case.js +54 -0
  250. package/dist/util/duration.d.ts +8 -0
  251. package/dist/util/duration.js +29 -0
  252. package/dist/util/websocket.d.ts +9 -0
  253. package/dist/util/websocket.js +31 -0
  254. package/dist/voice/connection.d.ts +90 -0
  255. package/dist/voice/connection.js +494 -0
  256. package/dist/voice/dave.d.ts +109 -0
  257. package/dist/voice/dave.js +245 -0
  258. package/dist/voice/opus.d.ts +19 -0
  259. package/dist/voice/opus.js +273 -0
  260. package/dist/voice/session.d.ts +55 -0
  261. package/dist/voice/session.js +405 -0
  262. package/dist/voice/source.d.ts +22 -0
  263. package/dist/voice/source.js +195 -0
  264. package/dist/voice/transport.d.ts +43 -0
  265. package/dist/voice/transport.js +140 -0
  266. package/dist/voice/usage.d.ts +4 -0
  267. package/dist/voice/usage.js +33 -0
  268. package/package.json +26 -7
  269. package/vendor/dave/LICENSE +231 -0
  270. package/vendor/dave/libdave.d.mts +99 -0
  271. package/vendor/dave/libdave.mjs +2 -0
  272. package/vendor/dave/libdave.wasm +0 -0
  273. package/dist/components.d.ts +0 -97
  274. package/dist/components.js +0 -260
  275. package/dist/context.d.ts +0 -72
  276. package/dist/context.js +0 -273
  277. package/dist/discord/client.d.ts +0 -35
  278. package/dist/discord/client.js +0 -66
  279. package/dist/discord/constants.d.ts +0 -49
  280. package/dist/discord/constants.js +0 -61
  281. package/dist/discord/events.d.ts +0 -129
  282. package/dist/discord/events.js +0 -102
  283. package/dist/discord/gateway.d.ts +0 -61
  284. package/dist/discord/gateway.js +0 -320
  285. package/dist/discord/payloads.d.ts +0 -275
  286. package/dist/discord/payloads.js +0 -3
  287. package/dist/discord/presence.d.ts +0 -42
  288. package/dist/discord/presence.js +0 -51
  289. package/dist/discord/rest.d.ts +0 -49
  290. package/dist/discord/rest.js +0 -271
  291. package/dist/discord/types.d.ts +0 -334
  292. package/dist/discord/types.js +0 -4
  293. package/dist/events.d.ts +0 -94
  294. package/dist/events.js +0 -255
  295. package/dist/presence.d.ts +0 -92
  296. package/dist/presence.js +0 -250
  297. package/dist/structures/Channel.d.ts +0 -110
  298. package/dist/structures/Channel.js +0 -171
  299. package/dist/structures/Guild.d.ts +0 -70
  300. package/dist/structures/Guild.js +0 -105
  301. package/dist/structures/Interaction.d.ts +0 -113
  302. package/dist/structures/Interaction.js +0 -274
  303. package/dist/structures/Member.d.ts +0 -70
  304. package/dist/structures/Member.js +0 -124
  305. package/dist/structures/Message.d.ts +0 -87
  306. package/dist/structures/Message.js +0 -182
  307. package/dist/structures/Reaction.d.ts +0 -38
  308. package/dist/structures/Reaction.js +0 -64
  309. package/dist/structures/Role.d.ts +0 -43
  310. package/dist/structures/Role.js +0 -77
  311. package/dist/structures/User.d.ts +0 -41
  312. package/dist/structures/User.js +0 -79
  313. package/dist/structures/utils.d.ts +0 -72
  314. package/dist/structures/utils.js +0 -59
  315. package/dist/utils/errors.d.ts +0 -5
  316. package/dist/utils/errors.js +0 -28
  317. package/dist/utils/modules.d.ts +0 -39
  318. package/dist/utils/modules.js +0 -156
@@ -0,0 +1,36 @@
1
+ import { DISCORD_EPOCH } from './api.js';
2
+ const SNOWFLAKE = /^\d{17,20}$/;
3
+ /**
4
+ * Whether a value looks like a Discord id: used to reject a wrong value
5
+ * (a name, a mention, a number) before it is sent to Discord.
6
+ * @see https://docs.discord.com/developers/reference#snowflakes
7
+ */
8
+ export function isSnowflake(value) {
9
+ return typeof value === 'string' && SNOWFLAKE.test(value);
10
+ }
11
+ /**
12
+ * When the thing a snowflake identifies was created, in milliseconds since
13
+ * the Unix epoch: `(snowflake >> 22) + 1420070400000`.
14
+ * @see https://docs.discord.com/developers/reference#snowflake-id-format-structure-left-to-right
15
+ */
16
+ export function snowflakeTimestamp(id) {
17
+ return Number((BigInt(id) >> 22n) + DISCORD_EPOCH);
18
+ }
19
+ /**
20
+ * The smallest snowflake created at a given time: lets `before` / `after`
21
+ * pagination start from a date.
22
+ * @see https://docs.discord.com/developers/reference#snowflake-ids-in-pagination
23
+ */
24
+ export function snowflakeFromTimestamp(timestamp) {
25
+ const ms = BigInt(Math.trunc(Number(timestamp)));
26
+ if (ms < DISCORD_EPOCH) {
27
+ throw new RangeError('Discord ids start in 2015: the date is too early.');
28
+ }
29
+ return String((ms - DISCORD_EPOCH) << 22n);
30
+ }
31
+ /** Sorts ids from the oldest to the newest; as text they would sort wrong. */
32
+ export function compareSnowflakes(a, b) {
33
+ const left = BigInt(a);
34
+ const right = BigInt(b);
35
+ return left < right ? -1 : left > right ? 1 : 0;
36
+ }
@@ -0,0 +1,332 @@
1
+ import type { ApplicationIntegrationType } from './application.js';
2
+ import type { ChannelType } from './channel.js';
3
+ import type { Locale, Snowflake } from './common.js';
4
+ import type { InteractionContextType } from './interaction.js';
5
+ /**
6
+ * Application Command Structure
7
+ * @see https://docs.discord.com/developers/interactions/application-commands#application-command-object-application-command-structure
8
+ */
9
+ export interface RawApplicationCommand {
10
+ /** Unique ID of command */
11
+ id: Snowflake;
12
+ /** Type of command, defaults to `1` */
13
+ type?: ApplicationCommandType;
14
+ /** ID of the parent application */
15
+ application_id: Snowflake;
16
+ /** Guild ID of the command, if not global */
17
+ guild_id?: Snowflake;
18
+ /** Name of command, 1-32 characters */
19
+ name: string;
20
+ /** Localization dictionary for `name` field. Values follow the same restrictions as `name` */
21
+ name_localizations?: Partial<Record<Locale, string>> | null;
22
+ /** Description for `CHAT_INPUT` and `PRIMARY_ENTRY_POINT` commands, 1-100 characters. Empty string for `USER` and `MESSAGE` commands */
23
+ description: string;
24
+ /** Localization dictionary for `description` field. Values follow the same restrictions as `description` */
25
+ description_localizations?: Partial<Record<Locale, string>> | null;
26
+ /** Parameters for the command, max of 25 */
27
+ options?: RawApplicationCommandOption[];
28
+ /** Set of permissions represented as a bit set */
29
+ default_member_permissions: string | null;
30
+ /** **Deprecated (use `contexts` instead)**; Indicates whether the command is available in DMs with the app, only for globally-scoped commands. By default, commands are visible. */
31
+ dm_permission?: boolean;
32
+ /** 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` */
33
+ default_permission?: boolean | null;
34
+ /** Indicates whether the command is age-restricted, defaults to `false` */
35
+ nsfw?: boolean;
36
+ /** Installation contexts where the command is available, only for globally-scoped commands. Defaults to your app's configured contexts */
37
+ integration_types?: ApplicationIntegrationType[];
38
+ /** Interaction context(s) where the command can be used, only for globally-scoped commands. */
39
+ contexts?: InteractionContextType[] | null;
40
+ /** Autoincrementing version identifier updated during substantial record changes */
41
+ version: Snowflake;
42
+ /** Determines whether the interaction is handled by the app's interactions handler or by Discord */
43
+ handler?: EntryPointCommandHandlerType;
44
+ }
45
+ /**
46
+ * Application Command Option Structure
47
+ * @see https://docs.discord.com/developers/interactions/application-commands#application-command-object-application-command-option-structure
48
+ */
49
+ export interface RawApplicationCommandOption {
50
+ /** Type of option */
51
+ type: ApplicationCommandOptionType;
52
+ /** 1-32 character name */
53
+ name: string;
54
+ /** Localization dictionary for the `name` field. Values follow the same restrictions as `name` */
55
+ name_localizations?: Partial<Record<Locale, string>> | null;
56
+ /** 1-100 character description */
57
+ description: string;
58
+ /** Localization dictionary for the `description` field. Values follow the same restrictions as `description` */
59
+ description_localizations?: Partial<Record<Locale, string>> | null;
60
+ /** Whether the parameter is required or optional, default `false` */
61
+ required?: boolean;
62
+ /** Choices for the user to pick from, max 25 */
63
+ choices?: RawApplicationCommandOptionChoice[];
64
+ /** If the option is a subcommand or subcommand group type, these nested options will be the parameters or subcommands respectively; up to 25 */
65
+ options?: RawApplicationCommandOption[];
66
+ /** The channels shown will be restricted to these types */
67
+ channel_types?: ChannelType[];
68
+ /** The minimum value permitted */
69
+ min_value?: number;
70
+ /** The maximum value permitted */
71
+ max_value?: number;
72
+ /** The minimum allowed length (minimum of `0`, maximum of `6000`) */
73
+ min_length?: number;
74
+ /** The maximum allowed length (minimum of `1`, maximum of `6000`) */
75
+ max_length?: number;
76
+ /** If autocomplete interactions are enabled for this option */
77
+ autocomplete?: boolean;
78
+ /** File types to filter for; can be `image`, `video`, `audio`, or any dot-prefixed extension such as `.pdf`; max 10 */
79
+ file_types?: string[];
80
+ }
81
+ /**
82
+ * Application Command Option Type
83
+ * @see https://docs.discord.com/developers/interactions/application-commands#application-command-object-application-command-option-type
84
+ */
85
+ export declare const ApplicationCommandOptionType: {
86
+ readonly SubCommand: 1;
87
+ readonly SubCommandGroup: 2;
88
+ readonly String: 3;
89
+ readonly Integer: 4;
90
+ readonly Boolean: 5;
91
+ readonly User: 6;
92
+ readonly Channel: 7;
93
+ readonly Role: 8;
94
+ readonly Mentionable: 9;
95
+ readonly Number: 10;
96
+ readonly Attachment: 11;
97
+ };
98
+ export type ApplicationCommandOptionType = (typeof ApplicationCommandOptionType)[keyof typeof ApplicationCommandOptionType];
99
+ /**
100
+ * Application Command Option Choice Structure
101
+ * @see https://docs.discord.com/developers/interactions/application-commands#application-command-object-application-command-option-choice-structure
102
+ */
103
+ export interface RawApplicationCommandOptionChoice {
104
+ /** 1-100 character choice name */
105
+ name: string;
106
+ /** Localization dictionary for the `name` field. Values follow the same restrictions as `name` */
107
+ name_localizations?: Partial<Record<Locale, string>> | null;
108
+ /** Value for the choice, up to 100 characters if string */
109
+ value: string | number;
110
+ }
111
+ /**
112
+ * Entry Point Command Handler Types
113
+ * @see https://docs.discord.com/developers/interactions/application-commands#application-command-object-entry-point-command-handler-types
114
+ */
115
+ export declare const EntryPointCommandHandlerType: {
116
+ readonly AppHandler: 1;
117
+ readonly DiscordLaunchActivity: 2;
118
+ };
119
+ export type EntryPointCommandHandlerType = (typeof EntryPointCommandHandlerType)[keyof typeof EntryPointCommandHandlerType];
120
+ /**
121
+ * Guild Application Command Permissions Structure
122
+ * @see https://docs.discord.com/developers/interactions/application-commands#application-command-permissions-object-guild-application-command-permissions-structure
123
+ */
124
+ export interface RawGuildApplicationCommandPermissions {
125
+ /** ID of the command or the application ID */
126
+ id: Snowflake;
127
+ /** ID of the application the command belongs to */
128
+ application_id: Snowflake;
129
+ /** ID of the guild */
130
+ guild_id: Snowflake;
131
+ /** Permissions for the command in the guild, max of 100 */
132
+ permissions: RawApplicationCommandPermissions[];
133
+ }
134
+ /**
135
+ * Application Command Permissions Structure
136
+ * @see https://docs.discord.com/developers/interactions/application-commands#application-command-permissions-object-application-command-permissions-structure
137
+ */
138
+ export interface RawApplicationCommandPermissions {
139
+ /** ID of the role, user, or channel. It can also be a permission constant */
140
+ id: Snowflake;
141
+ /** role (`1`), user (`2`), or channel (`3`) */
142
+ type: ApplicationCommandPermissionType;
143
+ /** `true` to allow, `false`, to disallow */
144
+ permission: boolean;
145
+ }
146
+ /**
147
+ * Application Command Permission Type
148
+ * @see https://docs.discord.com/developers/interactions/application-commands#application-command-permissions-object-application-command-permission-type
149
+ */
150
+ export declare const ApplicationCommandPermissionType: {
151
+ readonly Role: 1;
152
+ readonly User: 2;
153
+ readonly Channel: 3;
154
+ };
155
+ export type ApplicationCommandPermissionType = (typeof ApplicationCommandPermissionType)[keyof typeof ApplicationCommandPermissionType];
156
+ /**
157
+ * Query String Params
158
+ * @see https://docs.discord.com/developers/interactions/application-commands#get-global-application-commands-query-string-params
159
+ */
160
+ export interface GetGlobalApplicationCommandsQuery {
161
+ /** 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`. */
162
+ with_localizations?: boolean;
163
+ }
164
+ /**
165
+ * JSON Params
166
+ * @see https://docs.discord.com/developers/interactions/application-commands#create-global-application-command-json-params
167
+ */
168
+ export interface CreateGlobalApplicationCommandJSONParams {
169
+ /** Name of command, 1-32 characters */
170
+ name: string;
171
+ /** Localization dictionary for the `name` field. Values follow the same restrictions as `name` */
172
+ name_localizations?: Partial<Record<Locale, string>> | null;
173
+ /** 1-100 character description for `CHAT_INPUT` and `PRIMARY_ENTRY_POINT` commands */
174
+ description?: string;
175
+ /** Localization dictionary for the `description` field. Values follow the same restrictions as `description` */
176
+ description_localizations?: Partial<Record<Locale, string>> | null;
177
+ /** Parameters for the command, max of 25. Only for `CHAT_INPUT` commands */
178
+ options?: RawApplicationCommandOption[];
179
+ /** Set of permissions represented as a bit set */
180
+ default_member_permissions?: string | null;
181
+ /** **Deprecated (use `contexts` instead)**; Indicates whether the command is available in DMs with the app, only for globally-scoped commands. By default, commands are visible. */
182
+ dm_permission?: boolean | null;
183
+ /** 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. Defaults to `true` */
184
+ default_permission?: boolean;
185
+ /** Installation context(s) where the command is available */
186
+ integration_types?: ApplicationIntegrationType[];
187
+ /** Interaction context(s) where the command can be used */
188
+ contexts?: InteractionContextType[];
189
+ /** Type of command, defaults `1` if not set */
190
+ type?: ApplicationCommandType;
191
+ /** Indicates whether the command is age-restricted */
192
+ nsfw?: boolean;
193
+ /** Determines whether the interaction is handled by the app's interactions handler or by Discord. Only for `PRIMARY_ENTRY_POINT` commands */
194
+ handler?: EntryPointCommandHandlerType;
195
+ }
196
+ /**
197
+ * JSON Params
198
+ * @see https://docs.discord.com/developers/interactions/application-commands#edit-global-application-command-json-params
199
+ */
200
+ export interface EditGlobalApplicationCommandJSONParams {
201
+ /** Name of command, 1-32 characters */
202
+ name?: string;
203
+ /** Localization dictionary for the `name` field. Values follow the same restrictions as `name` */
204
+ name_localizations?: Partial<Record<Locale, string>> | null;
205
+ /** 1-100 character description */
206
+ description?: string;
207
+ /** Localization dictionary for the `description` field. Values follow the same restrictions as `description` */
208
+ description_localizations?: Partial<Record<Locale, string>> | null;
209
+ /** Parameters for the command, max of 25. Only for `CHAT_INPUT` commands */
210
+ options?: RawApplicationCommandOption[];
211
+ /** Set of permissions represented as a bit set */
212
+ default_member_permissions?: string | null;
213
+ /** **Deprecated (use `contexts` instead)**; Indicates whether the command is available in DMs with the app, only for globally-scoped commands. By default, commands are visible. */
214
+ dm_permission?: boolean | null;
215
+ /** 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. Defaults to `true` */
216
+ default_permission?: boolean;
217
+ /** Installation context(s) where the command is available */
218
+ integration_types?: ApplicationIntegrationType[];
219
+ /** Interaction context(s) where the command can be used */
220
+ contexts?: InteractionContextType[];
221
+ /** Indicates whether the command is age-restricted */
222
+ nsfw?: boolean;
223
+ /** Determines whether the interaction is handled by the app's interactions handler or by Discord. Only for `PRIMARY_ENTRY_POINT` commands */
224
+ handler?: EntryPointCommandHandlerType;
225
+ }
226
+ /**
227
+ * Query String Params
228
+ * @see https://docs.discord.com/developers/interactions/application-commands#get-guild-application-commands-query-string-params
229
+ */
230
+ export interface GetGuildApplicationCommandsQuery {
231
+ /** 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`. */
232
+ with_localizations?: boolean;
233
+ }
234
+ /**
235
+ * JSON Params
236
+ * @see https://docs.discord.com/developers/interactions/application-commands#create-guild-application-command-json-params
237
+ */
238
+ export interface CreateGuildApplicationCommandJSONParams {
239
+ /** Name of command, 1-32 characters */
240
+ name: string;
241
+ /** Localization dictionary for the `name` field. Values follow the same restrictions as `name` */
242
+ name_localizations?: Partial<Record<Locale, string>> | null;
243
+ /** 1-100 character description for `CHAT_INPUT` commands */
244
+ description?: string;
245
+ /** Localization dictionary for the `description` field. Values follow the same restrictions as `description` */
246
+ description_localizations?: Partial<Record<Locale, string>> | null;
247
+ /** Parameters for the command, max of 25. Only for `CHAT_INPUT` commands */
248
+ options?: RawApplicationCommandOption[];
249
+ /** Set of permissions represented as a bit set */
250
+ default_member_permissions?: string | null;
251
+ /** 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. Defaults to `true` */
252
+ default_permission?: boolean;
253
+ /** Type of command, defaults `1` if not set */
254
+ type?: ApplicationCommandType;
255
+ /** Indicates whether the command is age-restricted */
256
+ nsfw?: boolean;
257
+ }
258
+ /**
259
+ * JSON Params
260
+ * @see https://docs.discord.com/developers/interactions/application-commands#edit-guild-application-command-json-params
261
+ */
262
+ export interface EditGuildApplicationCommandJSONParams {
263
+ /** Name of command, 1-32 characters */
264
+ name?: string;
265
+ /** Localization dictionary for the `name` field. Values follow the same restrictions as `name` */
266
+ name_localizations?: Partial<Record<Locale, string>> | null;
267
+ /** 1-100 character description */
268
+ description?: string;
269
+ /** Localization dictionary for the `description` field. Values follow the same restrictions as `description` */
270
+ description_localizations?: Partial<Record<Locale, string>> | null;
271
+ /** Parameters for the command, max of 25. Only for `CHAT_INPUT` commands */
272
+ options?: RawApplicationCommandOption[];
273
+ /** Set of permissions represented as a bit set */
274
+ default_member_permissions?: string | null;
275
+ /** 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. Defaults to `true` */
276
+ default_permission?: boolean;
277
+ /** Indicates whether the command is age-restricted */
278
+ nsfw?: boolean;
279
+ }
280
+ /**
281
+ * JSON Params
282
+ * @see https://docs.discord.com/developers/interactions/application-commands#bulk-overwrite-guild-application-commands-json-params
283
+ */
284
+ export interface BulkOverwriteGuildApplicationCommandsJSONParams {
285
+ /** ID of the command, if known */
286
+ id?: Snowflake;
287
+ /** Name of command, 1-32 characters */
288
+ name: string;
289
+ /** Localization dictionary for the `name` field. Values follow the same restrictions as `name` */
290
+ name_localizations?: Partial<Record<Locale, string>> | null;
291
+ /** 1-100 character description */
292
+ description: string;
293
+ /** Localization dictionary for the `description` field. Values follow the same restrictions as `description` */
294
+ description_localizations?: Partial<Record<Locale, string>> | null;
295
+ /** Parameters for the command */
296
+ options?: RawApplicationCommandOption[];
297
+ /** Set of permissions represented as a bit set */
298
+ default_member_permissions?: string | null;
299
+ /** **Deprecated (use `contexts` instead)**; Indicates whether the command is available in DMs with the app, only for globally-scoped commands. By default, commands are visible. */
300
+ dm_permission?: boolean | null;
301
+ /** 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. Defaults to `true` */
302
+ default_permission?: boolean;
303
+ /** Installation context(s) where the command is available, defaults to `GUILD_INSTALL` (`[0]`) */
304
+ integration_types: ApplicationIntegrationType[];
305
+ /** Interaction context(s) where the command can be used, defaults to all contexts `[0,1,2]` */
306
+ contexts: InteractionContextType[];
307
+ /** Type of command, defaults `1` if not set */
308
+ type?: ApplicationCommandType;
309
+ }
310
+ /**
311
+ * JSON Params
312
+ * @see https://docs.discord.com/developers/interactions/application-commands#edit-application-command-permissions-json-params
313
+ */
314
+ export interface EditApplicationCommandPermissionsJSONParams {
315
+ /** Permissions for the command in the guild */
316
+ permissions: RawApplicationCommandPermissions[];
317
+ }
318
+ /**
319
+ * Application Command Types
320
+ * @see https://docs.discord.com/developers/interactions/application-commands#application-command-object-application-command-types
321
+ */
322
+ export declare const ApplicationCommandType: {
323
+ /** Slash commands; a text-based command that shows up when a user types `/` */
324
+ readonly ChatInput: 1;
325
+ /** A UI-based command that shows up when you right click or tap on a user */
326
+ readonly User: 2;
327
+ /** A UI-based command that shows up when you right click or tap on a message */
328
+ readonly Message: 3;
329
+ /** A UI-based command that represents the primary way to invoke an app's Activity */
330
+ readonly PrimaryEntryPoint: 4;
331
+ };
332
+ export type ApplicationCommandType = (typeof ApplicationCommandType)[keyof typeof ApplicationCommandType];
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Application Command Option Type
3
+ * @see https://docs.discord.com/developers/interactions/application-commands#application-command-object-application-command-option-type
4
+ */
5
+ export const ApplicationCommandOptionType = {
6
+ SubCommand: 1,
7
+ SubCommandGroup: 2,
8
+ String: 3,
9
+ Integer: 4,
10
+ Boolean: 5,
11
+ User: 6,
12
+ Channel: 7,
13
+ Role: 8,
14
+ Mentionable: 9,
15
+ Number: 10,
16
+ Attachment: 11,
17
+ };
18
+ /**
19
+ * Entry Point Command Handler Types
20
+ * @see https://docs.discord.com/developers/interactions/application-commands#application-command-object-entry-point-command-handler-types
21
+ */
22
+ export const EntryPointCommandHandlerType = {
23
+ AppHandler: 1,
24
+ DiscordLaunchActivity: 2,
25
+ };
26
+ /**
27
+ * Application Command Permission Type
28
+ * @see https://docs.discord.com/developers/interactions/application-commands#application-command-permissions-object-application-command-permission-type
29
+ */
30
+ export const ApplicationCommandPermissionType = {
31
+ Role: 1,
32
+ User: 2,
33
+ Channel: 3,
34
+ };
35
+ /**
36
+ * Application Command Types
37
+ * @see https://docs.discord.com/developers/interactions/application-commands#application-command-object-application-command-types
38
+ */
39
+ export const ApplicationCommandType = {
40
+ /** Slash commands; a text-based command that shows up when a user types `/` */
41
+ ChatInput: 1,
42
+ /** A UI-based command that shows up when you right click or tap on a user */
43
+ User: 2,
44
+ /** A UI-based command that shows up when you right click or tap on a message */
45
+ Message: 3,
46
+ /** A UI-based command that represents the primary way to invoke an app's Activity */
47
+ PrimaryEntryPoint: 4,
48
+ };
@@ -0,0 +1,42 @@
1
+ import type { Locale } from './common.js';
2
+ /**
3
+ * Application Role Connection Metadata Structure
4
+ * @see https://docs.discord.com/developers/resources/application-role-connection-metadata#application-role-connection-metadata-object-application-role-connection-metadata-structure
5
+ */
6
+ export interface RawApplicationRoleConnectionMetadata {
7
+ /** type of metadata value */
8
+ type: ApplicationRoleConnectionMetadataType;
9
+ /** dictionary key for the metadata field (must be `a-z`, `0-9`, or `_` characters; 1-50 characters) */
10
+ key: string;
11
+ /** name of the metadata field (1-100 characters) */
12
+ name: string;
13
+ /** translations of the name */
14
+ name_localizations?: Partial<Record<Locale, string>>;
15
+ /** description of the metadata field (1-200 characters) */
16
+ description: string;
17
+ /** translations of the description */
18
+ description_localizations?: Partial<Record<Locale, string>>;
19
+ }
20
+ /**
21
+ * Application Role Connection Metadata Type
22
+ * @see https://docs.discord.com/developers/resources/application-role-connection-metadata#application-role-connection-metadata-object-application-role-connection-metadata-type
23
+ */
24
+ export declare const ApplicationRoleConnectionMetadataType: {
25
+ /** the metadata value (`integer`) is less than or equal to the guild's configured value (`integer`) */
26
+ readonly IntegerLessThanOrEqual: 1;
27
+ /** the metadata value (`integer`) is greater than or equal to the guild's configured value (`integer`) */
28
+ readonly IntegerGreaterThanOrEqual: 2;
29
+ /** the metadata value (`integer`) is equal to the guild's configured value (`integer`) */
30
+ readonly IntegerEqual: 3;
31
+ /** the metadata value (`integer`) is not equal to the guild's configured value (`integer`) */
32
+ readonly IntegerNotEqual: 4;
33
+ /** the metadata value (`ISO8601 string`) is less than or equal to the guild's configured value (`integer`; `days before current date`) */
34
+ readonly DatetimeLessThanOrEqual: 5;
35
+ /** the metadata value (`ISO8601 string`) is greater than or equal to the guild's configured value (`integer`; `days before current date`) */
36
+ readonly DatetimeGreaterThanOrEqual: 6;
37
+ /** the metadata value (`integer`) is equal to the guild's configured value (`integer`; `1`) */
38
+ readonly BooleanEqual: 7;
39
+ /** the metadata value (`integer`) is not equal to the guild's configured value (`integer`; `1`) */
40
+ readonly BooleanNotEqual: 8;
41
+ };
42
+ export type ApplicationRoleConnectionMetadataType = (typeof ApplicationRoleConnectionMetadataType)[keyof typeof ApplicationRoleConnectionMetadataType];
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Application Role Connection Metadata Type
3
+ * @see https://docs.discord.com/developers/resources/application-role-connection-metadata#application-role-connection-metadata-object-application-role-connection-metadata-type
4
+ */
5
+ export const ApplicationRoleConnectionMetadataType = {
6
+ /** the metadata value (`integer`) is less than or equal to the guild's configured value (`integer`) */
7
+ IntegerLessThanOrEqual: 1,
8
+ /** the metadata value (`integer`) is greater than or equal to the guild's configured value (`integer`) */
9
+ IntegerGreaterThanOrEqual: 2,
10
+ /** the metadata value (`integer`) is equal to the guild's configured value (`integer`) */
11
+ IntegerEqual: 3,
12
+ /** the metadata value (`integer`) is not equal to the guild's configured value (`integer`) */
13
+ IntegerNotEqual: 4,
14
+ /** the metadata value (`ISO8601 string`) is less than or equal to the guild's configured value (`integer`; `days before current date`) */
15
+ DatetimeLessThanOrEqual: 5,
16
+ /** the metadata value (`ISO8601 string`) is greater than or equal to the guild's configured value (`integer`; `days before current date`) */
17
+ DatetimeGreaterThanOrEqual: 6,
18
+ /** the metadata value (`integer`) is equal to the guild's configured value (`integer`; `1`) */
19
+ BooleanEqual: 7,
20
+ /** the metadata value (`integer`) is not equal to the guild's configured value (`integer`; `1`) */
21
+ BooleanNotEqual: 8,
22
+ };