Compare commits

...

183 Commits

Author SHA1 Message Date
renovate[bot]
4ac4d08b15 chore(deps): update dependency @actions/glob to ^0.7.0 2026-05-15 13:55:11 +00:00
renovate[bot]
9e50ccf576 chore(deps): lock file maintenance (#1660)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-15 09:38:42 +00:00
renovate[bot]
66c6b4f555 chore(deps): update patch/minor dependencies (#1659)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-15 09:36:39 +00:00
renovate[bot]
5cd0686f1a chore(deps): update eslint/prettier to v8.59.3 (#1658)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-15 04:52:21 +00:00
renovate[bot]
391d0d4454 chore(deps): lock file maintenance (#1652)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-08 18:17:09 +00:00
renovate[bot]
2d3fc09ade chore(deps): update patch/minor dependencies (#1650)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-08 12:43:00 +00:00
renovate[bot]
3637535d28 chore(deps): update eslint/prettier to v8.59.2 (#1649)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-08 08:58:45 +00:00
renovate[bot]
14bca2694d chore(deps): lock file maintenance (#1647)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-01 22:30:13 +00:00
renovate[bot]
1e8075e41d chore(deps): update patch/minor dependencies (#1645)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-01 16:55:24 +00:00
renovate[bot]
bb1f5dfe5e chore(deps): update eslint/prettier to v8.59.1 (#1644)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-01 12:53:16 +00:00
renovate[bot]
b9df5c2d02 chore(deps): lock file maintenance (#1642)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-24 14:04:50 +00:00
renovate[bot]
812fbbe688 chore(deps): update eslint/prettier (#1641)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-24 11:36:29 +00:00
renovate[bot]
edf9a9651b chore(deps): update patch/minor dependencies (#1639)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-24 06:03:01 +00:00
renovate[bot]
9c2f1746b1 chore(deps): lock file maintenance (#1637)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-17 17:54:55 +00:00
renovate[bot]
f8f039867e chore(deps): update patch/minor dependencies (#1634)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-17 15:04:30 +00:00
renovate[bot]
8a4a6d1e43 chore(deps): update eslint/prettier (#1633)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-17 05:51:59 +00:00
discord-js-bot[bot]
2e5e31b4c4 chore(release): 0.38.47 🎉 (#1632)
Build ran for 0bd00dd111

Co-authored-by: discord-js[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-16 17:02:50 +03:00
Kshitij Anurag
0bd00dd111 refactor(RESTJSONErrorCodes): rename ServerSendRateLimit to ServerWriteRateLimit (#1629) 2026-04-16 13:42:53 +03:00
Almeida
d5dc47a36c feat(RESTJSONErrorCodes): rename ChannelSendRateLimit to ChannelWriteRateLimit (#1627)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 03:12:36 +03:00
Almeida
09c71fe9d1 feat(RESTJSONErrorCodes): add CannotForwardMessageWithUnreadableContent (#1628) 2026-04-15 01:28:24 +03:00
discord-js-bot[bot]
3691d77da3 chore(release): 0.38.46 🎉 (#1624)
Build ran for bece6b84ee

Co-authored-by: discord-js[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-13 17:01:14 +03:00
renovate[bot]
bece6b84ee chore(deps): lock file maintenance (#1623)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-10 14:47:51 +00:00
renovate[bot]
e9e7f5c24f chore(deps): update eslint/prettier (#1621)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-10 09:17:19 +00:00
renovate[bot]
e1b27cd5a9 chore(deps): update patch/minor dependencies (#1622)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-10 05:22:58 +00:00
Almeida
5acf5c5989 feat(UserFlags): mark ActiveDeveloper as deprecated (#1604) 2026-04-09 18:27:24 +03:00
Kshitij Anurag
d165766302 fix: APIUser global_name description (#1586) 2026-04-09 18:27:15 +03:00
Kshitij Anurag
702e541bf0 feat(Message): more attachment and embed fields and flags (#1609) 2026-04-09 18:25:47 +03:00
Almeida
27ef064f92 fix(Webhook): add delete message query, fix thread_id type (#1611)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 18:23:34 +03:00
Almeida
c21ae24f7a fix(ReactionType): rename Super to Burst (#1613)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 18:23:06 +03:00
Almeida
b2a8b740e5 fix(Gateway): correct scheduled event user remove dispatch type (#1614)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 18:22:45 +03:00
Almeida
19d04c00c9 fix(Channel): add applied_tags to forum thread form data body (#1615)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 18:22:25 +03:00
discord-js-bot[bot]
2802117c0b chore(release): 0.38.45 🎉 (#1620)
Co-authored-by: discord-js[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-09 16:58:03 +03:00
Kshitij Anurag
487c3b7980 docs(Message): update description for attachments (#1618) 2026-04-08 15:29:49 +01:00
Almeida
3a296fa929 fix(User): use Snowflake for DM recipient_id (#1612)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:48:05 +03:00
Almeida
1506ff0d2b fix(OAuth2): include flags in current application result (#1610)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:47:35 +03:00
renovate[bot]
d4248babd2 chore(deps): lock file maintenance (#1608)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 13:45:07 +00:00
renovate[bot]
07d7b05cde chore(deps): update patch/minor dependencies (#1607)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 09:23:04 +00:00
renovate[bot]
69bbc57575 chore(deps): update eslint/prettier to v8.58.0 (#1606)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 06:03:40 +00:00
discord-js-bot[bot]
6a29982d09 chore(release): 0.38.44 🎉 (#1605)
Build ran for ae75ee7863

Co-authored-by: discord-js[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-02 16:28:30 +03:00
dependabot[bot]
ae75ee7863 chore(deps): bump path-to-regexp from 0.1.12 to 0.1.13 in /website (#1600)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-31 02:29:33 +03:00
dependabot[bot]
763bfc810c chore(deps): bump brace-expansion in /website (#1601)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-31 02:29:22 +03:00
Almeida
c76a1bc372 fix(APIApplication): make event_webhooks_status optional (#1603) 2026-03-31 02:28:58 +03:00
discord-js-bot[bot]
afe009d84e chore(release): 0.38.43 🎉 (#1602)
Co-authored-by: discord-js[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-29 00:52:48 +02:00
Vlad Frangu
d4fc31de65 ci: fix token perms 2026-03-29 00:46:32 +02:00
Almeida
0a514f68d9 docs: wrap @everyone mention in codeblock (#1599) 2026-03-27 18:10:29 +02:00
Vlad Frangu
308308dfab chore: forgot to update tsconfig with types 2026-03-27 12:33:26 +02:00
renovate[bot]
ca423b001a chore(deps): update dependency typescript to v6 (#1594)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Vlad Frangu <me@vladfrangu.dev>
2026-03-27 12:30:08 +02:00
dependabot[bot]
3bc73f8b4f chore(deps): bump node-forge from 1.3.3 to 1.4.0 in /website (#1595)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-27 12:16:20 +02:00
dependabot[bot]
96a34ba74b chore(deps): bump handlebars from 4.7.8 to 4.7.9 (#1596)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-27 12:13:48 +02:00
dependabot[bot]
b63fafdfd4 chore(deps): bump picomatch from 2.3.1 to 2.3.2 (#1590)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-27 12:13:34 +02:00
renovate[bot]
1c722899a1 chore(deps): update actions/create-github-app-token action to v3 (#1593)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 12:12:58 +02:00
renovate[bot]
c5aa81d971 chore(deps): lock file maintenance (#1597)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 12:11:54 +02:00
renovate[bot]
ae938673f9 chore(deps): update patch/minor dependencies (#1592)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 08:54:58 +00:00
renovate[bot]
93e4c79e2e chore(deps): update eslint/prettier (#1591)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 05:43:11 +00:00
kshitijanurag
a99c8c0f53 feat: guild messages search (#1583)
Co-authored-by: Almeida <almeidx@pm.me>
2026-03-25 12:45:57 +00:00
Almeida
c080b2a838 refactor: rename duplicate error code (#1588) 2026-03-25 12:26:22 +02:00
Vlad Frangu
ed0c19aef7 ci: try to use app token 2026-03-24 14:14:02 +02:00
kshitijanurag
662cb0cb0a feat(RESTJSONErrorCodes): add error code 50278 (#1587) 2026-03-22 23:08:51 +02:00
kshitijanurag
e65e02f05f feat(BaseThemeType): add Unset base theme type (#1577) 2026-03-20 12:40:20 +02:00
dependabot[bot]
b4eaf0b607 chore(deps): bump rollup from 2.79.2 to 2.80.0 in /website (#1544)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-20 12:36:54 +02:00
dependabot[bot]
ebdb44eb79 chore(deps): bump flatted from 3.2.5 to 3.4.2 in /website (#1585)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-20 12:34:17 +02:00
renovate[bot]
d7192dc74e chore(deps): update dependency eslint-config-neon to ^0.4.0 (#1487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Vlad Frangu <me@vladfrangu.dev>
2026-03-20 12:33:46 +02:00
Almeida
b985362252 feat(Application): add activity instance types and endpoint (#1578)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 12:16:08 +02:00
Almeida
25778aeee9 fix(webhook): correct nullability for guild_id and channel_id (#1567)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com>
2026-03-20 12:06:44 +02:00
renovate[bot]
899544f379 chore(deps): update pnpm/action-setup action to v5 (#1582)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 12:04:10 +02:00
renovate[bot]
76ee81b8e1 chore(deps): lock file maintenance (#1584)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 09:46:45 +00:00
renovate[bot]
93f3d45596 chore(deps): update patch/minor dependencies (#1581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 05:28:35 +00:00
Almeida
811314a825 fix(Voice, AuditLog): voice state channel_id, audit log application_id (#1580)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 20:19:08 +02:00
Almeida
ba01bacfc0 feat(Rest): add missing JSON error codes (#1579)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 20:18:52 +02:00
Almeida
a4aa724eb8 fix(Channel): correct PATCH channel field nullability (#1575)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 13:08:49 +02:00
Almeida
dea22dc487 fix(poll): mark expiry as nullable (#1576)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 13:08:37 +02:00
Almeida
cf6476dc8a fix(Guild): correct optionality and nullability (#1574)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 13:08:15 +02:00
Almeida
f76c2fa249 fix: split grouped gateway dispatch types (#1563) 2026-03-19 10:04:56 +00:00
Almeida
0000e9afe3 fix: role colors optionality, color deprecation, and stale annotations (#1566)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:40:56 +02:00
kshitijanurag
c3b331d80a feat(message): shared client themes (#1565) 2026-03-19 09:40:28 +02:00
Almeida
f1a3cb7bb7 fix: send soundboard result type (#1568) 2026-03-19 09:37:28 +02:00
Almeida
38b9467178 fix(Gateway): invite create timestamp type, zstd-stream (#1569)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:37:05 +02:00
Almeida
32b544e05e chore: run clean:node on pre-commit (#1564) 2026-03-19 09:36:39 +02:00
Almeida
e1ff008cd6 feat(Application): add webhook event fields to PATCH (#1570)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:35:34 +02:00
Almeida
46b8cbd46f feat(Guild): add flags to modify guild member (#1571)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:35:15 +02:00
Almeida
c8ef2fefde feat(Guild): add collectibles to guild member (#1572)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:35:02 +02:00
Almeida
bf12195401 fix(guildScheduledEvent): entity_type required, channel_id nullable (#1573)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:34:45 +02:00
kshitijanurag
a73d1d0ce2 docs: update TSDoc comments for PermissionFlagsBits (#1558) 2026-03-17 01:36:23 +02:00
renovate[bot]
17eade718c chore(deps): update crazy-max/ghaction-github-labeler action to v6 (#1552)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-17 01:35:55 +02:00
dependabot[bot]
c242454e9f chore(deps): bump immutable from 5.0.3 to 5.1.5 in /website (#1545)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-17 01:34:45 +02:00
dependabot[bot]
6dc3caa692 chore(deps): bump svgo from 3.3.2 to 3.3.3 in /website (#1546)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-17 01:34:34 +02:00
kshitijanurag
6b47a0c960 docs(channel): update slowmode bypass permission information (#1562) 2026-03-17 01:34:21 +02:00
renovate[bot]
e9169b8acb chore(deps): lock file maintenance (#1561)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-13 08:52:09 +00:00
renovate[bot]
d7a38425c0 chore(deps): update patch/minor dependencies (#1560)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-13 06:15:34 +00:00
Vlad Frangu
8190a1a475 chore(release): 0.38.42 🎉 (#1557)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-09 23:24:31 +02:00
advaith
818b899f9d feat: mark new modal components as stable (#1556) 2026-03-09 13:19:42 +02:00
renovate[bot]
61788ced57 chore(deps): lock file maintenance (#1555)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-06 13:51:38 +00:00
renovate[bot]
f6ae280ab5 chore(deps): update dependency @types/node to v24.12.0 (#1554)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-06 13:50:16 +00:00
renovate[bot]
6708005f0c chore(deps): lock file maintenance (#1553)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-06 09:02:14 +00:00
renovate[bot]
9b00e9d441 chore(deps): update patch/minor dependencies (#1551)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-06 05:10:57 +00:00
Vlad Frangu
cbec753710 chore(release): 0.38.41 🎉 (#1550)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-05 16:07:35 +02:00
Denis-Adrian Cristea
5ea94a6629 feat: application command option allowed channel type (#1548) 2026-03-05 15:53:53 +02:00
renovate[bot]
cef79b442e chore(deps): lock file maintenance (#1542)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 18:07:58 +00:00
kshitijanurag
1353b5915c feat(voice): add close code 4017 (#1538) 2026-02-27 14:34:09 +02:00
Vlad Frangu
beb982dd82 ci: PR CI should throw errors on voice v4, not v8 2026-02-27 14:33:59 +02:00
renovate[bot]
da016bd49d chore(deps): lock file maintenance (#1541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 10:16:11 +00:00
renovate[bot]
0ee3cf31bb chore(deps): lock file maintenance (#1540)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 09:30:42 +00:00
renovate[bot]
8b22f9511f chore(deps): update patch/minor dependencies (#1539)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 05:10:28 +00:00
Almeida
32975aecea Revert "chore(deps): bump webpack from 5.96.1 to 5.105.0 in /website (#1515)" (#1535) 2026-02-22 22:01:43 +02:00
renovate[bot]
c93fdc0996 chore(deps): update dependency @actions/core to v3 (#1504)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-21 17:23:24 +02:00
renovate[bot]
164f79e6c4 chore(deps): update actions/cache action to v5 (#1465)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-21 17:21:31 +02:00
renovate[bot]
e60a3f8aac chore(deps): update dependency @actions/glob to ^0.6.0 (#1502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-21 17:20:40 +02:00
dependabot[bot]
36e76904ef chore(deps): bump qs and express in /website (#1523)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-21 17:19:23 +02:00
dependabot[bot]
177e9d199b chore(deps): bump webpack from 5.96.1 to 5.105.0 in /website (#1515)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-21 17:16:05 +02:00
dependabot[bot]
7e0de6eaa1 chore(deps): bump @isaacs/brace-expansion in /website (#1511)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-21 17:15:41 +02:00
dependabot[bot]
c2872acc40 chore(deps): bump node-forge from 1.3.1 to 1.3.3 in /website (#1478)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-21 17:15:23 +02:00
dependabot[bot]
47b0d075b0 chore(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /website (#1458)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-21 17:15:16 +02:00
dependabot[bot]
c726e8be53 chore(deps): bump zx from 8.2.4 to 8.8.5 in /website (#1446)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-21 17:15:09 +02:00
renovate[bot]
6b6b256d5f chore(deps): lock file maintenance (#1531)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-20 14:12:32 +00:00
Vlad Frangu
26580371d2 chore(release): 0.38.40 🎉 (#1528)
Build ran for 2a9dfd41db

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-20 12:03:01 +02:00
renovate[bot]
a57db79645 chore(deps): update patch/minor dependencies (#1530)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-20 05:00:10 +00:00
Almeida
2a9dfd41db feat: mark guild member role counts endpoint as stable (#1462) 2026-02-15 17:57:24 +00:00
Asad
8fd402464a fix: export missing properties and use interfaces on GatewayActivityAssets (#1519)
* fix: export missing properties and use interface

* docs: remove redundant comment

* fix: backport improvements to v9
2026-02-15 17:45:45 +00:00
Vlad Frangu
a8e30a616c chore(release): 0.38.39 🎉 (#1525)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-13 12:04:37 +02:00
renovate[bot]
b549a5fe8d chore(deps): lock file maintenance (#1524)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-13 10:03:31 +00:00
renovate[bot]
f9496a795f chore(deps): update dependency eslint to v10 (#1521)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-13 09:27:08 +00:00
renovate[bot]
2a42f0d0b5 chore(deps): update patch/minor dependencies (#1520)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-13 06:46:12 +00:00
Jiralite
6f6b780851 fix(APIModalSubmitRadioGroupComponent): nullable value (#1518) 2026-02-13 00:45:06 +00:00
renovate[bot]
6df197ac47 chore(deps): lock file maintenance (#1516)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-06 13:51:01 +00:00
renovate[bot]
b6b4027cb5 chore(deps): lock file maintenance (#1514)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-06 08:28:44 +00:00
renovate[bot]
807f86cb87 chore(deps): update patch/minor dependencies (#1513)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-06 05:33:36 +00:00
renovate[bot]
592503aa18 chore(deps): lock file maintenance (#1509)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-30 21:14:40 +00:00
renovate[bot]
511ee8edd3 chore(deps): update patch/minor dependencies to v20.4.0 (#1508)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-30 18:27:45 +00:00
renovate[bot]
dd79152139 chore(deps): lock file maintenance (#1506)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-30 12:46:42 +00:00
renovate[bot]
94d41859b7 chore(deps): lock file maintenance (#1505)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-30 09:12:04 +00:00
renovate[bot]
a3aec11efd chore(deps): update dependency @aws-sdk/client-s3 to v3.978.0 (#1503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-30 06:03:40 +00:00
Vlad Frangu
0bd1de5a97 chore(release): 0.38.38 🎉 (#1500)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-01-29 16:38:45 +02:00
Naiyar
18fa946bdf feat: radio groups and checkbox in modal (#1495)
* feat: radio groups and checkbox in modal

* fix: submit property type

* fix: value for radio group can be missing if not selected

* chore: mark unstable and update docs

* chore: update component enum names

* chore: fix component type

* chore: docs and links

* fix: component names

* chore: suggestions
2026-01-26 10:23:23 +00:00
renovate[bot]
df9c860cca chore(deps): lock file maintenance (#1498)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-23 14:26:55 +00:00
renovate[bot]
deea7340d3 chore(deps): lock file maintenance (#1497)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-23 09:34:16 +00:00
renovate[bot]
5abb566fcb chore(deps): update dependency @aws-sdk/client-s3 to v3.974.0 (#1496)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-23 05:42:28 +00:00
renovate[bot]
b29dd22b52 chore(deps): lock file maintenance (#1490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-16 13:11:21 +00:00
renovate[bot]
5adaf81117 chore(deps): lock file maintenance (#1489)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-16 10:58:27 +00:00
renovate[bot]
6ed498e4a1 chore(deps): update patch/minor dependencies (#1488)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-16 06:02:09 +00:00
renovate[bot]
d6ce5e8259 chore(deps): lock file maintenance (#1485)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-09 13:51:47 +00:00
renovate[bot]
ef46b927b6 chore(deps): update patch/minor dependencies (#1484)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-09 09:52:12 +00:00
renovate[bot]
0192dab947 chore(deps): update eslint/prettier to v8.52.0 (#1483)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-09 06:02:16 +00:00
renovate[bot]
3c846fc0dc chore(deps): lock file maintenance (#1481)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 09:28:43 +00:00
renovate[bot]
e51f9c6cfc chore(deps): update patch/minor dependencies to v20.3.0 (#1480)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 09:27:34 +00:00
renovate[bot]
ffec279615 chore(deps): update eslint/prettier to v8.51.0 (#1479)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 05:57:20 +00:00
renovate[bot]
2389ed4f27 chore(deps): lock file maintenance (#1476)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-26 16:30:15 +00:00
renovate[bot]
d8b6653b69 chore(deps): update dependency @aws-sdk/client-s3 to v3.958.0 (#1475)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-26 10:11:18 +00:00
renovate[bot]
36500e61ae chore(deps): update eslint/prettier to v8.50.1 (#1474)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-26 04:37:14 +00:00
renovate[bot]
d363c6b9b3 chore(deps): lock file maintenance (#1473)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-19 13:35:24 +00:00
renovate[bot]
acdf14ca54 chore(deps): update patch/minor dependencies (#1472)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-19 10:33:51 +00:00
renovate[bot]
8aa9e9e849 chore(deps): update eslint/prettier (#1471)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-19 05:37:27 +00:00
renovate[bot]
b67f4bd157 chore(deps): lock file maintenance (#1468)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-12 09:39:21 +00:00
renovate[bot]
aec9bc07e5 chore(deps): lock file maintenance (#1467)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-12 08:40:01 +00:00
renovate[bot]
237d00ca3d chore(deps): update patch/minor dependencies (#1464)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-12 06:25:56 +00:00
Vlad Frangu
4ba461e93f chore(release): 0.38.37 🎉 (#1463)
Build ran for dd55679e75

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-11 14:58:04 +02:00
renovate[bot]
dd55679e75 chore(deps): lock file maintenance (#1455)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 04:42:36 +00:00
renovate[bot]
60cdc321ef chore(deps): update eslint/prettier to v8.49.0 (#1453)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 00:33:50 +02:00
dependabot[bot]
c533c76df9 chore(deps): bump js-yaml and markdownlint-cli2 in /website (#1437)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-10 00:31:37 +02:00
Copilot
5b82aa564c docs(APIAttachment): clarify title field distinction from filename (#1450)
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com>
Co-authored-by: almeidx <42935195+almeidx@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-12-10 00:31:15 +02:00
renovate[bot]
5a4c4aff19 chore(deps): update actions/checkout action to v6 (#1444)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 00:30:25 +02:00
Almeida
38e98c8063 chore: upgrade prettier (#1460) 2025-12-10 00:30:11 +02:00
Double Colon
8f0474b83c refactor: de-duplicate timestamp formatting patterns (#1440)
Co-authored-by: Almeida <almeidx@pm.me>
2025-12-07 13:33:42 +00:00
renovate[bot]
e8893bc7f4 chore(deps): update patch/minor dependencies (#1459)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-05 10:03:46 +00:00
Vlad Frangu
fd16e2799b chore(release): 0.38.36 🎉 (#1457)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-01 14:55:50 +02:00
Danial Raza
b6f328aa0f chore(PermissionFlagsBits): mark BypassSlowmode as stable (#1456) 2025-11-30 12:40:06 +00:00
Vlad Frangu
6579f2c9c5 chore(release): 0.38.35 🎉 (#1452)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-29 20:58:01 +02:00
renovate[bot]
176e2f59b6 chore(deps): update patch/minor dependencies (#1454)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-28 05:44:46 +00:00
renovate[bot]
0d35199598 chore(deps): lock file maintenance (#1445)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-21 13:46:59 +00:00
renovate[bot]
7d1b2a2ae0 chore(deps): update patch/minor dependencies (#1443)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-21 10:49:50 +00:00
renovate[bot]
12760a8959 chore(deps): update eslint/prettier to v8.47.0 (#1442)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-21 06:01:38 +00:00
Jiralite
a8c28ab728 fix: Add missing s/S support to StyledTimestamp (#1439) 2025-11-20 13:09:55 +02:00
Vlad Frangu
cdec113cbf chore(release): 0.38.34 🎉 (#1436)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-17 19:15:58 +02:00
renovate[bot]
de72feaa35 chore(deps): lock file maintenance (#1435)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 18:55:57 +00:00
renovate[bot]
aa6e72d34f chore(deps): update patch/minor dependencies (#1434)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 08:27:20 +00:00
renovate[bot]
2117f4926b chore(deps): update eslint/prettier to v8.46.4 (#1433)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 04:04:52 +00:00
LukeZ
f883770df6 feat: add isModalSubmitInteraction() type guard (#1428)
* Implement type-guard for modal submit interactions

Added a type-guard function to check for modal submit interactions.

* Implement missing isModalSubmitInteraction typeguard in deno types

Added a type-guard function to check for modal submit interactions in deno types because I missed that before.

* fix(typings): replace 'type-guard' with 'type guard'

This corrects the spacing in the term across multiple locations for consistency with standard TypeScript terminology.

* Revert "fix(typings): replace 'type-guard' with 'type guard'"

This reverts commit 822b2e0bbc.

* fix(typings): replace 'type-guard' with 'type guard' in jsdoc comments in v10

* fix(typings): update JSDoc comments to use 'type guard' instead of 'type-guard'

* fix(typings): replace "type-guard" with "type guard" in v9 utils

* feat(interactions): add type guard for modal submit interactions in v9

---------

Co-authored-by: Luca Hentschel <luca.hentschel@2peaches.de>
2025-11-10 13:59:15 +00:00
renovate[bot]
117b63dcd0 chore(deps): update dependency @types/node to v24 (#1417)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-10 10:12:26 +02:00
Jiralite
5f25c39bc5 chore: fix contributing file (#1430) 2025-11-10 10:11:41 +02:00
Vlad Frangu
200f650539 chore(release): 0.38.33 🎉 (#1429)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-09 23:50:43 +02:00
Jiralite
2736687283 feat(PermissionFlagsBits): add BypassSlowmode (#1427) 2025-11-08 10:04:25 +02:00
renovate[bot]
388faf3d33 chore(deps): lock file maintenance (#1426)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-07 14:36:27 +00:00
renovate[bot]
20b7057c50 chore(deps): update patch/minor dependencies (#1425)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-07 10:10:37 +00:00
renovate[bot]
5c73edb70a chore(deps): update eslint/prettier (#1424)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-07 05:42:54 +00:00
183 changed files with 8853 additions and 5154 deletions

View File

@@ -1,12 +1,8 @@
# discord-api-types Contributing Guide
**The issue tracker is only for bug reports and enhancement suggestions. If you have a question, please ask it in the [Discord server](https://discord.gg/djs) instead of opening an issue, or on [GitHub Discussions](https://github.com/discordjs/discord-api-types/discussions) you will get redirected there anyway.**
- [Code of Conduct](https://github.com/discordjs/discord-api-types/blob/main/.github/CODE_OF_CONDUCT.md)
- [Pull Request Guidelines](#pull-request-guidelines)
- [Development Setup](#development-setup)
- [Project Structure](#project-structure)
- [Contributing Tests](#contributing-tests)
## Pull Request Guidelines
@@ -30,18 +26,18 @@
- Make sure tests pass!
- Commit messages must follow the [commit message convention](./COMMIT_CONVENTION.md) so that changelogs can be automatically generated. Commit messages are automatically validated before commit (by invoking [Git Hooks](https://git-scm.com/docs/githooks) via [husky](https://github.com/typicode/husky)).
- Commit messages must follow the [commit message convention](https://github.com/discordjs/discord-api-types/blob/main/.github/COMMIT_CONVENTION.md) so that changelogs can be automatically generated. Commit messages are automatically validated before commit (by invoking [Git Hooks](https://git-scm.com/docs/githooks) via [husky](https://github.com/typicode/husky)).
- No need to worry about code style as long as you have installed the dev dependencies - modified files are automatically formatted with Prettier on commit (by invoking [Git Hooks](https://git-scm.com/docs/githooks) via [husky](https://github.com/typicode/husky)).
## Development Setup
You will need [Node.js](http://nodejs.org) **version 12+**, and [npm](https://www.npmjs.com/).
You will need an LTS version of [Node.js](http://nodejs.org) and [Yarn](https://yarnpkg.com).
After cloning the repo, run:
```bash
$ npm i # install the dependencies of the project
$ yarn install # Install the dependencies of the project
```
A high level overview of tools used:

View File

@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Project
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Add problem matcher
run: echo "::add-matcher::.github/problemMatchers/eslint.json" && echo "::add-matcher::.github/problemMatchers/tsc.json"

View File

@@ -39,7 +39,7 @@ jobs:
steps:
- name: Checkout discord-api-types
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
ref: ${{ inputs.ref || '' }}
@@ -56,7 +56,7 @@ jobs:
# pnpm --filter="*api-*" --filter="scripts" --filter="actions" run build
- name: Checkout discord.js
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
repository: discordjs/discord.js
path: djs
@@ -67,7 +67,7 @@ jobs:
with:
swap-size-gb: 10
- uses: pnpm/action-setup@v4.2.0
- uses: pnpm/action-setup@v5.0.0
name: Install pnpm
with:
run_install: false
@@ -85,7 +85,7 @@ jobs:
run: |
echo "YEAR_MONTH=$(/bin/date -u "+%Y%m")" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
- uses: actions/cache@v5
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-config.outputs.STORE_PATH }}

View File

@@ -14,9 +14,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Label sync
uses: crazy-max/ghaction-github-labeler@v5
uses: crazy-max/ghaction-github-labeler@v6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -26,7 +26,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0
@@ -59,8 +59,16 @@ jobs:
if: github.repository_owner == 'discordjs' && github.event_name != 'push'
steps:
- uses: actions/create-github-app-token@v3
id: app-token
with:
app-id: ${{ vars.DISCORDJS_APP_ID }}
private-key: ${{ secrets.DISCORDJS_APP_KEY_RELEASE }}
permission-contents: write
permission-pull-requests: write
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0
@@ -78,13 +86,13 @@ jobs:
- name: Set Git User and Email
run: |
git config user.name "github-actions[bot]"
git config user.name "discord-js[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
- name: Bump version
run: node ./scripts/bump-version.mjs
env:
GITHUB_TOKEN: ${{ secrets.USER_PAT }}
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
- name: Create branch for changes, add all changes and push
run: |
@@ -103,7 +111,7 @@ jobs:
- name: Create Pull Request
run: node ./scripts/actions/create-pr.mjs
env:
GITHUB_TOKEN: ${{ secrets.USER_PAT }}
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
create_release:
name: Create release and publish
@@ -115,8 +123,16 @@ jobs:
if: github.repository_owner == 'discordjs' && github.event_name == 'push' && startsWith(github.event.head_commit.message, 'chore(release)') && !contains(github.event.head_commit.message, '[skip ci]')
steps:
- uses: actions/create-github-app-token@v3
id: app-token
with:
app-id: ${{ vars.DISCORDJS_APP_ID }}
private-key: ${{ secrets.DISCORDJS_APP_KEY_RELEASE }}
permission-contents: write
permission-pull-requests: write
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0
@@ -136,4 +152,4 @@ jobs:
- name: Create GitHub release
run: node ./scripts/actions/create-release.mjs
env:
GITHUB_TOKEN: ${{ secrets.USER_PAT }}
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}

View File

@@ -10,7 +10,7 @@ jobs:
pull-requests: write
steps:
- name: Checkout Project
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Use Node.js
uses: actions/setup-node@v6
@@ -33,7 +33,7 @@ jobs:
env:
GH_TOKEN: ${{ github.token }}
run: |
PATTERNS="gateway/v6.ts|gateway/v8.ts|payloads/v6/|payloads/v8/|rest/v6/|rest/v8/|rpc/v8.ts|utils/v8.ts|voice/v8.ts|^v6.ts$|^v8.ts$"
PATTERNS="gateway/v6.ts|gateway/v8.ts|payloads/v6/|payloads/v8/|rest/v6/|rest/v8/|rpc/v8.ts|utils/v8.ts|voice/v4.ts|^v6.ts$|^v8.ts$"
if gh pr view ${{ github.event.pull_request.number }} --repo ${{github.repository}} --json files --jq ".files[].path | select(test(\"$PATTERNS\"))" | grep -q .; then
echo "::error::Unsupported API versions modified. Please make changes to current API versions only."

View File

@@ -1 +1 @@
yarn pretty-quick --staged && yarn lint-staged && yarn build:deno && git add deno
yarn pretty-quick --staged && yarn lint-staged && yarn clean:node && yarn build:deno && git add deno

File diff suppressed because one or more lines are too long

940
.yarn/releases/yarn-4.14.1.cjs vendored Executable file

File diff suppressed because one or more lines are too long

View File

@@ -2,7 +2,7 @@ enableGlobalCache: true
nodeLinker: node-modules
yarnPath: .yarn/releases/yarn-4.10.3.cjs
yarnPath: .yarn/releases/yarn-4.14.1.cjs
plugins:
- path: ./.yarn/plugins/postinstallDev.cjs

View File

@@ -1,3 +1,157 @@
## [0.38.47](https://github.com/discordjs/discord-api-types/compare/0.38.46...0.38.47) (2026-04-16)
### Features
* **RESTJSONErrorCodes:** add `CannotForwardMessageWithUnreadableContent` ([#1628](https://github.com/discordjs/discord-api-types/issues/1628)) ([09c71fe](https://github.com/discordjs/discord-api-types/commit/09c71fe9d19006d0b287be35456c25809e9afc1a))
* **RESTJSONErrorCodes:** rename `ChannelSendRateLimit` to `ChannelWriteRateLimit` ([#1627](https://github.com/discordjs/discord-api-types/issues/1627)) ([d5dc47a](https://github.com/discordjs/discord-api-types/commit/d5dc47a36c544ff8a83adcfb29684d5ac5e15af4))
## [0.38.46](https://github.com/discordjs/discord-api-types/compare/0.38.45...0.38.46) (2026-04-13)
### Bug Fixes
* `APIUser` `global_name` description ([#1586](https://github.com/discordjs/discord-api-types/issues/1586)) ([d165766](https://github.com/discordjs/discord-api-types/commit/d165766302c8ae7c9cd78c5a2989787351ca45fa))
* **Channel:** add applied_tags to forum thread form data body ([#1615](https://github.com/discordjs/discord-api-types/issues/1615)) ([19d04c0](https://github.com/discordjs/discord-api-types/commit/19d04c00c9f5ba585fc0d21dbf869b74f2ea2dda))
* **Gateway:** correct scheduled event user remove dispatch type ([#1614](https://github.com/discordjs/discord-api-types/issues/1614)) ([b2a8b74](https://github.com/discordjs/discord-api-types/commit/b2a8b740e5c7904c77bd6ba3359b3b4d30b0e0f9))
* **ReactionType:** rename Super to Burst ([#1613](https://github.com/discordjs/discord-api-types/issues/1613)) ([c21ae24](https://github.com/discordjs/discord-api-types/commit/c21ae24f7a3d8892a1126984223a5ddf996b3105))
* **Webhook:** add delete message query, fix thread_id type ([#1611](https://github.com/discordjs/discord-api-types/issues/1611)) ([27ef064](https://github.com/discordjs/discord-api-types/commit/27ef064f922922b8da6d8baedcc0aed6261f6d59))
### Features
* **Message:** more attachment and embed fields and flags ([#1609](https://github.com/discordjs/discord-api-types/issues/1609)) ([702e541](https://github.com/discordjs/discord-api-types/commit/702e541bf0bbcf54c85a47e1ba56dc982cb49b17))
* **UserFlags:** mark ActiveDeveloper as deprecated ([#1604](https://github.com/discordjs/discord-api-types/issues/1604)) ([5acf5c5](https://github.com/discordjs/discord-api-types/commit/5acf5c5989d09cabd73f3435155b9ca2cf07be81))
## [0.38.45](https://github.com/discordjs/discord-api-types/compare/0.38.44...0.38.45) (2026-04-09)
### Bug Fixes
* **OAuth2:** include flags in current application result ([#1610](https://github.com/discordjs/discord-api-types/issues/1610)) ([1506ff0](https://github.com/discordjs/discord-api-types/commit/1506ff0d2bf38cea590872fbc2a463096150baf6))
* **User:** use Snowflake for DM recipient_id ([#1612](https://github.com/discordjs/discord-api-types/issues/1612)) ([3a296fa](https://github.com/discordjs/discord-api-types/commit/3a296fa929470b0dba74ee7cdd4343c03d171916))
## [0.38.44](https://github.com/discordjs/discord-api-types/compare/0.38.43...0.38.44) (2026-04-02)
### Bug Fixes
* **APIApplication:** make event_webhooks_status optional ([#1603](https://github.com/discordjs/discord-api-types/issues/1603)) ([c76a1bc](https://github.com/discordjs/discord-api-types/commit/c76a1bc37208789b9b626a9363e8a3992edc2899))
## [0.38.43](https://github.com/discordjs/discord-api-types/compare/0.38.41...0.38.43) (2026-03-28)
### Bug Fixes
* **Channel:** correct PATCH channel field nullability ([#1575](https://github.com/discordjs/discord-api-types/issues/1575)) ([a4aa724](https://github.com/discordjs/discord-api-types/commit/a4aa724eb84ca0dea335b52c312af7a0e50696f6))
* **Gateway:** invite create timestamp type, zstd-stream ([#1569](https://github.com/discordjs/discord-api-types/issues/1569)) ([38b9467](https://github.com/discordjs/discord-api-types/commit/38b9467178783c71770a15905d5f6e716ed7cbbd))
* **Guild:** correct optionality and nullability ([#1574](https://github.com/discordjs/discord-api-types/issues/1574)) ([cf6476d](https://github.com/discordjs/discord-api-types/commit/cf6476dc8aeecb3d36cac629cb1d921b2805c573))
* **guildScheduledEvent:** entity_type required, channel_id nullable ([#1573](https://github.com/discordjs/discord-api-types/issues/1573)) ([bf12195](https://github.com/discordjs/discord-api-types/commit/bf121954013b21f9b8a2c35249791f96b275143a))
* **poll:** mark expiry as nullable ([#1576](https://github.com/discordjs/discord-api-types/issues/1576)) ([dea22dc](https://github.com/discordjs/discord-api-types/commit/dea22dc487d8af22827a15815ff79acd8607465b))
* role colors optionality, color deprecation, and stale annotations ([#1566](https://github.com/discordjs/discord-api-types/issues/1566)) ([0000e9a](https://github.com/discordjs/discord-api-types/commit/0000e9afe34f748d708c1d81441a08e1a06e0d50))
* send soundboard result type ([#1568](https://github.com/discordjs/discord-api-types/issues/1568)) ([f1a3cb7](https://github.com/discordjs/discord-api-types/commit/f1a3cb7bb7fb6fba6824fcad42e0ce54a0d9be94))
* split grouped gateway dispatch types ([#1563](https://github.com/discordjs/discord-api-types/issues/1563)) ([f76c2fa](https://github.com/discordjs/discord-api-types/commit/f76c2fa249b1b9ad02d4bfc26495f4cfa2349641))
* **Voice, AuditLog:** voice state channel_id, audit log application_id ([#1580](https://github.com/discordjs/discord-api-types/issues/1580)) ([811314a](https://github.com/discordjs/discord-api-types/commit/811314a825bbe32360f98109bd4981d67fdb6726))
* **webhook:** correct nullability for guild_id and channel_id ([#1567](https://github.com/discordjs/discord-api-types/issues/1567)) ([25778ae](https://github.com/discordjs/discord-api-types/commit/25778aeee9367c145fa841c977d4de6b247652c0))
### Features
* **Application:** add activity instance types and endpoint ([#1578](https://github.com/discordjs/discord-api-types/issues/1578)) ([b985362](https://github.com/discordjs/discord-api-types/commit/b9853622523d1be70e3f754d552f5b984fff8739))
* **Application:** add webhook event fields to PATCH ([#1570](https://github.com/discordjs/discord-api-types/issues/1570)) ([e1ff008](https://github.com/discordjs/discord-api-types/commit/e1ff008cd697cf0dd0185ed2d8aba653c6be91e4))
* **BaseThemeType:** add `Unset` base theme type ([#1577](https://github.com/discordjs/discord-api-types/issues/1577)) ([e65e02f](https://github.com/discordjs/discord-api-types/commit/e65e02f05f048cc57488deffb04e90313c92e4c2))
* guild messages search ([#1583](https://github.com/discordjs/discord-api-types/issues/1583)) ([a99c8c0](https://github.com/discordjs/discord-api-types/commit/a99c8c0f53b119e58841979f319eb3e49cbe9b5f))
* **Guild:** add collectibles to guild member ([#1572](https://github.com/discordjs/discord-api-types/issues/1572)) ([c8ef2fe](https://github.com/discordjs/discord-api-types/commit/c8ef2fefde5b8a37dee40863d2a2e24df8b50e28))
* **Guild:** add flags to modify guild member ([#1571](https://github.com/discordjs/discord-api-types/issues/1571)) ([46b8cbd](https://github.com/discordjs/discord-api-types/commit/46b8cbd46f5c5331652624d74048775bd0e9ff8d))
* mark new modal components as stable ([#1556](https://github.com/discordjs/discord-api-types/issues/1556)) ([818b899](https://github.com/discordjs/discord-api-types/commit/818b899f9dd8f93c93168550ba08976888927f77))
* **message:** shared client themes ([#1565](https://github.com/discordjs/discord-api-types/issues/1565)) ([c3b331d](https://github.com/discordjs/discord-api-types/commit/c3b331d80a1c4b97b260584f4c9afb5f81871ba9))
* **Rest:** add missing JSON error codes ([#1579](https://github.com/discordjs/discord-api-types/issues/1579)) ([ba01bac](https://github.com/discordjs/discord-api-types/commit/ba01bacfc073ec5b3476157a6d6f8f91836e0eb8))
* **RESTJSONErrorCodes:** add error code `50278` ([#1587](https://github.com/discordjs/discord-api-types/issues/1587)) ([662cb0c](https://github.com/discordjs/discord-api-types/commit/662cb0cb0ac9c6f9ad93e180849476714bfceb0c))
## [0.38.42](https://github.com/discordjs/discord-api-types/compare/0.38.41...0.38.42) (2026-03-09)
### Features
* mark new modal components as stable ([#1556](https://github.com/discordjs/discord-api-types/issues/1556)) ([818b899](https://github.com/discordjs/discord-api-types/commit/818b899f9dd8f93c93168550ba08976888927f77))
## [0.38.41](https://github.com/discordjs/discord-api-types/compare/0.38.40...0.38.41) (2026-03-05)
### Features
* application command option allowed channel type ([#1548](https://github.com/discordjs/discord-api-types/issues/1548)) ([5ea94a6](https://github.com/discordjs/discord-api-types/commit/5ea94a6629812820174589f2ac8ebe3765548b31))
* **voice:** add close code `4017` ([#1538](https://github.com/discordjs/discord-api-types/issues/1538)) ([1353b59](https://github.com/discordjs/discord-api-types/commit/1353b5915c1a0069a9b1c2a24fdc11256ec486e2))
## [0.38.40](https://github.com/discordjs/discord-api-types/compare/0.38.39...0.38.40) (2026-02-19)
### Bug Fixes
* export missing properties and use interfaces on GatewayActivityAssets ([#1519](https://github.com/discordjs/discord-api-types/issues/1519)) ([8fd4024](https://github.com/discordjs/discord-api-types/commit/8fd402464a9db8f5341a3146cdd166d557a48510))
### Features
* mark guild member role counts endpoint as stable ([#1462](https://github.com/discordjs/discord-api-types/issues/1462)) ([2a9dfd4](https://github.com/discordjs/discord-api-types/commit/2a9dfd41db635f918a3ca905206ddde8a0d3f83f))
## [0.38.39](https://github.com/discordjs/discord-api-types/compare/0.38.38...0.38.39) (2026-02-13)
### Bug Fixes
* **APIModalSubmitRadioGroupComponent:** nullable value ([#1518](https://github.com/discordjs/discord-api-types/issues/1518)) ([6f6b780](https://github.com/discordjs/discord-api-types/commit/6f6b780851124cc0aa8f06cc28abce992619ee2b))
## [0.38.38](https://github.com/discordjs/discord-api-types/compare/0.38.37...0.38.38) (2026-01-29)
### Features
* radio groups and checkbox in modal ([#1495](https://github.com/discordjs/discord-api-types/issues/1495)) ([18fa946](https://github.com/discordjs/discord-api-types/commit/18fa946bdfb8e0b1537e7538ca046f1647166d1e))
## [0.38.37](https://github.com/discordjs/discord-api-types/compare/0.38.36...0.38.37) (2025-12-11)
## [0.38.36](https://github.com/discordjs/discord-api-types/compare/0.38.35...0.38.36) (2025-12-01)
## [0.38.35](https://github.com/discordjs/discord-api-types/compare/0.38.34...0.38.35) (2025-11-27)
### Bug Fixes
* Add missing s/S support to `StyledTimestamp` ([#1439](https://github.com/discordjs/discord-api-types/issues/1439)) ([a8c28ab](https://github.com/discordjs/discord-api-types/commit/a8c28ab7289726c3f29f53c5c2468e8da400f02f))
## [0.38.34](https://github.com/discordjs/discord-api-types/compare/0.38.33...0.38.34) (2025-11-17)
### Features
* add `isModalSubmitInteraction()` type guard ([#1428](https://github.com/discordjs/discord-api-types/issues/1428)) ([f883770](https://github.com/discordjs/discord-api-types/commit/f883770df6ae7ce8b1b036c7619b4ab8c4f92354))
## [0.38.33](https://github.com/discordjs/discord-api-types/compare/0.38.32...0.38.33) (2025-11-09)
### Features
* **PermissionFlagsBits:** add `BypassSlowmode` ([#1427](https://github.com/discordjs/discord-api-types/issues/1427)) ([2736687](https://github.com/discordjs/discord-api-types/commit/27366872836c9f1f069fafea7114dedb62467d27))
## [0.38.32](https://github.com/discordjs/discord-api-types/compare/0.38.31...0.38.32) (2025-11-03)

154
deno/CHANGELOG.md generated
View File

@@ -1,3 +1,157 @@
## [0.38.47](https://github.com/discordjs/discord-api-types/compare/0.38.46...0.38.47) (2026-04-16)
### Features
* **RESTJSONErrorCodes:** add `CannotForwardMessageWithUnreadableContent` ([#1628](https://github.com/discordjs/discord-api-types/issues/1628)) ([09c71fe](https://github.com/discordjs/discord-api-types/commit/09c71fe9d19006d0b287be35456c25809e9afc1a))
* **RESTJSONErrorCodes:** rename `ChannelSendRateLimit` to `ChannelWriteRateLimit` ([#1627](https://github.com/discordjs/discord-api-types/issues/1627)) ([d5dc47a](https://github.com/discordjs/discord-api-types/commit/d5dc47a36c544ff8a83adcfb29684d5ac5e15af4))
## [0.38.46](https://github.com/discordjs/discord-api-types/compare/0.38.45...0.38.46) (2026-04-13)
### Bug Fixes
* `APIUser` `global_name` description ([#1586](https://github.com/discordjs/discord-api-types/issues/1586)) ([d165766](https://github.com/discordjs/discord-api-types/commit/d165766302c8ae7c9cd78c5a2989787351ca45fa))
* **Channel:** add applied_tags to forum thread form data body ([#1615](https://github.com/discordjs/discord-api-types/issues/1615)) ([19d04c0](https://github.com/discordjs/discord-api-types/commit/19d04c00c9f5ba585fc0d21dbf869b74f2ea2dda))
* **Gateway:** correct scheduled event user remove dispatch type ([#1614](https://github.com/discordjs/discord-api-types/issues/1614)) ([b2a8b74](https://github.com/discordjs/discord-api-types/commit/b2a8b740e5c7904c77bd6ba3359b3b4d30b0e0f9))
* **ReactionType:** rename Super to Burst ([#1613](https://github.com/discordjs/discord-api-types/issues/1613)) ([c21ae24](https://github.com/discordjs/discord-api-types/commit/c21ae24f7a3d8892a1126984223a5ddf996b3105))
* **Webhook:** add delete message query, fix thread_id type ([#1611](https://github.com/discordjs/discord-api-types/issues/1611)) ([27ef064](https://github.com/discordjs/discord-api-types/commit/27ef064f922922b8da6d8baedcc0aed6261f6d59))
### Features
* **Message:** more attachment and embed fields and flags ([#1609](https://github.com/discordjs/discord-api-types/issues/1609)) ([702e541](https://github.com/discordjs/discord-api-types/commit/702e541bf0bbcf54c85a47e1ba56dc982cb49b17))
* **UserFlags:** mark ActiveDeveloper as deprecated ([#1604](https://github.com/discordjs/discord-api-types/issues/1604)) ([5acf5c5](https://github.com/discordjs/discord-api-types/commit/5acf5c5989d09cabd73f3435155b9ca2cf07be81))
## [0.38.45](https://github.com/discordjs/discord-api-types/compare/0.38.44...0.38.45) (2026-04-09)
### Bug Fixes
* **OAuth2:** include flags in current application result ([#1610](https://github.com/discordjs/discord-api-types/issues/1610)) ([1506ff0](https://github.com/discordjs/discord-api-types/commit/1506ff0d2bf38cea590872fbc2a463096150baf6))
* **User:** use Snowflake for DM recipient_id ([#1612](https://github.com/discordjs/discord-api-types/issues/1612)) ([3a296fa](https://github.com/discordjs/discord-api-types/commit/3a296fa929470b0dba74ee7cdd4343c03d171916))
## [0.38.44](https://github.com/discordjs/discord-api-types/compare/0.38.43...0.38.44) (2026-04-02)
### Bug Fixes
* **APIApplication:** make event_webhooks_status optional ([#1603](https://github.com/discordjs/discord-api-types/issues/1603)) ([c76a1bc](https://github.com/discordjs/discord-api-types/commit/c76a1bc37208789b9b626a9363e8a3992edc2899))
## [0.38.43](https://github.com/discordjs/discord-api-types/compare/0.38.41...0.38.43) (2026-03-28)
### Bug Fixes
* **Channel:** correct PATCH channel field nullability ([#1575](https://github.com/discordjs/discord-api-types/issues/1575)) ([a4aa724](https://github.com/discordjs/discord-api-types/commit/a4aa724eb84ca0dea335b52c312af7a0e50696f6))
* **Gateway:** invite create timestamp type, zstd-stream ([#1569](https://github.com/discordjs/discord-api-types/issues/1569)) ([38b9467](https://github.com/discordjs/discord-api-types/commit/38b9467178783c71770a15905d5f6e716ed7cbbd))
* **Guild:** correct optionality and nullability ([#1574](https://github.com/discordjs/discord-api-types/issues/1574)) ([cf6476d](https://github.com/discordjs/discord-api-types/commit/cf6476dc8aeecb3d36cac629cb1d921b2805c573))
* **guildScheduledEvent:** entity_type required, channel_id nullable ([#1573](https://github.com/discordjs/discord-api-types/issues/1573)) ([bf12195](https://github.com/discordjs/discord-api-types/commit/bf121954013b21f9b8a2c35249791f96b275143a))
* **poll:** mark expiry as nullable ([#1576](https://github.com/discordjs/discord-api-types/issues/1576)) ([dea22dc](https://github.com/discordjs/discord-api-types/commit/dea22dc487d8af22827a15815ff79acd8607465b))
* role colors optionality, color deprecation, and stale annotations ([#1566](https://github.com/discordjs/discord-api-types/issues/1566)) ([0000e9a](https://github.com/discordjs/discord-api-types/commit/0000e9afe34f748d708c1d81441a08e1a06e0d50))
* send soundboard result type ([#1568](https://github.com/discordjs/discord-api-types/issues/1568)) ([f1a3cb7](https://github.com/discordjs/discord-api-types/commit/f1a3cb7bb7fb6fba6824fcad42e0ce54a0d9be94))
* split grouped gateway dispatch types ([#1563](https://github.com/discordjs/discord-api-types/issues/1563)) ([f76c2fa](https://github.com/discordjs/discord-api-types/commit/f76c2fa249b1b9ad02d4bfc26495f4cfa2349641))
* **Voice, AuditLog:** voice state channel_id, audit log application_id ([#1580](https://github.com/discordjs/discord-api-types/issues/1580)) ([811314a](https://github.com/discordjs/discord-api-types/commit/811314a825bbe32360f98109bd4981d67fdb6726))
* **webhook:** correct nullability for guild_id and channel_id ([#1567](https://github.com/discordjs/discord-api-types/issues/1567)) ([25778ae](https://github.com/discordjs/discord-api-types/commit/25778aeee9367c145fa841c977d4de6b247652c0))
### Features
* **Application:** add activity instance types and endpoint ([#1578](https://github.com/discordjs/discord-api-types/issues/1578)) ([b985362](https://github.com/discordjs/discord-api-types/commit/b9853622523d1be70e3f754d552f5b984fff8739))
* **Application:** add webhook event fields to PATCH ([#1570](https://github.com/discordjs/discord-api-types/issues/1570)) ([e1ff008](https://github.com/discordjs/discord-api-types/commit/e1ff008cd697cf0dd0185ed2d8aba653c6be91e4))
* **BaseThemeType:** add `Unset` base theme type ([#1577](https://github.com/discordjs/discord-api-types/issues/1577)) ([e65e02f](https://github.com/discordjs/discord-api-types/commit/e65e02f05f048cc57488deffb04e90313c92e4c2))
* guild messages search ([#1583](https://github.com/discordjs/discord-api-types/issues/1583)) ([a99c8c0](https://github.com/discordjs/discord-api-types/commit/a99c8c0f53b119e58841979f319eb3e49cbe9b5f))
* **Guild:** add collectibles to guild member ([#1572](https://github.com/discordjs/discord-api-types/issues/1572)) ([c8ef2fe](https://github.com/discordjs/discord-api-types/commit/c8ef2fefde5b8a37dee40863d2a2e24df8b50e28))
* **Guild:** add flags to modify guild member ([#1571](https://github.com/discordjs/discord-api-types/issues/1571)) ([46b8cbd](https://github.com/discordjs/discord-api-types/commit/46b8cbd46f5c5331652624d74048775bd0e9ff8d))
* mark new modal components as stable ([#1556](https://github.com/discordjs/discord-api-types/issues/1556)) ([818b899](https://github.com/discordjs/discord-api-types/commit/818b899f9dd8f93c93168550ba08976888927f77))
* **message:** shared client themes ([#1565](https://github.com/discordjs/discord-api-types/issues/1565)) ([c3b331d](https://github.com/discordjs/discord-api-types/commit/c3b331d80a1c4b97b260584f4c9afb5f81871ba9))
* **Rest:** add missing JSON error codes ([#1579](https://github.com/discordjs/discord-api-types/issues/1579)) ([ba01bac](https://github.com/discordjs/discord-api-types/commit/ba01bacfc073ec5b3476157a6d6f8f91836e0eb8))
* **RESTJSONErrorCodes:** add error code `50278` ([#1587](https://github.com/discordjs/discord-api-types/issues/1587)) ([662cb0c](https://github.com/discordjs/discord-api-types/commit/662cb0cb0ac9c6f9ad93e180849476714bfceb0c))
## [0.38.42](https://github.com/discordjs/discord-api-types/compare/0.38.41...0.38.42) (2026-03-09)
### Features
* mark new modal components as stable ([#1556](https://github.com/discordjs/discord-api-types/issues/1556)) ([818b899](https://github.com/discordjs/discord-api-types/commit/818b899f9dd8f93c93168550ba08976888927f77))
## [0.38.41](https://github.com/discordjs/discord-api-types/compare/0.38.40...0.38.41) (2026-03-05)
### Features
* application command option allowed channel type ([#1548](https://github.com/discordjs/discord-api-types/issues/1548)) ([5ea94a6](https://github.com/discordjs/discord-api-types/commit/5ea94a6629812820174589f2ac8ebe3765548b31))
* **voice:** add close code `4017` ([#1538](https://github.com/discordjs/discord-api-types/issues/1538)) ([1353b59](https://github.com/discordjs/discord-api-types/commit/1353b5915c1a0069a9b1c2a24fdc11256ec486e2))
## [0.38.40](https://github.com/discordjs/discord-api-types/compare/0.38.39...0.38.40) (2026-02-19)
### Bug Fixes
* export missing properties and use interfaces on GatewayActivityAssets ([#1519](https://github.com/discordjs/discord-api-types/issues/1519)) ([8fd4024](https://github.com/discordjs/discord-api-types/commit/8fd402464a9db8f5341a3146cdd166d557a48510))
### Features
* mark guild member role counts endpoint as stable ([#1462](https://github.com/discordjs/discord-api-types/issues/1462)) ([2a9dfd4](https://github.com/discordjs/discord-api-types/commit/2a9dfd41db635f918a3ca905206ddde8a0d3f83f))
## [0.38.39](https://github.com/discordjs/discord-api-types/compare/0.38.38...0.38.39) (2026-02-13)
### Bug Fixes
* **APIModalSubmitRadioGroupComponent:** nullable value ([#1518](https://github.com/discordjs/discord-api-types/issues/1518)) ([6f6b780](https://github.com/discordjs/discord-api-types/commit/6f6b780851124cc0aa8f06cc28abce992619ee2b))
## [0.38.38](https://github.com/discordjs/discord-api-types/compare/0.38.37...0.38.38) (2026-01-29)
### Features
* radio groups and checkbox in modal ([#1495](https://github.com/discordjs/discord-api-types/issues/1495)) ([18fa946](https://github.com/discordjs/discord-api-types/commit/18fa946bdfb8e0b1537e7538ca046f1647166d1e))
## [0.38.37](https://github.com/discordjs/discord-api-types/compare/0.38.36...0.38.37) (2025-12-11)
## [0.38.36](https://github.com/discordjs/discord-api-types/compare/0.38.35...0.38.36) (2025-12-01)
## [0.38.35](https://github.com/discordjs/discord-api-types/compare/0.38.34...0.38.35) (2025-11-27)
### Bug Fixes
* Add missing s/S support to `StyledTimestamp` ([#1439](https://github.com/discordjs/discord-api-types/issues/1439)) ([a8c28ab](https://github.com/discordjs/discord-api-types/commit/a8c28ab7289726c3f29f53c5c2468e8da400f02f))
## [0.38.34](https://github.com/discordjs/discord-api-types/compare/0.38.33...0.38.34) (2025-11-17)
### Features
* add `isModalSubmitInteraction()` type guard ([#1428](https://github.com/discordjs/discord-api-types/issues/1428)) ([f883770](https://github.com/discordjs/discord-api-types/commit/f883770df6ae7ce8b1b036c7619b4ab8c4f92354))
## [0.38.33](https://github.com/discordjs/discord-api-types/compare/0.38.32...0.38.33) (2025-11-09)
### Features
* **PermissionFlagsBits:** add `BypassSlowmode` ([#1427](https://github.com/discordjs/discord-api-types/issues/1427)) ([2736687](https://github.com/discordjs/discord-api-types/commit/27366872836c9f1f069fafea7114dedb62467d27))
## [0.38.32](https://github.com/discordjs/discord-api-types/compare/0.38.31...0.38.32) (2025-11-03)

View File

@@ -4,5 +4,5 @@
export interface GatewayURLQuery {
v: string;
encoding: 'etf' | 'json';
compress?: 'zlib-stream';
compress?: 'zlib-stream' | 'zstd-stream';
}

110
deno/gateway/v10.ts generated
View File

@@ -331,12 +331,17 @@ export type GatewayDispatchPayload =
| GatewayAutoModerationActionExecutionDispatch
| GatewayAutoModerationRuleCreateDispatch
| GatewayAutoModerationRuleDeleteDispatch
| GatewayAutoModerationRuleModifyDispatch
| GatewayChannelModifyDispatch
| GatewayAutoModerationRuleUpdateDispatch
| GatewayChannelCreateDispatch
| GatewayChannelDeleteDispatch
| GatewayChannelPinsUpdateDispatch
| GatewayEntitlementModifyDispatch
| GatewayChannelUpdateDispatch
| GatewayEntitlementCreateDispatch
| GatewayEntitlementDeleteDispatch
| GatewayEntitlementUpdateDispatch
| GatewayGuildAuditLogEntryCreateDispatch
| GatewayGuildBanModifyDispatch
| GatewayGuildBanAddDispatch
| GatewayGuildBanRemoveDispatch
| GatewayGuildCreateDispatch
| GatewayGuildDeleteDispatch
| GatewayGuildEmojisUpdateDispatch
@@ -346,8 +351,9 @@ export type GatewayDispatchPayload =
| GatewayGuildMembersChunkDispatch
| GatewayGuildMemberUpdateDispatch
| GatewayGuildModifyDispatch
| GatewayGuildRoleCreateDispatch
| GatewayGuildRoleDeleteDispatch
| GatewayGuildRoleModifyDispatch
| GatewayGuildRoleUpdateDispatch
| GatewayGuildScheduledEventCreateDispatch
| GatewayGuildScheduledEventDeleteDispatch
| GatewayGuildScheduledEventUpdateDispatch
@@ -382,7 +388,9 @@ export type GatewayDispatchPayload =
| GatewayStageInstanceCreateDispatch
| GatewayStageInstanceDeleteDispatch
| GatewayStageInstanceUpdateDispatch
| GatewaySubscriptionModifyDispatch
| GatewaySubscriptionCreateDispatch
| GatewaySubscriptionDeleteDispatch
| GatewaySubscriptionUpdateDispatch
| GatewayThreadCreateDispatch
| GatewayThreadDeleteDispatch
| GatewayThreadListSyncDispatch
@@ -529,7 +537,10 @@ export type GatewayAutoModerationRuleModifyDispatchData = APIAutoModerationRule;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create}
*/
export type GatewayAutoModerationRuleCreateDispatch = GatewayAutoModerationRuleModifyDispatch;
export type GatewayAutoModerationRuleCreateDispatch = _DataPayload<
GatewayDispatchEvents.AutoModerationRuleCreate,
GatewayAutoModerationRuleCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create}
@@ -539,7 +550,10 @@ export type GatewayAutoModerationRuleCreateDispatchData = GatewayAutoModerationR
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update}
*/
export type GatewayAutoModerationRuleUpdateDispatch = GatewayAutoModerationRuleModifyDispatch;
export type GatewayAutoModerationRuleUpdateDispatch = _DataPayload<
GatewayDispatchEvents.AutoModerationRuleUpdate,
GatewayAutoModerationRuleUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update}
@@ -549,7 +563,10 @@ export type GatewayAutoModerationRuleUpdateDispatchData = GatewayAutoModerationR
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete}
*/
export type GatewayAutoModerationRuleDeleteDispatch = GatewayAutoModerationRuleModifyDispatch;
export type GatewayAutoModerationRuleDeleteDispatch = _DataPayload<
GatewayDispatchEvents.AutoModerationRuleDelete,
GatewayAutoModerationRuleDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete}
@@ -674,7 +691,10 @@ export type GatewaySubscriptionModifyDispatchData = APISubscription;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-create}
*/
export type GatewaySubscriptionCreateDispatch = GatewaySubscriptionModifyDispatch;
export type GatewaySubscriptionCreateDispatch = _DataPayload<
GatewayDispatchEvents.SubscriptionCreate,
GatewaySubscriptionCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-create}
@@ -684,7 +704,10 @@ export type GatewaySubscriptionCreateDispatchData = GatewaySubscriptionModifyDis
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-update}
*/
export type GatewaySubscriptionUpdateDispatch = GatewaySubscriptionModifyDispatch;
export type GatewaySubscriptionUpdateDispatch = _DataPayload<
GatewayDispatchEvents.SubscriptionUpdate,
GatewaySubscriptionUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-update}
@@ -694,7 +717,10 @@ export type GatewaySubscriptionUpdateDispatchData = GatewaySubscriptionModifyDis
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-delete}
*/
export type GatewaySubscriptionDeleteDispatch = GatewaySubscriptionModifyDispatch;
export type GatewaySubscriptionDeleteDispatch = _DataPayload<
GatewayDispatchEvents.SubscriptionDelete,
GatewaySubscriptionDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-delete}
@@ -724,7 +750,10 @@ export type GatewayChannelModifyDispatchData = APIChannel & {
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-create}
*/
export type GatewayChannelCreateDispatch = GatewayChannelModifyDispatch;
export type GatewayChannelCreateDispatch = _DataPayload<
GatewayDispatchEvents.ChannelCreate,
GatewayChannelCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-create}
@@ -734,7 +763,10 @@ export type GatewayChannelCreateDispatchData = GatewayChannelModifyDispatchData;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-update}
*/
export type GatewayChannelUpdateDispatch = GatewayChannelModifyDispatch;
export type GatewayChannelUpdateDispatch = _DataPayload<
GatewayDispatchEvents.ChannelUpdate,
GatewayChannelUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-update}
@@ -744,7 +776,10 @@ export type GatewayChannelUpdateDispatchData = GatewayChannelModifyDispatchData;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-delete}
*/
export type GatewayChannelDeleteDispatch = GatewayChannelModifyDispatch;
export type GatewayChannelDeleteDispatch = _DataPayload<
GatewayDispatchEvents.ChannelDelete,
GatewayChannelDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-delete}
@@ -804,7 +839,10 @@ export type GatewayEntitlementCreateDispatchData = GatewayEntitlementModifyDispa
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-create}
*/
export type GatewayEntitlementCreateDispatch = GatewayEntitlementModifyDispatch;
export type GatewayEntitlementCreateDispatch = _DataPayload<
GatewayDispatchEvents.EntitlementCreate,
GatewayEntitlementCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-update}
@@ -814,7 +852,10 @@ export type GatewayEntitlementUpdateDispatchData = GatewayEntitlementModifyDispa
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-update}
*/
export type GatewayEntitlementUpdateDispatch = GatewayEntitlementModifyDispatch;
export type GatewayEntitlementUpdateDispatch = _DataPayload<
GatewayDispatchEvents.EntitlementUpdate,
GatewayEntitlementUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-delete}
@@ -824,7 +865,10 @@ export type GatewayEntitlementDeleteDispatchData = GatewayEntitlementModifyDispa
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-delete}
*/
export type GatewayEntitlementDeleteDispatch = GatewayEntitlementModifyDispatch;
export type GatewayEntitlementDeleteDispatch = _DataPayload<
GatewayDispatchEvents.EntitlementDelete,
GatewayEntitlementDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-update}
@@ -999,7 +1043,10 @@ export interface GatewayGuildBanModifyDispatchData {
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-add}
*/
export type GatewayGuildBanAddDispatch = GatewayGuildBanModifyDispatch;
export type GatewayGuildBanAddDispatch = _DataPayload<
GatewayDispatchEvents.GuildBanAdd,
GatewayGuildBanAddDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-add}
@@ -1009,7 +1056,10 @@ export type GatewayGuildBanAddDispatchData = GatewayGuildBanModifyDispatchData;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove}
*/
export type GatewayGuildBanRemoveDispatch = GatewayGuildBanModifyDispatch;
export type GatewayGuildBanRemoveDispatch = _DataPayload<
GatewayDispatchEvents.GuildBanRemove,
GatewayGuildBanRemoveDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove}
@@ -1136,7 +1186,8 @@ export type GatewayGuildMemberUpdateDispatch = _DataPayload<
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-member-update}
*/
export interface GatewayGuildMemberUpdateDispatchData
extends APIGuildMemberJoined,
extends
APIGuildMemberJoined,
APIBaseGuildMember,
Partial<APIBaseVoiceGuildMember>,
Partial<APIFlaggedGuildMember>,
@@ -1225,7 +1276,10 @@ export interface GatewayGuildRoleModifyDispatchData {
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-create}
*/
export type GatewayGuildRoleCreateDispatch = GatewayGuildRoleModifyDispatch;
export type GatewayGuildRoleCreateDispatch = _DataPayload<
GatewayDispatchEvents.GuildRoleCreate,
GatewayGuildRoleCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-create}
@@ -1235,7 +1289,10 @@ export type GatewayGuildRoleCreateDispatchData = GatewayGuildRoleModifyDispatchD
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-update}
*/
export type GatewayGuildRoleUpdateDispatch = GatewayGuildRoleModifyDispatch;
export type GatewayGuildRoleUpdateDispatch = _DataPayload<
GatewayDispatchEvents.GuildRoleUpdate,
GatewayGuildRoleUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-update}
@@ -1325,7 +1382,7 @@ export interface GatewayGuildScheduledEventUserAddDispatchData {
*/
export type GatewayGuildScheduledEventUserRemoveDispatch = _DataPayload<
GatewayDispatchEvents.GuildScheduledEventUserRemove,
GatewayGuildScheduledEventUserAddDispatchData
GatewayGuildScheduledEventUserRemoveDispatchData
>;
/**
@@ -1519,7 +1576,7 @@ export interface GatewayInviteCreateDispatchData {
/**
* The time at which the invite was created
*/
created_at: number;
created_at: string;
/**
* The guild of the invite
*/
@@ -1623,7 +1680,8 @@ export type GatewayMessageUpdateDispatch = _DataPayload<
export interface GatewayMessageUpdateDispatchData extends GatewayMessageEventExtraFields, APIBaseMessage {}
export interface APIGuildMemberNoUser
extends APIBaseGuildMember,
extends
APIBaseGuildMember,
APIFlaggedGuildMember,
APIGuildMemberAvatar,
NonNullable<APIGuildMemberJoined>,

110
deno/gateway/v9.ts generated
View File

@@ -330,12 +330,17 @@ export type GatewayDispatchPayload =
| GatewayAutoModerationActionExecutionDispatch
| GatewayAutoModerationRuleCreateDispatch
| GatewayAutoModerationRuleDeleteDispatch
| GatewayAutoModerationRuleModifyDispatch
| GatewayChannelModifyDispatch
| GatewayAutoModerationRuleUpdateDispatch
| GatewayChannelCreateDispatch
| GatewayChannelDeleteDispatch
| GatewayChannelPinsUpdateDispatch
| GatewayEntitlementModifyDispatch
| GatewayChannelUpdateDispatch
| GatewayEntitlementCreateDispatch
| GatewayEntitlementDeleteDispatch
| GatewayEntitlementUpdateDispatch
| GatewayGuildAuditLogEntryCreateDispatch
| GatewayGuildBanModifyDispatch
| GatewayGuildBanAddDispatch
| GatewayGuildBanRemoveDispatch
| GatewayGuildCreateDispatch
| GatewayGuildDeleteDispatch
| GatewayGuildEmojisUpdateDispatch
@@ -345,8 +350,9 @@ export type GatewayDispatchPayload =
| GatewayGuildMembersChunkDispatch
| GatewayGuildMemberUpdateDispatch
| GatewayGuildModifyDispatch
| GatewayGuildRoleCreateDispatch
| GatewayGuildRoleDeleteDispatch
| GatewayGuildRoleModifyDispatch
| GatewayGuildRoleUpdateDispatch
| GatewayGuildScheduledEventCreateDispatch
| GatewayGuildScheduledEventDeleteDispatch
| GatewayGuildScheduledEventUpdateDispatch
@@ -381,7 +387,9 @@ export type GatewayDispatchPayload =
| GatewayStageInstanceCreateDispatch
| GatewayStageInstanceDeleteDispatch
| GatewayStageInstanceUpdateDispatch
| GatewaySubscriptionModifyDispatch
| GatewaySubscriptionCreateDispatch
| GatewaySubscriptionDeleteDispatch
| GatewaySubscriptionUpdateDispatch
| GatewayThreadCreateDispatch
| GatewayThreadDeleteDispatch
| GatewayThreadListSyncDispatch
@@ -528,7 +536,10 @@ export type GatewayAutoModerationRuleModifyDispatchData = APIAutoModerationRule;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create}
*/
export type GatewayAutoModerationRuleCreateDispatch = GatewayAutoModerationRuleModifyDispatch;
export type GatewayAutoModerationRuleCreateDispatch = _DataPayload<
GatewayDispatchEvents.AutoModerationRuleCreate,
GatewayAutoModerationRuleCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create}
@@ -538,7 +549,10 @@ export type GatewayAutoModerationRuleCreateDispatchData = GatewayAutoModerationR
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update}
*/
export type GatewayAutoModerationRuleUpdateDispatch = GatewayAutoModerationRuleModifyDispatch;
export type GatewayAutoModerationRuleUpdateDispatch = _DataPayload<
GatewayDispatchEvents.AutoModerationRuleUpdate,
GatewayAutoModerationRuleUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update}
@@ -548,7 +562,10 @@ export type GatewayAutoModerationRuleUpdateDispatchData = GatewayAutoModerationR
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete}
*/
export type GatewayAutoModerationRuleDeleteDispatch = GatewayAutoModerationRuleModifyDispatch;
export type GatewayAutoModerationRuleDeleteDispatch = _DataPayload<
GatewayDispatchEvents.AutoModerationRuleDelete,
GatewayAutoModerationRuleDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete}
@@ -673,7 +690,10 @@ export type GatewaySubscriptionModifyDispatchData = APISubscription;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-create}
*/
export type GatewaySubscriptionCreateDispatch = GatewaySubscriptionModifyDispatch;
export type GatewaySubscriptionCreateDispatch = _DataPayload<
GatewayDispatchEvents.SubscriptionCreate,
GatewaySubscriptionCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-create}
@@ -683,7 +703,10 @@ export type GatewaySubscriptionCreateDispatchData = GatewaySubscriptionModifyDis
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-update}
*/
export type GatewaySubscriptionUpdateDispatch = GatewaySubscriptionModifyDispatch;
export type GatewaySubscriptionUpdateDispatch = _DataPayload<
GatewayDispatchEvents.SubscriptionUpdate,
GatewaySubscriptionUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-update}
@@ -693,7 +716,10 @@ export type GatewaySubscriptionUpdateDispatchData = GatewaySubscriptionModifyDis
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-delete}
*/
export type GatewaySubscriptionDeleteDispatch = GatewaySubscriptionModifyDispatch;
export type GatewaySubscriptionDeleteDispatch = _DataPayload<
GatewayDispatchEvents.SubscriptionDelete,
GatewaySubscriptionDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-delete}
@@ -723,7 +749,10 @@ export type GatewayChannelModifyDispatchData = APIChannel & {
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-create}
*/
export type GatewayChannelCreateDispatch = GatewayChannelModifyDispatch;
export type GatewayChannelCreateDispatch = _DataPayload<
GatewayDispatchEvents.ChannelCreate,
GatewayChannelCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-create}
@@ -733,7 +762,10 @@ export type GatewayChannelCreateDispatchData = GatewayChannelModifyDispatchData;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-update}
*/
export type GatewayChannelUpdateDispatch = GatewayChannelModifyDispatch;
export type GatewayChannelUpdateDispatch = _DataPayload<
GatewayDispatchEvents.ChannelUpdate,
GatewayChannelUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-update}
@@ -743,7 +775,10 @@ export type GatewayChannelUpdateDispatchData = GatewayChannelModifyDispatchData;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-delete}
*/
export type GatewayChannelDeleteDispatch = GatewayChannelModifyDispatch;
export type GatewayChannelDeleteDispatch = _DataPayload<
GatewayDispatchEvents.ChannelDelete,
GatewayChannelDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-delete}
@@ -803,7 +838,10 @@ export type GatewayEntitlementCreateDispatchData = GatewayEntitlementModifyDispa
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-create}
*/
export type GatewayEntitlementCreateDispatch = GatewayEntitlementModifyDispatch;
export type GatewayEntitlementCreateDispatch = _DataPayload<
GatewayDispatchEvents.EntitlementCreate,
GatewayEntitlementCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-update}
@@ -813,7 +851,10 @@ export type GatewayEntitlementUpdateDispatchData = GatewayEntitlementModifyDispa
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-update}
*/
export type GatewayEntitlementUpdateDispatch = GatewayEntitlementModifyDispatch;
export type GatewayEntitlementUpdateDispatch = _DataPayload<
GatewayDispatchEvents.EntitlementUpdate,
GatewayEntitlementUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-delete}
@@ -823,7 +864,10 @@ export type GatewayEntitlementDeleteDispatchData = GatewayEntitlementModifyDispa
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-delete}
*/
export type GatewayEntitlementDeleteDispatch = GatewayEntitlementModifyDispatch;
export type GatewayEntitlementDeleteDispatch = _DataPayload<
GatewayDispatchEvents.EntitlementDelete,
GatewayEntitlementDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-update}
@@ -998,7 +1042,10 @@ export interface GatewayGuildBanModifyDispatchData {
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-add}
*/
export type GatewayGuildBanAddDispatch = GatewayGuildBanModifyDispatch;
export type GatewayGuildBanAddDispatch = _DataPayload<
GatewayDispatchEvents.GuildBanAdd,
GatewayGuildBanAddDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-add}
@@ -1008,7 +1055,10 @@ export type GatewayGuildBanAddDispatchData = GatewayGuildBanModifyDispatchData;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove}
*/
export type GatewayGuildBanRemoveDispatch = GatewayGuildBanModifyDispatch;
export type GatewayGuildBanRemoveDispatch = _DataPayload<
GatewayDispatchEvents.GuildBanRemove,
GatewayGuildBanRemoveDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove}
@@ -1135,7 +1185,8 @@ export type GatewayGuildMemberUpdateDispatch = _DataPayload<
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-member-update}
*/
export interface GatewayGuildMemberUpdateDispatchData
extends APIGuildMemberJoined,
extends
APIGuildMemberJoined,
APIBaseGuildMember,
Partial<APIBaseVoiceGuildMember>,
Partial<APIFlaggedGuildMember>,
@@ -1224,7 +1275,10 @@ export interface GatewayGuildRoleModifyDispatchData {
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-create}
*/
export type GatewayGuildRoleCreateDispatch = GatewayGuildRoleModifyDispatch;
export type GatewayGuildRoleCreateDispatch = _DataPayload<
GatewayDispatchEvents.GuildRoleCreate,
GatewayGuildRoleCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-create}
@@ -1234,7 +1288,10 @@ export type GatewayGuildRoleCreateDispatchData = GatewayGuildRoleModifyDispatchD
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-update}
*/
export type GatewayGuildRoleUpdateDispatch = GatewayGuildRoleModifyDispatch;
export type GatewayGuildRoleUpdateDispatch = _DataPayload<
GatewayDispatchEvents.GuildRoleUpdate,
GatewayGuildRoleUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-update}
@@ -1324,7 +1381,7 @@ export interface GatewayGuildScheduledEventUserAddDispatchData {
*/
export type GatewayGuildScheduledEventUserRemoveDispatch = _DataPayload<
GatewayDispatchEvents.GuildScheduledEventUserRemove,
GatewayGuildScheduledEventUserAddDispatchData
GatewayGuildScheduledEventUserRemoveDispatchData
>;
/**
@@ -1518,7 +1575,7 @@ export interface GatewayInviteCreateDispatchData {
/**
* The time at which the invite was created
*/
created_at: number;
created_at: string;
/**
* The guild of the invite
*/
@@ -1622,7 +1679,8 @@ export type GatewayMessageUpdateDispatch = _DataPayload<
export interface GatewayMessageUpdateDispatchData extends GatewayMessageEventExtraFields, APIBaseMessage {}
export interface APIGuildMemberNoUser
extends APIBaseGuildMember,
extends
APIBaseGuildMember,
APIFlaggedGuildMember,
APIGuildMemberAvatar,
NonNullable<APIGuildMemberJoined>,

10
deno/globals.ts generated
View File

@@ -8,6 +8,9 @@ export type Snowflake = string;
*/
export type Permissions = string;
const timestampStyles = 'DFRSTdfst';
const timestampLength = 13;
/**
* @see {@link https://discord.com/developers/docs/reference#message-formatting-formats}
*/
@@ -76,20 +79,19 @@ export const FormattingPatterns = {
*
* The `timestamp` and `style` group properties are present on the `exec` result of this expression
*/
// eslint-disable-next-line prefer-named-capture-group, unicorn/better-regex
Timestamp: /<t:(?<timestamp>-?\d{1,13})(:(?<style>[DFRSTdfst]))?>/,
Timestamp: new RegExp(`<t:(?<timestamp>-?\\d{1,${timestampLength}})(:(?<style>[${timestampStyles}]))?>`),
/**
* Regular expression for matching strictly default styled timestamps
*
* The `timestamp` group property is present on the `exec` result of this expression
*/
DefaultStyledTimestamp: /<t:(?<timestamp>-?\d{1,13})>/,
DefaultStyledTimestamp: new RegExp(`<t:(?<timestamp>-?\\d{1,${timestampLength}})>`),
/**
* Regular expression for matching strictly custom styled timestamps
*
* The `timestamp` and `style` group properties are present on the `exec` result of this expression
*/
StyledTimestamp: /<t:(?<timestamp>-?\d{1,13}):(?<style>[DFRTdft])>/,
StyledTimestamp: new RegExp(`<t:(?<timestamp>-?\\d{1,${timestampLength}}):(?<style>[${timestampStyles}])>`),
/**
* Regular expression for matching a guild navigation mention
*

View File

@@ -17,7 +17,6 @@ export const PermissionFlagsBits = {
/**
* Allows kicking members
*/
KickMembers: 1n << 1n,
/**
* Allows banning members
@@ -38,7 +37,7 @@ export const PermissionFlagsBits = {
*/
ManageGuild: 1n << 5n,
/**
* Allows for the addition of reactions to messages
* Allows for the addition of reactions to messages. This permission does not apply to reacting with an existing reaction on a message
*
* Applies to channel types: Text, Voice, Stage
*/
@@ -234,9 +233,9 @@ export const PermissionFlagsBits = {
*/
SendMessagesInThreads: 1n << 38n,
/**
* Allows for using Activities (applications with the {@link ApplicationFlags.Embedded} flag) in a voice channel
* Allows for using Activities (applications with the {@link ApplicationFlags.Embedded} flag)
*
* Applies to channel types: Voice
* Applies to channel types: Text, Voice
*/
UseEmbeddedActivities: 1n << 39n,
/**
@@ -294,6 +293,12 @@ export const PermissionFlagsBits = {
* Applies to channel types: Text
*/
PinMessages: 1n << 51n,
/**
* Allows bypassing slowmode restrictions
*
* Applies to channel types: Text, Voice, Stage
*/
BypassSlowmode: 1n << 52n,
} as const;
/**

View File

@@ -1,11 +1,10 @@
import type { Snowflake } from '../../../../../globals.ts';
import type { ChannelType } from '../../../channel.ts';
import type { ApplicationCommandOptionAllowedChannelType } from '../../../channel.ts';
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base.ts';
import type { ApplicationCommandOptionType } from './shared.ts';
export interface APIApplicationCommandChannelOption
extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Channel> {
channel_types?: Exclude<ChannelType, ChannelType.DM | ChannelType.GroupDM | ChannelType.GuildDirectory>[];
export interface APIApplicationCommandChannelOption extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Channel> {
channel_types?: ApplicationCommandOptionAllowedChannelType[];
}
export type APIApplicationCommandInteractionDataChannelOption = APIInteractionDataOptionBase<

View File

@@ -6,8 +6,7 @@ import type {
} from './base.ts';
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared.ts';
export interface APIApplicationCommandIntegerOptionBase
extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Integer> {
export interface APIApplicationCommandIntegerOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Integer> {
/**
* If the option is an `INTEGER` or `NUMBER` type, the minimum value permitted.
*/
@@ -23,10 +22,11 @@ export type APIApplicationCommandIntegerOption = APIApplicationCommandOptionWith
APIApplicationCommandOptionChoice<number>
>;
export interface APIApplicationCommandInteractionDataIntegerOption<Type extends InteractionType = InteractionType>
extends APIInteractionDataOptionBase<
ApplicationCommandOptionType.Integer,
Type extends InteractionType.ApplicationCommandAutocomplete ? string : number
> {
export interface APIApplicationCommandInteractionDataIntegerOption<
Type extends InteractionType = InteractionType,
> extends APIInteractionDataOptionBase<
ApplicationCommandOptionType.Integer,
Type extends InteractionType.ApplicationCommandAutocomplete ? string : number
> {
focused?: boolean;
}

View File

@@ -6,8 +6,7 @@ import type {
} from './base.ts';
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared.ts';
export interface APIApplicationCommandNumberOptionBase
extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Number> {
export interface APIApplicationCommandNumberOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Number> {
/**
* If the option is an `INTEGER` or `NUMBER` type, the minimum value permitted.
*/
@@ -23,10 +22,11 @@ export type APIApplicationCommandNumberOption = APIApplicationCommandOptionWithA
APIApplicationCommandOptionChoice<number>
>;
export interface APIApplicationCommandInteractionDataNumberOption<Type extends InteractionType = InteractionType>
extends APIInteractionDataOptionBase<
ApplicationCommandOptionType.Number,
Type extends InteractionType.ApplicationCommandAutocomplete ? string : number
> {
export interface APIApplicationCommandInteractionDataNumberOption<
Type extends InteractionType = InteractionType,
> extends APIInteractionDataOptionBase<
ApplicationCommandOptionType.Number,
Type extends InteractionType.ApplicationCommandAutocomplete ? string : number
> {
focused?: boolean;
}

View File

@@ -5,8 +5,7 @@ import type {
} from './base.ts';
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared.ts';
export interface APIApplicationCommandStringOptionBase
extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.String> {
export interface APIApplicationCommandStringOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.String> {
/**
* For option type `STRING`, the minimum allowed length (minimum of `0`, maximum of `6000`).
*/
@@ -22,7 +21,9 @@ export type APIApplicationCommandStringOption = APIApplicationCommandOptionWithA
APIApplicationCommandOptionChoice<string>
>;
export interface APIApplicationCommandInteractionDataStringOption
extends APIInteractionDataOptionBase<ApplicationCommandOptionType.String, string> {
export interface APIApplicationCommandInteractionDataStringOption extends APIInteractionDataOptionBase<
ApplicationCommandOptionType.String,
string
> {
focused?: boolean;
}

View File

@@ -3,8 +3,7 @@ import type { APIApplicationCommandBasicOption, APIApplicationCommandInteraction
import type { APIApplicationCommandOptionBase } from './base.ts';
import type { ApplicationCommandOptionType } from './shared.ts';
export interface APIApplicationCommandSubcommandOption
extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Subcommand> {
export interface APIApplicationCommandSubcommandOption extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Subcommand> {
options?: APIApplicationCommandBasicOption[];
}

View File

@@ -6,8 +6,7 @@ import type {
APIApplicationCommandSubcommandOption,
} from './subcommand.ts';
export interface APIApplicationCommandSubcommandGroupOption
extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.SubcommandGroup> {
export interface APIApplicationCommandSubcommandGroupOption extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.SubcommandGroup> {
options?: APIApplicationCommandSubcommandOption[];
}

View File

@@ -105,8 +105,7 @@ export type APIApplicationCommandInteractionDataBasicOption<Type extends Interac
/**
* @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data}
*/
export interface APIChatInputApplicationCommandInteractionData
extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.ChatInput> {
export interface APIChatInputApplicationCommandInteractionData extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.ChatInput> {
options?: APIApplicationCommandInteractionDataOption<InteractionType.ApplicationCommand>[];
resolved?: APIInteractionDataResolved;
}
@@ -114,8 +113,7 @@ export interface APIChatInputApplicationCommandInteractionData
/**
* @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data}
*/
export interface APIAutocompleteApplicationCommandInteractionData
extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.ChatInput> {
export interface APIAutocompleteApplicationCommandInteractionData extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.ChatInput> {
options?: APIApplicationCommandInteractionDataOption<InteractionType.ApplicationCommandAutocomplete>[];
resolved?: APIInteractionDataResolved;
}

View File

@@ -7,8 +7,7 @@ import type { APIBaseApplicationCommandInteractionData } from './internals.ts';
/**
* @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data}
*/
export interface APIUserApplicationCommandInteractionData
extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.User> {
export interface APIUserApplicationCommandInteractionData extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.User> {
target_id: Snowflake;
resolved: APIUserInteractionDataResolved;
}
@@ -16,8 +15,7 @@ export interface APIUserApplicationCommandInteractionData
/**
* @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data}
*/
export interface APIMessageApplicationCommandInteractionData
extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.Message> {
export interface APIMessageApplicationCommandInteractionData extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.Message> {
target_id: Snowflake;
resolved: APIMessageApplicationCommandInteractionDataResolved;
}

View File

@@ -48,8 +48,7 @@ export interface APIBaseInteractionMetadata<Type extends InteractionType> {
/**
* @see {@link https://discord.com/developers/docs/resources/message#message-interaction-metadata-object-application-command-interaction-metadata-structure}
*/
export interface APIApplicationCommandInteractionMetadata
extends APIBaseInteractionMetadata<InteractionType.ApplicationCommand> {
export interface APIApplicationCommandInteractionMetadata extends APIBaseInteractionMetadata<InteractionType.ApplicationCommand> {
/**
* The user the command was run on, present only on user commands interactions
*/
@@ -64,8 +63,7 @@ export interface APIApplicationCommandInteractionMetadata
/**
* @see {@link https://discord.com/developers/docs/resources/message#message-interaction-metadata-object-message-command-interaction-metadata-structure}
*/
export interface APIMessageComponentInteractionMetadata
extends APIBaseInteractionMetadata<InteractionType.MessageComponent> {
export interface APIMessageComponentInteractionMetadata extends APIBaseInteractionMetadata<InteractionType.MessageComponent> {
/**
* ID of the message that contained the interactive component
*/
@@ -254,10 +252,7 @@ export type APIInteractionDataResolvedChannel =
* @see {@link https://discord.com/developers/docs/resources/guild#guild-member-object}
*/
export interface APIInteractionDataResolvedGuildMember
extends APIBaseGuildMember,
APIFlaggedGuildMember,
APIGuildMemberAvatar,
APIGuildMemberJoined {
extends APIBaseGuildMember, APIFlaggedGuildMember, APIGuildMemberAvatar, APIGuildMemberJoined {
permissions: Permissions;
}

View File

@@ -56,31 +56,26 @@ export interface APIMessageComponentBaseInteractionData<CType extends ComponentT
export type APIMessageButtonInteractionData = APIMessageComponentBaseInteractionData<ComponentType.Button>;
export interface APIMessageStringSelectInteractionData
extends APIMessageComponentBaseInteractionData<ComponentType.StringSelect> {
export interface APIMessageStringSelectInteractionData extends APIMessageComponentBaseInteractionData<ComponentType.StringSelect> {
values: string[];
}
export interface APIMessageUserSelectInteractionData
extends APIMessageComponentBaseInteractionData<ComponentType.UserSelect> {
export interface APIMessageUserSelectInteractionData extends APIMessageComponentBaseInteractionData<ComponentType.UserSelect> {
values: Snowflake[];
resolved: APIUserInteractionDataResolved;
}
export interface APIMessageRoleSelectInteractionData
extends APIMessageComponentBaseInteractionData<ComponentType.RoleSelect> {
export interface APIMessageRoleSelectInteractionData extends APIMessageComponentBaseInteractionData<ComponentType.RoleSelect> {
values: Snowflake[];
resolved: Required<Pick<APIInteractionDataResolved, 'roles'>>;
}
export interface APIMessageMentionableSelectInteractionData
extends APIMessageComponentBaseInteractionData<ComponentType.MentionableSelect> {
export interface APIMessageMentionableSelectInteractionData extends APIMessageComponentBaseInteractionData<ComponentType.MentionableSelect> {
values: Snowflake[];
resolved: Pick<APIInteractionDataResolved, 'members' | 'roles' | 'users'>;
}
export interface APIMessageChannelSelectInteractionData
extends APIMessageComponentBaseInteractionData<ComponentType.ChannelSelect> {
export interface APIMessageChannelSelectInteractionData extends APIMessageComponentBaseInteractionData<ComponentType.ChannelSelect> {
values: Snowflake[];
resolved: Required<Pick<APIInteractionDataResolved, 'channels'>>;
}

View File

@@ -28,8 +28,7 @@ export interface APIModalSubmitRoleSelectComponent extends APIBaseModalSubmitCom
values: string[];
}
export interface APIModalSubmitMentionableSelectComponent
extends APIBaseModalSubmitComponent<ComponentType.MentionableSelect> {
export interface APIModalSubmitMentionableSelectComponent extends APIBaseModalSubmitComponent<ComponentType.MentionableSelect> {
values: string[];
}
@@ -41,10 +40,25 @@ export interface APIModalSubmitFileUploadComponent extends APIBaseModalSubmitCom
values: string[];
}
export interface APIModalSubmitRadioGroupComponent extends APIBaseModalSubmitComponent<ComponentType.RadioGroup> {
value: string | null;
}
export interface APIModalSubmitCheckboxGroupComponent extends APIBaseModalSubmitComponent<ComponentType.CheckboxGroup> {
values: string[];
}
export interface APIModalSubmitCheckboxComponent extends APIBaseModalSubmitComponent<ComponentType.Checkbox> {
value: boolean;
}
export type ModalSubmitComponent =
| APIModalSubmitChannelSelectComponent
| APIModalSubmitCheckboxComponent
| APIModalSubmitCheckboxGroupComponent
| APIModalSubmitFileUploadComponent
| APIModalSubmitMentionableSelectComponent
| APIModalSubmitRadioGroupComponent
| APIModalSubmitRoleSelectComponent
| APIModalSubmitStringSelectComponent
| APIModalSubmitTextInputComponent

View File

@@ -154,7 +154,7 @@ export interface APIApplication {
/**
* If webhook events are enabled for the app
*/
event_webhooks_status: ApplicationWebhookEventStatus;
event_webhooks_status?: ApplicationWebhookEventStatus;
/**
* List of webhook event types the app subscribes to
*/
@@ -317,6 +317,68 @@ export enum ApplicationRoleConnectionMetadataType {
BooleanNotEqual,
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-location-kind-enum}
*/
export enum ActivityLocationKind {
/**
* Location is a guild channel
*/
GuildChannel = 'gc',
/**
* Location is a private channel, such as a DM or GDM
*/
PrivateChannel = 'pc',
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-location-object}
*/
export interface APIActivityLocation {
/**
* Unique identifier for the location
*/
id: string;
/**
* Enum describing kind of location
*/
kind: ActivityLocationKind;
/**
* ID of the channel
*/
channel_id: Snowflake;
/**
* ID of the guild
*/
guild_id?: Snowflake | null;
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-instance-object}
*/
export interface APIActivityInstance {
/**
* Application ID
*/
application_id: Snowflake;
/**
* Activity instance ID
*/
instance_id: string;
/**
* Unique identifier for the launch
*/
launch_id: Snowflake;
/**
* Location the instance is running in
*/
location: APIActivityLocation;
/**
* IDs of the users currently connected to the instance
*/
users: Snowflake[];
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#application-object-application-event-webhook-status}
*/

View File

@@ -347,6 +347,13 @@ export interface APIAuditLogOptions {
* - MEMBER_ROLE_UPDATE
*/
integration_type?: APIGuildIntegrationType;
/**
* ID of the app whose permissions were targeted
*
* Present from:
* - APPLICATION_COMMAND_PERMISSION_UPDATE
*/
application_id?: Snowflake;
}
export enum AuditLogOptionsType {

View File

@@ -75,10 +75,15 @@ export type TextChannelType =
export type GuildChannelType = Exclude<ChannelType, ChannelType.DM | ChannelType.GroupDM>;
export type ApplicationCommandOptionAllowedChannelType = Exclude<
ChannelType,
ChannelType.DM | ChannelType.GroupDM | ChannelType.GuildDirectory
>;
export interface APISlowmodeChannel<T extends ChannelType> extends APIChannelBase<T> {
/**
* 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_CHANNELS`, are unaffected
* bots, as well as users with the permission `BYPASS_SLOWMODE`, are unaffected
*
* `rate_limit_per_user` also applies to thread creation. Users can send one message and create one thread during each `rate_limit_per_user` interval.
*
@@ -138,10 +143,7 @@ export interface APIGuildChannel<T extends GuildChannelType = GuildChannelType>
export type GuildTextChannelType = Exclude<TextChannelType, ChannelType.DM | ChannelType.GroupDM>;
export interface APIGuildTextChannel<T extends ChannelType.GuildForum | ChannelType.GuildMedia | GuildTextChannelType>
extends APITextBasedChannel<T>,
APIGuildChannel<T>,
APISortableChannel,
APIPinChannel<T> {
extends APITextBasedChannel<T>, APIGuildChannel<T>, APISortableChannel, APIPinChannel<T> {
/**
* Default duration for newly created threads, in minutes, to automatically archive the thread after recent activity
*/
@@ -164,10 +166,7 @@ export interface APIGuildCategoryChannel extends APIGuildChannel<ChannelType.Gui
}
export interface APIVoiceChannelBase<T extends GuildChannelType>
extends APIGuildChannel<T>,
APISortableChannel,
APITextBasedChannel<T>,
APISlowmodeChannel<T> {
extends APIGuildChannel<T>, APISortableChannel, APITextBasedChannel<T>, APISlowmodeChannel<T> {
/**
* The bitrate (in bits) of the voice or stage channel
*/
@@ -240,9 +239,7 @@ export interface APIGroupDMChannel extends APIDMChannelBase<ChannelType.GroupDM>
export type ThreadChannelType = ChannelType.AnnouncementThread | ChannelType.PrivateThread | ChannelType.PublicThread;
export interface APIThreadChannel<Type extends ThreadChannelType = ThreadChannelType>
extends APITextBasedChannel<Type>,
APIGuildChannel<Type>,
APIPinChannel<Type> {
extends APITextBasedChannel<Type>, APIGuildChannel<Type>, APIPinChannel<Type> {
/**
* The client users member for the thread, only included in select endpoints
*/
@@ -358,8 +355,7 @@ export enum ForumLayoutType {
}
export interface APIThreadOnlyChannel<T extends ChannelType.GuildForum | ChannelType.GuildMedia>
extends APIGuildChannel<T>,
APISortableChannel {
extends APIGuildChannel<T>, APISortableChannel {
/**
* The channel topic (0-4096 characters)
*/
@@ -370,7 +366,7 @@ export interface APIThreadOnlyChannel<T extends ChannelType.GuildForum | Channel
last_message_id?: Snowflake | null;
/**
* Amount of seconds a user has to wait before creating another thread (0-21600);
* bots, as well as users with the permission `MANAGE_MESSAGES` or `MANAGE_CHANNELS`, are unaffected
* bots, as well as users with the permission `BYPASS_SLOWMODE`, are unaffected
*
* The absence of this field in API calls and Gateway events should indicate that slowmode has been reset to the default value.
*/

View File

@@ -350,14 +350,57 @@ export interface GatewayActivityParty {
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-assets}
*/
export type GatewayActivityAssets = Partial<
Record<'large_image' | 'large_text' | 'large_url' | 'small_image' | 'small_text' | 'small_url', string>
>;
export interface GatewayActivityAssets {
/**
* @see {@link https://discord.com/developers/docs/events/gateway-events#activity-object-activity-asset-image}
*/
large_image?: string;
/**
* Text displayed when hovering over the large image of the activity
*/
large_text?: string;
/**
* URL that is opened when clicking on the large image
*/
large_url?: string;
/**
* @see {@link https://discord.com/developers/docs/events/gateway-events#activity-object-activity-asset-image}
*/
small_image?: string;
/**
* Text displayed when hovering over the small image of the activity
*/
small_text?: string;
/**
* URL that is opened when clicking on the small image
*/
small_url?: string;
/**
* Displayed as a banner on a Game Invite.
*
* @see {@link https://discord.com/developers/docs/events/gateway-events#activity-object-activity-asset-image | Activity Asset Image}
* @see {@link https://discord.com/developers/docs/discord-social-sdk/development-guides/managing-game-invites | Game Invite}
*/
invite_cover_image?: string;
}
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-secrets}
*/
export type GatewayActivitySecrets = Partial<Record<'join' | 'match' | 'spectate', string>>;
export interface GatewayActivitySecrets {
/**
* The secret for joining a party
*/
join?: string;
/**
* The secret for spectating a game
*/
spectate?: string;
/**
* The secret for a specific instance of a match
*/
match?: string;
}
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-flags}

View File

@@ -9,7 +9,7 @@ import type { PresenceUpdateReceiveStatus } from './gateway.ts';
import type { OAuth2Scopes } from './oauth2.ts';
import type { APIRole } from './permissions.ts';
import type { APISticker } from './sticker.ts';
import type { APIAvatarDecorationData, APIUser } from './user.ts';
import type { APIAvatarDecorationData, APICollectibles, APIUser } from './user.ts';
export interface APIBaseGuild {
/**
@@ -127,7 +127,7 @@ export interface APIGuild extends APIPartialGuild {
* @see {@link https://discord.com/developers/docs/resources/voice#voice-region-object}
* @deprecated This field has been deprecated in favor of `rtc_region` on the channel.
*/
region: string;
region?: string | null;
/**
* ID of afk channel
*/
@@ -275,7 +275,7 @@ export interface APIGuild extends APIPartialGuild {
*
* @see {@link https://discord.com/developers/docs/resources/sticker#sticker-object}
*/
stickers: APISticker[];
stickers?: APISticker[];
/**
* Whether the guild has the boost progress bar enabled.
*/
@@ -638,7 +638,7 @@ export interface APIGuildPreview {
/**
* The description for the guild
*/
description: string;
description: string | null;
/**
* Custom guild stickers
*/
@@ -695,6 +695,12 @@ export interface APIBaseGuildMember {
* @see {@link https://discord.com/developers/docs/resources/user#avatar-decoration-data-object}
*/
avatar_decoration_data?: APIAvatarDecorationData | null;
/**
* The data for the member's collectibles
*
* @see {@link https://discord.com/developers/docs/resources/user#collectibles}
*/
collectibles?: APICollectibles | null;
}
/**
@@ -765,7 +771,8 @@ export interface APIGuildMemberUser {
* @see {@link https://discord.com/developers/docs/resources/guild#guild-member-object}
*/
export interface APIGuildMember
extends APIBaseGuildMember,
extends
APIBaseGuildMember,
APIBaseVoiceGuildMember,
APIFlaggedGuildMember,
APIGuildMemberAvatar,

View File

@@ -181,8 +181,7 @@ export interface APIGuildScheduledEventRecurrenceRuleNWeekday {
*/
export type GuildScheduledEventRecurrenceRuleNWeekday = APIGuildScheduledEventRecurrenceRuleNWeekday;
export interface APIStageInstanceGuildScheduledEvent
extends APIGuildScheduledEventBase<GuildScheduledEventEntityType.StageInstance> {
export interface APIStageInstanceGuildScheduledEvent extends APIGuildScheduledEventBase<GuildScheduledEventEntityType.StageInstance> {
channel_id: Snowflake;
entity_metadata: null;
}
@@ -192,8 +191,7 @@ export interface APIVoiceGuildScheduledEvent extends APIGuildScheduledEventBase<
entity_metadata: null;
}
export interface APIExternalGuildScheduledEvent
extends APIGuildScheduledEventBase<GuildScheduledEventEntityType.External> {
export interface APIExternalGuildScheduledEvent extends APIGuildScheduledEventBase<GuildScheduledEventEntityType.External> {
channel_id: null;
entity_metadata: Required<APIGuildScheduledEventEntityMetadata>;
}

View File

@@ -3,7 +3,7 @@
import type { Snowflake } from '../../globals.ts';
import type { _NonNullableFields } from '../../utils/internals.ts';
import type { APIApplication } from './application.ts';
import type { APIChannel, ChannelType } from './channel.ts';
import type { APIChannel, APIThreadChannel, APIThreadMember, ChannelType } from './channel.ts';
import type { APIPartialEmoji } from './emoji.ts';
import type { APIInteractionDataResolved, APIMessageInteraction, APIMessageInteractionMetadata } from './interactions.ts';
import type { APIRole } from './permissions.ts';
@@ -87,7 +87,7 @@ export interface APIBaseMessageNoChannel {
*/
mention_channels?: APIChannelMention[];
/**
* Any attached files
* Any attached files that are not referenced in embeds or components
*
* @see {@link https://discord.com/developers/docs/resources/message#attachment-object-attachment-structure}
*
@@ -253,6 +253,10 @@ export interface APIBaseMessageNoChannel {
* The call associated with the message
*/
call?: APIMessageCall;
/**
* The custom client-side theme shared via the message
*/
shared_client_theme?: APIMessageSharedClientTheme;
}
/**
@@ -463,6 +467,39 @@ export interface APIMessageCall {
ended_timestamp?: string | null;
}
/**
* @see https://docs.discord.com/developers/resources/message#base-theme-types
*/
export enum BaseThemeType {
Unset,
Dark,
Light,
Darker,
Midnight,
}
/**
* @see https://docs.discord.com/developers/resources/message#shared-client-theme-object
*/
export interface APIMessageSharedClientTheme {
/**
* The hexadecimal-encoded colors of the theme (max of 5)
*/
colors: string[];
/**
* The direction of the theme's colors (max of 360)
*/
gradient_angle: number;
/**
* The intensity of the theme's colors (max of 100)
*/
base_mix: number;
/**
* The mode of the theme
*/
base_theme?: BaseThemeType | null;
}
/**
* @see {@link https://discord.com/developers/docs/resources/message#role-subscription-data-object-role-subscription-data-object-structure}
*/
@@ -580,9 +617,9 @@ export interface APIEmbed {
/**
* Thumbnail information
*
* @see {@link https://discord.com/developers/docs/resources/message#embed-object-embed-thumbnail-structure}
* @see {@link https://docs.discord.com/developers/resources/message#embed-object-embed-image-structure}
*/
thumbnail?: APIEmbedThumbnail;
thumbnail?: APIEmbedImage;
/**
* Video information
*
@@ -609,6 +646,13 @@ export interface APIEmbed {
* @see {@link https://discord.com/developers/docs/resources/message#embed-object-embed-field-structure}
*/
fields?: APIEmbedField[];
/**
* Embed flags combined as a bitfield
*
* @see {@link https://docs.discord.com/developers/resources/message#embed-object-embed-flags}
* @see {@link https://en.wikipedia.org/wiki/Bit_field}
*/
flags?: EmbedFlags;
}
/**
@@ -652,27 +696,30 @@ export enum EmbedType {
}
/**
* @see {@link https://discord.com/developers/docs/resources/message#embed-object-embed-thumbnail-structure}
* @see {@link https://docs.discord.com/developers/resources/message#embed-object-embed-flags}
*/
export interface APIEmbedThumbnail {
export enum EmbedFlags {
/**
* Source url of thumbnail (only supports http(s) and attachments)
* This embed is a fallback for a reply to an activity card
*/
url: string;
/**
* A proxied url of the thumbnail
*/
proxy_url?: string;
/**
* Height of thumbnail
*/
height?: number;
/**
* Width of thumbnail
*/
width?: number;
IsContentInventoryEntry = 1 << 5,
}
/**
* @see {@link https://docs.discord.com/developers/resources/message#embed-object-embed-media-flags}
*/
export enum EmbedMediaFlags {
/**
* This image is animated
*/
IsAnimated = 1 << 5,
}
/**
* @deprecated Use {@link APIEmbedImage} instead.
*/
export interface APIEmbedThumbnail extends APIEmbedImage {}
/**
* @see {@link https://discord.com/developers/docs/resources/message#embed-object-embed-video-structure}
*/
@@ -693,6 +740,33 @@ export interface APIEmbedVideo {
* Width of video
*/
width?: number;
/**
* The video's media type
*
* @see {@link https://en.wikipedia.org/wiki/Media_type}
*/
content_type?: string;
/**
* ThumbHash placeholder of the video
*
* @see {@link https://evanw.github.io/thumbhash/}
*/
placeholder?: string;
/**
* Version of the placeholder
*/
placeholder_version?: number;
/**
* Description (alt text) for the video
*/
description?: string;
/**
* Embed media flags combined as a bitfield
*
* @see {@link https://docs.discord.com/developers/resources/message#embed-object-embed-media-flags}
* @see {@link https://en.wikipedia.org/wiki/Bit_field}
*/
flags?: EmbedMediaFlags;
}
/**
@@ -715,6 +789,33 @@ export interface APIEmbedImage {
* Width of image
*/
width?: number;
/**
* The image's media type
*
* @see {@link https://en.wikipedia.org/wiki/Media_type}
*/
content_type?: string;
/**
* ThumbHash placeholder of the image
*
* @see {@link https://evanw.github.io/thumbhash/}
*/
placeholder?: string;
/**
* Version of the placeholder
*/
placeholder_version?: number;
/**
* Description (alt text) for the image
*/
description?: string;
/**
* Embed media flags combined as a bitfield
*
* @see {@link https://docs.discord.com/developers/resources/message#embed-object-embed-media-flags}
* @see {@link https://en.wikipedia.org/wiki/Bit_field}
*/
flags?: EmbedMediaFlags;
}
/**
@@ -810,11 +911,14 @@ export interface APIAttachment {
*/
filename: string;
/**
* The title of the file
* The original filename of the upload with special characters preserved
*
* This will be present when the filename contains special characters (e.g. Cyrillic),
* in which case the `filename` field will be a sanitized version without those characters
*/
title?: string;
/**
* Description for the file
* Description (alt text) for the file (max 1024 characters)
*/
description?: string;
/**
@@ -836,15 +940,27 @@ export interface APIAttachment {
*/
proxy_url: string;
/**
* Height of file (if image)
* Height of file (if image or video)
*/
height?: number | null;
/**
* Width of file (if image)
* Width of file (if image or video)
*/
width?: number | null;
/**
* ThumbHash placeholder (if image or video)
*
* @see {@link https://evanw.github.io/thumbhash/}
*/
placeholder?: string;
/**
* Version of the placeholder (if image or video)
*/
placeholder_version?: number;
/**
* Whether this attachment is ephemeral
*
* @remarks Ephemeral attachments will automatically be removed after a set period of time. Ephemeral attachments on messages are guaranteed to be available as long as the message itself exists.
*/
ephemeral?: boolean;
/**
@@ -859,16 +975,48 @@ export interface APIAttachment {
* Attachment flags combined as a bitfield
*/
flags?: AttachmentFlags;
/**
* For Clips, array of users who were in the stream
*/
clip_participants?: APIUser[];
/**
* For Clips, when the clip was created
*/
clip_created_at?: string;
/**
* For Clips, the application in the stream, if recognized
*/
application?: APIApplication | null;
}
/**
* @see {@link https://discord.com/developers/docs/resources/message#attachment-object-attachment-structure-attachment-flags}
* @see {@link https://docs.discord.com/developers/resources/message#attachment-object-attachment-flags}
*/
export enum AttachmentFlags {
/**
* This attachment is a Clip from a stream
*
* @see {@link https://support.discord.com/hc/en-us/articles/16861982215703}
*/
IsClip = 1 << 0,
/**
* This attachment is the thumbnail of a thread in a media channel, displayed in the grid but not on the message
*/
IsThumbnail = 1 << 1,
/**
* This attachment has been edited using the remix feature on mobile
*
* @deprecated
*/
IsRemix = 1 << 2,
/**
* This attachment was marked as a spoiler and is blurred until clicked
*/
IsSpoiler = 1 << 3,
/**
* This attachment is an animated image
*/
IsAnimated = 1 << 5,
}
/**
@@ -1031,6 +1179,18 @@ export enum ComponentType {
* Component for uploading files
*/
FileUpload,
/**
* Single-choice set of radio group option
*/
RadioGroup = 21,
/**
* Multi-select group of checkboxes
*/
CheckboxGroup,
/**
* Single checkbox for binary choice
*/
Checkbox,
// EVERYTHING BELOW THIS LINE SHOULD BE OLD NAMES FOR RENAMED ENUM MEMBERS //
/**
@@ -1046,8 +1206,9 @@ export enum ComponentType {
*
* @see {@link https://discord.com/developers/docs/components/reference#action-row}
*/
export interface APIActionRowComponent<T extends APIComponentInActionRow>
extends APIBaseComponent<ComponentType.ActionRow> {
export interface APIActionRowComponent<
T extends APIComponentInActionRow,
> extends APIBaseComponent<ComponentType.ActionRow> {
/**
* The components in the ActionRow
*/
@@ -1097,10 +1258,9 @@ export interface APIMessageComponentEmoji {
/**
* @see {@link https://discord.com/developers/docs/components/reference#button}
*/
export interface APIButtonComponentWithCustomId
extends APIButtonComponentBase<
ButtonStyle.Danger | ButtonStyle.Primary | ButtonStyle.Secondary | ButtonStyle.Success
> {
export interface APIButtonComponentWithCustomId extends APIButtonComponentBase<
ButtonStyle.Danger | ButtonStyle.Primary | ButtonStyle.Secondary | ButtonStyle.Success
> {
/**
* The custom_id to be sent in the interaction when clicked
*/
@@ -1312,8 +1472,10 @@ export type APIMentionableSelectComponent = APIBaseAutoPopulatedSelectMenuCompon
*
* @see {@link https://discord.com/developers/docs/components/reference#channel-select}
*/
export interface APIChannelSelectComponent
extends APIBaseAutoPopulatedSelectMenuComponent<ComponentType.ChannelSelect, SelectMenuDefaultValueType.Channel> {
export interface APIChannelSelectComponent extends APIBaseAutoPopulatedSelectMenuComponent<
ComponentType.ChannelSelect,
SelectMenuDefaultValueType.Channel
> {
/**
* List of channel types to include in the ChannelSelect component
*/
@@ -1428,6 +1590,9 @@ export interface APITextInputComponent extends APIBaseComponent<ComponentType.Te
required?: boolean;
}
/**
* @unstable This enum is currently not documented by Discord
*/
export enum UnfurledMediaItemLoadingState {
Unknown,
Loading,
@@ -1440,37 +1605,78 @@ export enum UnfurledMediaItemLoadingState {
*/
export interface APIUnfurledMediaItem {
/**
* Supports arbitrary urls and attachment://<filename> references
* Supports arbitrary urls and `attachment://<filename>` references
*/
url: string;
/**
* The proxied url of the media item. This field is ignored and provided by the API as part of the response
* The proxied url of the media item
*
* @remarks This field is ignored and provided by the API as part of the response.
*/
proxy_url?: string;
/**
* The width of the media item. This field is ignored and provided by the API as part of the response
* The width of the media item (if image or video)
*
* @remarks This field is ignored and provided by the API as part of the response.
*/
width?: number | null;
/**
* The height of the media item. This field is ignored and provided by the API as part of the response
* The height of the media item (if image or video)
*
* @remarks This field is ignored and provided by the API as part of the response.
*/
height?: number | null;
/**
* ThumbHash placeholder (if image or video)
*
* @remarks This field is ignored and provided by the API as part of the response.
* @see {@link https://evanw.github.io/thumbhash/}
*/
placeholder?: string | null;
/**
* Version of the placeholder (if image or video)
*
* @remarks This field is ignored and provided by the API as part of the response.
*/
placeholder_version?: number | null;
/**
* The media type of the content. This field is ignored and provided by the API as part of the response
* The media type of the content
*
* @remarks This field is ignored and provided by the API as part of the response.
* @see {@link https://en.wikipedia.org/wiki/Media_type}
*/
content_type?: string | null;
loading_state?: UnfurledMediaItemLoadingState;
flags?: number;
/**
* The id of the uploaded attachment. This field is ignored and provided by the API as part of the response
* @unstable This field is currently not documented by Discord
*/
loading_state?: UnfurledMediaItemLoadingState;
/**
* Unfurled media item flags combined as a bitfield
*
* @remarks This field is ignored and provided by the API as part of the response.
* @see {@link https://docs.discord.com/developers/components/reference#unfurled-media-item-unfurled-media-item-flags}
* @see {@link https://en.wikipedia.org/wiki/Bit_field}
*/
flags?: UnfurledMediaItemFlags;
/**
* The id of the uploaded attachment.
*
* @remarks This field is ignored and provided by the API as part of the response.
* @remarks Only present if the media item was uploaded as an attachment.
*/
attachment_id?: Snowflake;
}
/**
* @see {@link https://docs.discord.com/developers/components/reference#unfurled-media-item-unfurled-media-item-flags}
*/
export enum UnfurledMediaItemFlags {
/**
* This image is animated
*/
IsAnimated = 1 << 0,
}
/**
* A Section is a top-level layout component that allows you to join text contextually with an accessory.
*
@@ -1685,11 +1891,129 @@ export interface APIFileUploadComponent extends APIBaseComponent<ComponentType.F
*/
max_values?: number;
/**
* Whether the file upload requires files to be uploaded before submitting the modal (defaults to `true`)
* Whether the file upload requires files to be uploaded before submitting the modal
*
* @defaultValue `true`
*/
required?: boolean;
}
/**
* @see {@link https://discord.com/developers/docs/components/reference#radio-group}
*/
export interface APIRadioGroupComponent extends APIBaseComponent<ComponentType.RadioGroup> {
/**
* Id for the radio group; max 100 characters
*/
custom_id: string;
/**
* 2-10 radio group options within the radio group component
*/
options: APIRadioGroupOption[];
/**
* Whether the radio group requires selection before submitting the modal
*
* @defaultValue `true`
*/
required?: boolean;
}
/**
* @see {@link https://discord.com/developers/docs/components/reference#radio-group-option-structure}
*/
export interface APIRadioGroupOption {
/**
* The value of the radio group option; max 100 characters
*/
value: string;
/**
* The label text; max 100 characters
*/
label: string;
/**
* An optional description for the radio group option; max 100 characters
*/
description?: string;
/**
* Whether this option is selected by default
*
* @defaultValue `false`
*/
default?: boolean;
}
/**
* @see {@link https://discord.com/developers/docs/components/reference#checkbox-group}
*/
export interface APICheckboxGroupComponent extends APIBaseComponent<ComponentType.CheckboxGroup> {
/**
* Id for the checkbox group; max 100 characters
*/
custom_id: string;
/**
* Checkbox group option within the component; max 10
*/
options: APICheckboxGroupOption[];
/**
* Minimum number of checkbox that can be selected; min 0, max 10
*
* @defaultValue `1`
*/
min_values?: number;
/**
* Maximum number of checkbox that can be selected; min 1, max 10
*
* @defaultValue {@link APICheckboxGroupComponent.options} length
*/
max_values?: number;
/**
* Whether selecting within the group is required before submitting the modal
*
* @defaultValue `true`
*/
required?: boolean;
}
/**
* @see {@link https://discord.com/developers/docs/components/reference#checkbox-group-option-structure}
*/
export interface APICheckboxGroupOption {
/**
* The value of the checkbox group option; max 100 characters
*/
value: string;
/**
* The label text; max 100 characters
*/
label: string;
/**
* An optional description for the checkbox group option; max 100 characters;
*/
description?: string;
/**
* Whether this option is selected by default
*
* @defaultValue `false`
*/
default?: boolean;
}
/**
* @see {@link https://discord.com/developers/docs/components/reference#checkbox}
*/
export interface APICheckboxComponent extends APIBaseComponent<ComponentType.Checkbox> {
/**
* Id for the checkbox; max 100 characters
*/
custom_id: string;
/**
* Whether this checkbox is selected by default
*
* @defaultValue `false`
*/
default?: boolean;
}
/**
* @see {@link https://discord.com/developers/docs/resources/message#message-snapshot-object}
*/
@@ -1770,7 +2094,13 @@ export type APIComponentInModalActionRow = APITextInputComponent;
/**
* @see {@link https://discord.com/developers/docs/components/reference#label-label-child-components}
*/
export type APIComponentInLabel = APIFileUploadComponent | APISelectMenuComponent | APITextInputComponent;
export type APIComponentInLabel =
| APICheckboxComponent
| APICheckboxGroupComponent
| APIFileUploadComponent
| APIRadioGroupComponent
| APISelectMenuComponent
| APITextInputComponent;
/**
* @see {@link https://discord.com/developers/docs/components/reference#section}
@@ -1820,3 +2150,198 @@ export interface APIMessagePin {
*/
message: APIMessage;
}
/**
* @remarks All types can be negated by prefixing them with `-`, which means results will not include messages that match the type.
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-author-types}
*/
export enum MessageSearchAuthorType {
/**
* Return messages sent by user accounts
*/
User = 'user',
/**
* Return messages sent by bot accounts
*/
Bot = 'bot',
/**
* Return messages sent by webhooks
*/
Webhook = 'webhook',
/**
* Return messages not sent by user accounts
*/
NotUser = '-user',
/**
* Return messages not sent by bot accounts
*/
NotBot = '-bot',
/**
* Return messages not sent by webhooks
*/
NotWebhook = '-webhook',
}
/**
* @remarks All types can be negated by prefixing them with `-`, which means results will not include messages that match the type.
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-search-has-types}
*/
export enum MessageSearchHasType {
/**
* Return messages that have an image
*/
Image = 'image',
/**
* Return messages that have a sound attachment
*/
Sound = 'sound',
/**
* Return messages that have a video
*/
Video = 'video',
/**
* Return messages that have an attachment
*/
File = 'file',
/**
* Return messages that have a sent sticker
*/
Sticker = 'sticker',
/**
* Return messages that have an embed
*/
Embed = 'embed',
/**
* Return messages that have a link
*/
Link = 'link',
/**
* Return messages that have a poll
*/
Poll = 'poll',
/**
* Return messages that have a forwarded message
*/
Snapshot = 'snapshot',
/**
* Return messages that don't have an image
*/
NotImage = '-image',
/**
* Return messages that don't have a sound attachment
*/
NotSound = '-sound',
/**
* Return messages that don't have a video
*/
NotVideo = '-video',
/**
* Return messages that don't have an attachment
*/
NotFile = '-file',
/**
* Return messages that don't have a sent sticker
*/
NotSticker = '-sticker',
/**
* Return messages that don't have an embed
*/
NotEmbed = '-embed',
/**
* Return messages that don't have a link
*/
NotLink = '-link',
/**
* Return messages that don't have a poll
*/
NotPoll = '-poll',
/**
* Return messages that don't have a forwarded message
*/
NotSnapshot = '-snapshot',
}
/**
* @remarks These do not correspond 1:1 to actual {@link https://docs.discord.com/developers/resources/message#embed-object-embed-types | embed types} and encompass a wider range of actual types.
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-search-embed-types}
*/
export enum MessageSearchEmbedType {
/**
* Return messages that have an image embed
*/
Image = 'image',
/**
* Return messages that have a video embed
*/
Video = 'video',
/**
* Return messages that have a gifv embed
*
* @remarks Messages sent before February 24, 2026 may not be properly indexed under the `gif` embed type.
*/
Gif = 'gif',
/**
* Return messages that have a sound embed
*/
Sound = 'sound',
/**
* Return messages that have an article embed
*/
Article = 'article',
}
/**
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-search-sort-modes}
*/
export enum MessageSearchSortMode {
/**
* Sort by the message creation time (default)
*/
Timestamp = 'timestamp',
/**
* Sort by the relevance of the message to the search query
*/
Relevance = 'relevance',
}
/**
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages}
*/
export interface APIMessageSearchIndexNotReadyResponse {
message: string;
code: number;
documents_indexed: number;
retry_after: number;
}
/**
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-response-body}
*/
export interface APIMessageSearchResult {
/**
* Whether the guild is undergoing a deep historical indexing operation
*/
doing_deep_historical_index: boolean;
/**
* The number of documents that have been indexed during the current index operation, if any
*/
documents_indexed?: number;
/**
* The total number of results that match the query
*/
total_results: number;
/**
* A nested array of messages that match the query
*
* @remarks The nested array was used to provide surrounding context to search results. However, surrounding context is no longer returned.
*/
messages: Omit<APIMessage, 'reactions'>[][];
/**
* The threads that contain the returned messages
*/
threads?: APIThreadChannel[];
/**
* A thread member object for each returned thread the current user has joined
*/
members?: APIThreadMember[];
}

View File

@@ -19,13 +19,14 @@ export interface APIRole {
/**
* Integer representation of hexadecimal color code
*
* @deprecated Use `colors` instead.
* @remarks `color` will still be returned by the API, but using the `colors` field is recommended when doing requests.
*/
color: number;
/**
* The role's colors
*/
colors?: APIRoleColors;
colors: APIRoleColors;
/**
* If this role is pinned in the user listing
*/

View File

@@ -37,7 +37,7 @@ export interface APIPoll extends APIBasePoll, APIPollDefaults {
/**
* The time when the poll ends (IS08601 timestamp)
*/
expiry: string;
expiry: string | null;
/**
* The results of the poll
*/

View File

@@ -22,7 +22,7 @@ export interface APIUser {
*/
discriminator: string;
/**
* The user's display name, if it is set. For bots, this is the application name
* The user's display name, if it is set
*/
global_name: string | null;
/**
@@ -194,6 +194,8 @@ export enum UserFlags {
DisablePremium = 1 << 21,
/**
* User is an {@link https://support-dev.discord.com/hc/articles/10113997751447 | Active Developer}
*
* @deprecated This user flag is no longer available. See {@link https://support-dev.discord.com/hc/articles/10113997751447-Active-Developer-Badge} for more information.
*/
ActiveDeveloper = 1 << 22,
/**

View File

@@ -30,11 +30,11 @@ export interface APIWebhook {
/**
* The guild id this webhook is for
*/
guild_id?: Snowflake;
guild_id?: Snowflake | null;
/**
* The channel id this webhook is for
*/
channel_id: Snowflake;
channel_id: Snowflake | null;
/**
* The user this webhook was created by (not returned when getting a webhook with its token)
*
@@ -123,14 +123,8 @@ export interface APIWebhookEventApplicationDeauthorizedData {
export type APIWebhookEventEntitlementCreateData = APIEntitlement;
/**
* @unstable
*/
export type APIWebhookEventEntitlementDeleteData = APIEntitlement;
/**
* @unstable
*/
export type APIWebhookEventEntitlementUpdateData = APIEntitlement;
export type APIWebhookEventQuestUserEnrollmentData = never;
@@ -201,14 +195,10 @@ export enum ApplicationWebhookEventType {
EntitlementCreate = 'ENTITLEMENT_CREATE',
/**
* Entitlement was updated
*
* @unstable This event is not yet documented but can be enabled from the developer portal
*/
EntitlementUpdate = 'ENTITLEMENT_UPDATE',
/**
* Entitlement was deleted
*
* @unstable This event is not yet documented but can be enabled from the developer portal
*/
EntitlementDelete = 'ENTITLEMENT_DELETE',
/**

View File

@@ -3,8 +3,7 @@ import type { ChannelType } from '../../../channel.ts';
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base.ts';
import type { ApplicationCommandOptionType } from './shared.ts';
export interface APIApplicationCommandChannelOption
extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Channel> {
export interface APIApplicationCommandChannelOption extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Channel> {
channel_types?: Exclude<ChannelType, ChannelType.DM | ChannelType.GroupDM | ChannelType.GuildDirectory>[];
}

View File

@@ -6,8 +6,7 @@ import type {
} from './base.ts';
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared.ts';
export interface APIApplicationCommandIntegerOptionBase
extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Integer> {
export interface APIApplicationCommandIntegerOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Integer> {
/**
* If the option is an `INTEGER` or `NUMBER` type, the minimum value permitted.
*/
@@ -23,10 +22,11 @@ export type APIApplicationCommandIntegerOption = APIApplicationCommandOptionWith
APIApplicationCommandOptionChoice<number>
>;
export interface APIApplicationCommandInteractionDataIntegerOption<Type extends InteractionType = InteractionType>
extends APIInteractionDataOptionBase<
ApplicationCommandOptionType.Integer,
Type extends InteractionType.ApplicationCommandAutocomplete ? string : number
> {
export interface APIApplicationCommandInteractionDataIntegerOption<
Type extends InteractionType = InteractionType,
> extends APIInteractionDataOptionBase<
ApplicationCommandOptionType.Integer,
Type extends InteractionType.ApplicationCommandAutocomplete ? string : number
> {
focused?: boolean;
}

View File

@@ -6,8 +6,7 @@ import type {
} from './base.ts';
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared.ts';
export interface APIApplicationCommandNumberOptionBase
extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Number> {
export interface APIApplicationCommandNumberOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Number> {
/**
* If the option is an `INTEGER` or `NUMBER` type, the minimum value permitted.
*/
@@ -23,10 +22,11 @@ export type APIApplicationCommandNumberOption = APIApplicationCommandOptionWithA
APIApplicationCommandOptionChoice<number>
>;
export interface APIApplicationCommandInteractionDataNumberOption<Type extends InteractionType = InteractionType>
extends APIInteractionDataOptionBase<
ApplicationCommandOptionType.Number,
Type extends InteractionType.ApplicationCommandAutocomplete ? string : number
> {
export interface APIApplicationCommandInteractionDataNumberOption<
Type extends InteractionType = InteractionType,
> extends APIInteractionDataOptionBase<
ApplicationCommandOptionType.Number,
Type extends InteractionType.ApplicationCommandAutocomplete ? string : number
> {
focused?: boolean;
}

View File

@@ -5,8 +5,7 @@ import type {
} from './base.ts';
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared.ts';
export interface APIApplicationCommandStringOptionBase
extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.String> {
export interface APIApplicationCommandStringOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.String> {
/**
* For option type `STRING`, the minimum allowed length (minimum of `0`, maximum of `6000`).
*/
@@ -22,7 +21,9 @@ export type APIApplicationCommandStringOption = APIApplicationCommandOptionWithA
APIApplicationCommandOptionChoice<string>
>;
export interface APIApplicationCommandInteractionDataStringOption
extends APIInteractionDataOptionBase<ApplicationCommandOptionType.String, string> {
export interface APIApplicationCommandInteractionDataStringOption extends APIInteractionDataOptionBase<
ApplicationCommandOptionType.String,
string
> {
focused?: boolean;
}

View File

@@ -3,8 +3,7 @@ import type { APIApplicationCommandBasicOption, APIApplicationCommandInteraction
import type { APIApplicationCommandOptionBase } from './base.ts';
import type { ApplicationCommandOptionType } from './shared.ts';
export interface APIApplicationCommandSubcommandOption
extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Subcommand> {
export interface APIApplicationCommandSubcommandOption extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Subcommand> {
options?: APIApplicationCommandBasicOption[];
}

View File

@@ -6,8 +6,7 @@ import type {
APIApplicationCommandSubcommandOption,
} from './subcommand.ts';
export interface APIApplicationCommandSubcommandGroupOption
extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.SubcommandGroup> {
export interface APIApplicationCommandSubcommandGroupOption extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.SubcommandGroup> {
options?: APIApplicationCommandSubcommandOption[];
}

View File

@@ -105,8 +105,7 @@ export type APIApplicationCommandInteractionDataBasicOption<Type extends Interac
/**
* @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data}
*/
export interface APIChatInputApplicationCommandInteractionData
extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.ChatInput> {
export interface APIChatInputApplicationCommandInteractionData extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.ChatInput> {
options?: APIApplicationCommandInteractionDataOption<InteractionType.ApplicationCommand>[];
resolved?: APIInteractionDataResolved;
}
@@ -114,8 +113,7 @@ export interface APIChatInputApplicationCommandInteractionData
/**
* @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data}
*/
export interface APIAutocompleteApplicationCommandInteractionData
extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.ChatInput> {
export interface APIAutocompleteApplicationCommandInteractionData extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.ChatInput> {
options?: APIApplicationCommandInteractionDataOption<InteractionType.ApplicationCommandAutocomplete>[];
resolved?: APIInteractionDataResolved;
}

View File

@@ -7,8 +7,7 @@ import type { APIBaseApplicationCommandInteractionData } from './internals.ts';
/**
* @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data}
*/
export interface APIUserApplicationCommandInteractionData
extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.User> {
export interface APIUserApplicationCommandInteractionData extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.User> {
target_id: Snowflake;
resolved: APIUserInteractionDataResolved;
}
@@ -16,8 +15,7 @@ export interface APIUserApplicationCommandInteractionData
/**
* @see {@link https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data}
*/
export interface APIMessageApplicationCommandInteractionData
extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.Message> {
export interface APIMessageApplicationCommandInteractionData extends APIBaseApplicationCommandInteractionData<ApplicationCommandType.Message> {
target_id: Snowflake;
resolved: APIMessageApplicationCommandInteractionDataResolved;
}

View File

@@ -51,8 +51,7 @@ export interface APIBaseInteractionMetadata<Type extends InteractionType> {
/**
* @see {@link https://discord.com/developers/docs/resources/message#message-interaction-metadata-object-application-command-interaction-metadata-structure}
*/
export interface APIApplicationCommandInteractionMetadata
extends APIBaseInteractionMetadata<InteractionType.ApplicationCommand> {
export interface APIApplicationCommandInteractionMetadata extends APIBaseInteractionMetadata<InteractionType.ApplicationCommand> {
/**
* The user the command was run on, present only on user commands interactions
*/
@@ -67,8 +66,7 @@ export interface APIApplicationCommandInteractionMetadata
/**
* @see {@link https://discord.com/developers/docs/resources/message#message-interaction-metadata-object-message-command-interaction-metadata-structure}
*/
export interface APIMessageComponentInteractionMetadata
extends APIBaseInteractionMetadata<InteractionType.MessageComponent> {
export interface APIMessageComponentInteractionMetadata extends APIBaseInteractionMetadata<InteractionType.MessageComponent> {
/**
* ID of the message that contained the interactive component
*/
@@ -257,10 +255,7 @@ export type APIInteractionDataResolvedChannel =
* @see {@link https://discord.com/developers/docs/resources/guild#guild-member-object}
*/
export interface APIInteractionDataResolvedGuildMember
extends APIBaseGuildMember,
APIFlaggedGuildMember,
APIGuildMemberAvatar,
APIGuildMemberJoined {
extends APIBaseGuildMember, APIFlaggedGuildMember, APIGuildMemberAvatar, APIGuildMemberJoined {
permissions: Permissions;
}

View File

@@ -56,31 +56,26 @@ export interface APIMessageComponentBaseInteractionData<CType extends ComponentT
export type APIMessageButtonInteractionData = APIMessageComponentBaseInteractionData<ComponentType.Button>;
export interface APIMessageStringSelectInteractionData
extends APIMessageComponentBaseInteractionData<ComponentType.StringSelect> {
export interface APIMessageStringSelectInteractionData extends APIMessageComponentBaseInteractionData<ComponentType.StringSelect> {
values: string[];
}
export interface APIMessageUserSelectInteractionData
extends APIMessageComponentBaseInteractionData<ComponentType.UserSelect> {
export interface APIMessageUserSelectInteractionData extends APIMessageComponentBaseInteractionData<ComponentType.UserSelect> {
values: Snowflake[];
resolved: APIUserInteractionDataResolved;
}
export interface APIMessageRoleSelectInteractionData
extends APIMessageComponentBaseInteractionData<ComponentType.RoleSelect> {
export interface APIMessageRoleSelectInteractionData extends APIMessageComponentBaseInteractionData<ComponentType.RoleSelect> {
values: Snowflake[];
resolved: Required<Pick<APIInteractionDataResolved, 'roles'>>;
}
export interface APIMessageMentionableSelectInteractionData
extends APIMessageComponentBaseInteractionData<ComponentType.MentionableSelect> {
export interface APIMessageMentionableSelectInteractionData extends APIMessageComponentBaseInteractionData<ComponentType.MentionableSelect> {
values: Snowflake[];
resolved: Pick<APIInteractionDataResolved, 'members' | 'roles' | 'users'>;
}
export interface APIMessageChannelSelectInteractionData
extends APIMessageComponentBaseInteractionData<ComponentType.ChannelSelect> {
export interface APIMessageChannelSelectInteractionData extends APIMessageComponentBaseInteractionData<ComponentType.ChannelSelect> {
values: Snowflake[];
resolved: Required<Pick<APIInteractionDataResolved, 'channels'>>;
}

View File

@@ -28,8 +28,7 @@ export interface APIModalSubmitRoleSelectComponent extends APIBaseModalSubmitCom
values: string[];
}
export interface APIModalSubmitMentionableSelectComponent
extends APIBaseModalSubmitComponent<ComponentType.MentionableSelect> {
export interface APIModalSubmitMentionableSelectComponent extends APIBaseModalSubmitComponent<ComponentType.MentionableSelect> {
values: string[];
}
@@ -41,10 +40,25 @@ export interface APIModalSubmitFileUploadComponent extends APIBaseModalSubmitCom
values: string[];
}
export interface APIModalSubmitRadioGroupComponent extends APIBaseModalSubmitComponent<ComponentType.RadioGroup> {
value: string | null;
}
export interface APIModalSubmitCheckboxGroupComponent extends APIBaseModalSubmitComponent<ComponentType.CheckboxGroup> {
values: string[];
}
export interface APIModalSubmitCheckboxComponent extends APIBaseModalSubmitComponent<ComponentType.Checkbox> {
value: boolean;
}
export type ModalSubmitComponent =
| APIModalSubmitChannelSelectComponent
| APIModalSubmitCheckboxComponent
| APIModalSubmitCheckboxGroupComponent
| APIModalSubmitFileUploadComponent
| APIModalSubmitMentionableSelectComponent
| APIModalSubmitRadioGroupComponent
| APIModalSubmitRoleSelectComponent
| APIModalSubmitStringSelectComponent
| APIModalSubmitTextInputComponent

View File

@@ -154,7 +154,7 @@ export interface APIApplication {
/**
* If webhook events are enabled for the app
*/
event_webhooks_status: ApplicationWebhookEventStatus;
event_webhooks_status?: ApplicationWebhookEventStatus;
/**
* List of webhook event types the app subscribes to
*/
@@ -317,6 +317,68 @@ export enum ApplicationRoleConnectionMetadataType {
BooleanNotEqual,
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-location-kind-enum}
*/
export enum ActivityLocationKind {
/**
* Location is a guild channel
*/
GuildChannel = 'gc',
/**
* Location is a private channel, such as a DM or GDM
*/
PrivateChannel = 'pc',
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-location-object}
*/
export interface APIActivityLocation {
/**
* Unique identifier for the location
*/
id: string;
/**
* Enum describing kind of location
*/
kind: ActivityLocationKind;
/**
* ID of the channel
*/
channel_id: Snowflake;
/**
* ID of the guild
*/
guild_id?: Snowflake | null;
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-instance-object}
*/
export interface APIActivityInstance {
/**
* Application ID
*/
application_id: Snowflake;
/**
* Activity instance ID
*/
instance_id: string;
/**
* Unique identifier for the launch
*/
launch_id: Snowflake;
/**
* Location the instance is running in
*/
location: APIActivityLocation;
/**
* IDs of the users currently connected to the instance
*/
users: Snowflake[];
}
/**
* @see {@link https://discord.com/developers/docs/resources/application#application-object-application-event-webhook-status}
*/

View File

@@ -347,6 +347,13 @@ export interface APIAuditLogOptions {
* - MEMBER_ROLE_UPDATE
*/
integration_type?: APIGuildIntegrationType;
/**
* ID of the app whose permissions were targeted
*
* Present from:
* - APPLICATION_COMMAND_PERMISSION_UPDATE
*/
application_id?: Snowflake;
}
export enum AuditLogOptionsType {

View File

@@ -78,7 +78,7 @@ export type GuildChannelType = Exclude<ChannelType, ChannelType.DM | ChannelType
export interface APISlowmodeChannel<T extends ChannelType> extends APIChannelBase<T> {
/**
* 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_CHANNELS`, are unaffected
* bots, as well as users with the permission `BYPASS_SLOWMODE`, are unaffected
*
* `rate_limit_per_user` also applies to thread creation. Users can send one message and create one thread during each `rate_limit_per_user` interval.
*
@@ -138,10 +138,7 @@ export interface APIGuildChannel<T extends GuildChannelType = GuildChannelType>
export type GuildTextChannelType = Exclude<TextChannelType, ChannelType.DM | ChannelType.GroupDM>;
export interface APIGuildTextChannel<T extends ChannelType.GuildForum | ChannelType.GuildMedia | GuildTextChannelType>
extends APITextBasedChannel<T>,
APISortableChannel,
APIGuildChannel<T>,
APIPinChannel<T> {
extends APITextBasedChannel<T>, APISortableChannel, APIGuildChannel<T>, APIPinChannel<T> {
/**
* Default duration for newly created threads, in minutes, to automatically archive the thread after recent activity
*/
@@ -164,10 +161,7 @@ export interface APIGuildCategoryChannel extends APIGuildChannel<ChannelType.Gui
}
export interface APIVoiceChannelBase<T extends GuildChannelType = GuildChannelType>
extends APIGuildChannel<T>,
APISortableChannel,
APITextBasedChannel<T>,
APISlowmodeChannel<T> {
extends APIGuildChannel<T>, APISortableChannel, APITextBasedChannel<T>, APISlowmodeChannel<T> {
/**
* The bitrate (in bits) of the voice or stage channel
*/
@@ -240,9 +234,7 @@ export interface APIGroupDMChannel extends APIDMChannelBase<ChannelType.GroupDM>
export type ThreadChannelType = ChannelType.AnnouncementThread | ChannelType.PrivateThread | ChannelType.PublicThread;
export interface APIThreadChannel<Type extends ThreadChannelType = ThreadChannelType>
extends APITextBasedChannel<Type>,
APIGuildChannel<Type>,
APIPinChannel<Type> {
extends APITextBasedChannel<Type>, APIGuildChannel<Type>, APIPinChannel<Type> {
/**
* The client users member for the thread, only included in select endpoints
*/
@@ -358,8 +350,7 @@ export enum ForumLayoutType {
}
export interface APIThreadOnlyChannel<T extends ChannelType.GuildForum | ChannelType.GuildMedia>
extends APIGuildChannel<T>,
APISortableChannel {
extends APIGuildChannel<T>, APISortableChannel {
/**
* The channel topic (0-4096 characters)
*/
@@ -370,7 +361,7 @@ export interface APIThreadOnlyChannel<T extends ChannelType.GuildForum | Channel
last_message_id?: Snowflake | null;
/**
* Amount of seconds a user has to wait before creating another thread (0-21600);
* bots, as well as users with the permission `MANAGE_MESSAGES` or `MANAGE_CHANNELS`, are unaffected
* bots, as well as users with the permission `BYPASS_SLOWMODE`, are unaffected
*
* The absence of this field in API calls and Gateway events should indicate that slowmode has been reset to the default value.
*/

View File

@@ -338,14 +338,57 @@ export interface GatewayActivityParty {
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-assets}
*/
export type GatewayActivityAssets = Partial<
Record<'large_image' | 'large_text' | 'large_url' | 'small_image' | 'small_text' | 'small_url', string>
>;
export interface GatewayActivityAssets {
/**
* @see {@link https://discord.com/developers/docs/events/gateway-events#activity-object-activity-asset-image}
*/
large_image?: string;
/**
* Text displayed when hovering over the large image of the activity
*/
large_text?: string;
/**
* URL that is opened when clicking on the large image
*/
large_url?: string;
/**
* @see {@link https://discord.com/developers/docs/events/gateway-events#activity-object-activity-asset-image}
*/
small_image?: string;
/**
* Text displayed when hovering over the small image of the activity
*/
small_text?: string;
/**
* URL that is opened when clicking on the small image
*/
small_url?: string;
/**
* Displayed as a banner on a Game Invite.
*
* @see {@link https://discord.com/developers/docs/events/gateway-events#activity-object-activity-asset-image | Activity Asset Image}
* @see {@link https://discord.com/developers/docs/discord-social-sdk/development-guides/managing-game-invites | Game Invite}
*/
invite_cover_image?: string;
}
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-secrets}
*/
export type GatewayActivitySecrets = Partial<Record<'join' | 'match' | 'spectate', string>>;
export interface GatewayActivitySecrets {
/**
* The secret for joining a party
*/
join?: string;
/**
* The secret for spectating a game
*/
spectate?: string;
/**
* The secret for a specific instance of a match
*/
match?: string;
}
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-flags}

View File

@@ -9,7 +9,7 @@ import type { PresenceUpdateReceiveStatus } from './gateway.ts';
import type { OAuth2Scopes } from './oauth2.ts';
import type { APIRole } from './permissions.ts';
import type { APISticker } from './sticker.ts';
import type { APIAvatarDecorationData, APIUser } from './user.ts';
import type { APIAvatarDecorationData, APICollectibles, APIUser } from './user.ts';
export interface APIBaseGuild {
/**
@@ -127,7 +127,7 @@ export interface APIGuild extends APIPartialGuild {
* @see {@link https://discord.com/developers/docs/resources/voice#voice-region-object}
* @deprecated This field has been deprecated in favor of `rtc_region` on the channel.
*/
region: string;
region?: string | null;
/**
* ID of afk channel
*/
@@ -275,7 +275,7 @@ export interface APIGuild extends APIPartialGuild {
*
* @see {@link https://discord.com/developers/docs/resources/sticker#sticker-object}
*/
stickers: APISticker[];
stickers?: APISticker[];
/**
* Whether the guild has the boost progress bar enabled.
*/
@@ -630,7 +630,7 @@ export interface APIGuildPreview {
/**
* The description for the guild
*/
description: string;
description: string | null;
/**
* Custom guild stickers
*/
@@ -687,6 +687,12 @@ export interface APIBaseGuildMember {
* @see {@link https://discord.com/developers/docs/resources/user#avatar-decoration-data-object}
*/
avatar_decoration_data?: APIAvatarDecorationData | null;
/**
* The data for the member's collectibles
*
* @see {@link https://discord.com/developers/docs/resources/user#collectibles}
*/
collectibles?: APICollectibles | null;
}
/**
@@ -757,7 +763,8 @@ export interface APIGuildMemberUser {
* @see {@link https://discord.com/developers/docs/resources/guild#guild-member-object}
*/
export interface APIGuildMember
extends APIBaseGuildMember,
extends
APIBaseGuildMember,
APIBaseVoiceGuildMember,
APIFlaggedGuildMember,
APIGuildMemberAvatar,

View File

@@ -181,8 +181,7 @@ export interface APIGuildScheduledEventRecurrenceRuleNWeekday {
*/
export type GuildScheduledEventRecurrenceRuleNWeekday = APIGuildScheduledEventRecurrenceRuleNWeekday;
export interface APIStageInstanceGuildScheduledEvent
extends APIGuildScheduledEventBase<GuildScheduledEventEntityType.StageInstance> {
export interface APIStageInstanceGuildScheduledEvent extends APIGuildScheduledEventBase<GuildScheduledEventEntityType.StageInstance> {
channel_id: Snowflake;
entity_metadata: null;
}
@@ -192,8 +191,7 @@ export interface APIVoiceGuildScheduledEvent extends APIGuildScheduledEventBase<
entity_metadata: null;
}
export interface APIExternalGuildScheduledEvent
extends APIGuildScheduledEventBase<GuildScheduledEventEntityType.External> {
export interface APIExternalGuildScheduledEvent extends APIGuildScheduledEventBase<GuildScheduledEventEntityType.External> {
channel_id: null;
entity_metadata: Required<APIGuildScheduledEventEntityMetadata>;
}

View File

@@ -3,7 +3,7 @@
import type { Snowflake } from '../../globals.ts';
import type { _NonNullableFields } from '../../utils/internals.ts';
import type { APIApplication } from './application.ts';
import type { APIChannel, ChannelType } from './channel.ts';
import type { APIChannel, APIThreadChannel, APIThreadMember, ChannelType } from './channel.ts';
import type { APIPartialEmoji } from './emoji.ts';
import type { APIInteractionDataResolved, APIMessageInteraction, APIMessageInteractionMetadata } from './interactions.ts';
import type { APIRole } from './permissions.ts';
@@ -86,7 +86,7 @@ export interface APIBaseMessageNoChannel {
*/
mention_channels?: APIChannelMention[];
/**
* Any attached files
* Any attached files that are not referenced in embeds or components
*
* @see {@link https://discord.com/developers/docs/resources/message#attachment-object-attachment-structure}
*
@@ -248,6 +248,10 @@ export interface APIBaseMessageNoChannel {
* The call associated with the message
*/
call?: APIMessageCall;
/**
* The custom client-side theme shared via the message
*/
shared_client_theme?: APIMessageSharedClientTheme;
}
/**
@@ -458,6 +462,39 @@ export interface APIMessageCall {
ended_timestamp?: string | null;
}
/**
* @see https://docs.discord.com/developers/resources/message#base-theme-types
*/
export enum BaseThemeType {
Unset,
Dark,
Light,
Darker,
Midnight,
}
/**
* @see https://docs.discord.com/developers/resources/message#shared-client-theme-object
*/
export interface APIMessageSharedClientTheme {
/**
* The hexadecimal-encoded colors of the theme (max of 5)
*/
colors: string[];
/**
* The direction of the theme's colors (max of 360)
*/
gradient_angle: number;
/**
* The intensity of the theme's colors (max of 100)
*/
base_mix: number;
/**
* The mode of the theme
*/
base_theme?: BaseThemeType | null;
}
/**
* @see {@link https://discord.com/developers/docs/resources/message#role-subscription-data-object-role-subscription-data-object-structure}
*/
@@ -575,9 +612,9 @@ export interface APIEmbed {
/**
* Thumbnail information
*
* @see {@link https://discord.com/developers/docs/resources/message#embed-object-embed-thumbnail-structure}
* @see {@link https://docs.discord.com/developers/resources/message#embed-object-embed-image-structure}
*/
thumbnail?: APIEmbedThumbnail;
thumbnail?: APIEmbedImage;
/**
* Video information
*
@@ -604,6 +641,13 @@ export interface APIEmbed {
* @see {@link https://discord.com/developers/docs/resources/message#embed-object-embed-field-structure}
*/
fields?: APIEmbedField[];
/**
* Embed flags combined as a bitfield
*
* @see {@link https://docs.discord.com/developers/resources/message#embed-object-embed-flags}
* @see {@link https://en.wikipedia.org/wiki/Bit_field}
*/
flags?: EmbedFlags;
}
/**
@@ -647,27 +691,30 @@ export enum EmbedType {
}
/**
* @see {@link https://discord.com/developers/docs/resources/message#embed-object-embed-thumbnail-structure}
* @see {@link https://docs.discord.com/developers/resources/message#embed-object-embed-flags}
*/
export interface APIEmbedThumbnail {
export enum EmbedFlags {
/**
* Source url of thumbnail (only supports http(s) and attachments)
* This embed is a fallback for a reply to an activity card
*/
url: string;
/**
* A proxied url of the thumbnail
*/
proxy_url?: string;
/**
* Height of thumbnail
*/
height?: number;
/**
* Width of thumbnail
*/
width?: number;
IsContentInventoryEntry = 1 << 5,
}
/**
* @see {@link https://docs.discord.com/developers/resources/message#embed-object-embed-media-flags}
*/
export enum EmbedMediaFlags {
/**
* This image is animated
*/
IsAnimated = 1 << 5,
}
/**
* @deprecated Use {@link APIEmbedImage} instead.
*/
export interface APIEmbedThumbnail extends APIEmbedImage {}
/**
* @see {@link https://discord.com/developers/docs/resources/message#embed-object-embed-video-structure}
*/
@@ -688,6 +735,33 @@ export interface APIEmbedVideo {
* Width of video
*/
width?: number;
/**
* The video's media type
*
* @see {@link https://en.wikipedia.org/wiki/Media_type}
*/
content_type?: string;
/**
* ThumbHash placeholder of the video
*
* @see {@link https://evanw.github.io/thumbhash/}
*/
placeholder?: string;
/**
* Version of the placeholder
*/
placeholder_version?: number;
/**
* Description (alt text) for the video
*/
description?: string;
/**
* Embed media flags combined as a bitfield
*
* @see {@link https://docs.discord.com/developers/resources/message#embed-object-embed-media-flags}
* @see {@link https://en.wikipedia.org/wiki/Bit_field}
*/
flags?: EmbedMediaFlags;
}
/**
@@ -710,6 +784,33 @@ export interface APIEmbedImage {
* Width of image
*/
width?: number;
/**
* The image's media type
*
* @see {@link https://en.wikipedia.org/wiki/Media_type}
*/
content_type?: string;
/**
* ThumbHash placeholder of the image
*
* @see {@link https://evanw.github.io/thumbhash/}
*/
placeholder?: string;
/**
* Version of the placeholder
*/
placeholder_version?: number;
/**
* Description (alt text) for the image
*/
description?: string;
/**
* Embed media flags combined as a bitfield
*
* @see {@link https://docs.discord.com/developers/resources/message#embed-object-embed-media-flags}
* @see {@link https://en.wikipedia.org/wiki/Bit_field}
*/
flags?: EmbedMediaFlags;
}
/**
@@ -805,11 +906,14 @@ export interface APIAttachment {
*/
filename: string;
/**
* The title of the file
* The original filename of the upload with special characters preserved
*
* This will be present when the filename contains special characters (e.g. Cyrillic),
* in which case the `filename` field will be a sanitized version without those characters
*/
title?: string;
/**
* Description for the file
* Description (alt text) for the file (max 1024 characters)
*/
description?: string;
/**
@@ -831,15 +935,27 @@ export interface APIAttachment {
*/
proxy_url: string;
/**
* Height of file (if image)
* Height of file (if image or video)
*/
height?: number | null;
/**
* Width of file (if image)
* Width of file (if image or video)
*/
width?: number | null;
/**
* ThumbHash placeholder (if image or video)
*
* @see {@link https://evanw.github.io/thumbhash/}
*/
placeholder?: string;
/**
* Version of the placeholder (if image or video)
*/
placeholder_version?: number;
/**
* Whether this attachment is ephemeral
*
* @remarks Ephemeral attachments will automatically be removed after a set period of time. Ephemeral attachments on messages are guaranteed to be available as long as the message itself exists.
*/
ephemeral?: boolean;
/**
@@ -854,16 +970,48 @@ export interface APIAttachment {
* Attachment flags combined as a bitfield
*/
flags?: AttachmentFlags;
/**
* For Clips, array of users who were in the stream
*/
clip_participants?: APIUser[];
/**
* For Clips, when the clip was created
*/
clip_created_at?: string;
/**
* For Clips, the application in the stream, if recognized
*/
application?: APIApplication | null;
}
/**
* @see {@link https://discord.com/developers/docs/resources/message#attachment-object-attachment-structure-attachment-flags}
* @see {@link https://docs.discord.com/developers/resources/message#attachment-object-attachment-flags}
*/
export enum AttachmentFlags {
/**
* This attachment is a Clip from a stream
*
* @see {@link https://support.discord.com/hc/en-us/articles/16861982215703}
*/
IsClip = 1 << 0,
/**
* This attachment is the thumbnail of a thread in a media channel, displayed in the grid but not on the message
*/
IsThumbnail = 1 << 1,
/**
* This attachment has been edited using the remix feature on mobile
*
* @deprecated
*/
IsRemix = 1 << 2,
/**
* This attachment was marked as a spoiler and is blurred until clicked
*/
IsSpoiler = 1 << 3,
/**
* This attachment is an animated image
*/
IsAnimated = 1 << 5,
}
/**
@@ -1026,6 +1174,18 @@ export enum ComponentType {
* Component for uploading files
*/
FileUpload,
/**
* Single-choice set of radio group option
*/
RadioGroup = 21,
/**
* Multi-select group of checkboxes
*/
CheckboxGroup,
/**
* Single checkbox for binary choice
*/
Checkbox,
// EVERYTHING BELOW THIS LINE SHOULD BE OLD NAMES FOR RENAMED ENUM MEMBERS //
/**
@@ -1041,8 +1201,9 @@ export enum ComponentType {
*
* @see {@link https://discord.com/developers/docs/components/reference#action-row}
*/
export interface APIActionRowComponent<T extends APIComponentInActionRow>
extends APIBaseComponent<ComponentType.ActionRow> {
export interface APIActionRowComponent<
T extends APIComponentInActionRow,
> extends APIBaseComponent<ComponentType.ActionRow> {
/**
* The components in the ActionRow
*/
@@ -1092,10 +1253,9 @@ export interface APIMessageComponentEmoji {
/**
* @see {@link https://discord.com/developers/docs/components/reference#button}
*/
export interface APIButtonComponentWithCustomId
extends APIButtonComponentBase<
ButtonStyle.Danger | ButtonStyle.Primary | ButtonStyle.Secondary | ButtonStyle.Success
> {
export interface APIButtonComponentWithCustomId extends APIButtonComponentBase<
ButtonStyle.Danger | ButtonStyle.Primary | ButtonStyle.Secondary | ButtonStyle.Success
> {
/**
* The custom_id to be sent in the interaction when clicked
*/
@@ -1307,8 +1467,10 @@ export type APIMentionableSelectComponent = APIBaseAutoPopulatedSelectMenuCompon
*
* @see {@link https://discord.com/developers/docs/components/reference#channel-select}
*/
export interface APIChannelSelectComponent
extends APIBaseAutoPopulatedSelectMenuComponent<ComponentType.ChannelSelect, SelectMenuDefaultValueType.Channel> {
export interface APIChannelSelectComponent extends APIBaseAutoPopulatedSelectMenuComponent<
ComponentType.ChannelSelect,
SelectMenuDefaultValueType.Channel
> {
/**
* List of channel types to include in the ChannelSelect component
*/
@@ -1423,6 +1585,9 @@ export interface APITextInputComponent extends APIBaseComponent<ComponentType.Te
required?: boolean;
}
/**
* @unstable This enum is currently not documented by Discord
*/
export enum UnfurledMediaItemLoadingState {
Unknown,
Loading,
@@ -1435,37 +1600,78 @@ export enum UnfurledMediaItemLoadingState {
*/
export interface APIUnfurledMediaItem {
/**
* Supports arbitrary urls and attachment://<filename> references
* Supports arbitrary urls and `attachment://<filename>` references
*/
url: string;
/**
* The proxied url of the media item. This field is ignored and provided by the API as part of the response
* The proxied url of the media item
*
* @remarks This field is ignored and provided by the API as part of the response.
*/
proxy_url?: string;
/**
* The width of the media item. This field is ignored and provided by the API as part of the response
* The width of the media item (if image or video)
*
* @remarks This field is ignored and provided by the API as part of the response.
*/
width?: number | null;
/**
* The height of the media item. This field is ignored and provided by the API as part of the response
* The height of the media item (if image or video)
*
* @remarks This field is ignored and provided by the API as part of the response.
*/
height?: number | null;
/**
* ThumbHash placeholder (if image or video)
*
* @remarks This field is ignored and provided by the API as part of the response.
* @see {@link https://evanw.github.io/thumbhash/}
*/
placeholder?: string | null;
/**
* Version of the placeholder (if image or video)
*
* @remarks This field is ignored and provided by the API as part of the response.
*/
placeholder_version?: number | null;
/**
* The media type of the content. This field is ignored and provided by the API as part of the response
* The media type of the content
*
* @remarks This field is ignored and provided by the API as part of the response.
* @see {@link https://en.wikipedia.org/wiki/Media_type}
*/
content_type?: string | null;
loading_state?: UnfurledMediaItemLoadingState;
flags?: number;
/**
* The id of the uploaded attachment. This field is ignored and provided by the API as part of the response
* @unstable This field is currently not documented by Discord
*/
loading_state?: UnfurledMediaItemLoadingState;
/**
* Unfurled media item flags combined as a bitfield
*
* @remarks This field is ignored and provided by the API as part of the response.
* @see {@link https://docs.discord.com/developers/components/reference#unfurled-media-item-unfurled-media-item-flags}
* @see {@link https://en.wikipedia.org/wiki/Bit_field}
*/
flags?: UnfurledMediaItemFlags;
/**
* The id of the uploaded attachment.
*
* @remarks This field is ignored and provided by the API as part of the response.
* @remarks Only present if the media item was uploaded as an attachment.
*/
attachment_id?: Snowflake;
}
/**
* @see {@link https://docs.discord.com/developers/components/reference#unfurled-media-item-unfurled-media-item-flags}
*/
export enum UnfurledMediaItemFlags {
/**
* This image is animated
*/
IsAnimated = 1 << 0,
}
/**
* A Section is a top-level layout component that allows you to join text contextually with an accessory.
*
@@ -1680,11 +1886,130 @@ export interface APIFileUploadComponent extends APIBaseComponent<ComponentType.F
*/
max_values?: number;
/**
* Whether the file upload requires files to be uploaded before submitting the modal (defaults to `true`)
* Whether the file upload requires files to be uploaded before submitting the modal
*
* @defaultValue `true`
*/
required?: boolean;
}
/**
* @see {@link https://discord.com/developers/docs/components/reference#radio-group}
*/
export interface APIRadioGroupComponent extends APIBaseComponent<ComponentType.RadioGroup> {
/**
* Id for the radio group; max 100 characters
*/
custom_id: string;
/**
* 2-10 radio group options within the radio group component
*/
options: APIRadioGroupOption[];
/**
* Whether the radio group requires selection before submitting the modal
*
* @defaultValue `true`
*/
required?: boolean;
}
/**
* @see {@link https://discord.com/developers/docs/components/reference#radio-group-option-structure}
* @unstable This feature is not publicly released and is currently in preview.
*/
export interface APIRadioGroupOption {
/**
* The value of the radio group option; max 100 characters
*/
value: string;
/**
* The label text; max 100 characters
*/
label: string;
/**
* An optional description for the radio group option; max 100 characters
*/
description?: string;
/**
* Whether this option is selected by default
*
* @defaultValue `false`
*/
default?: boolean;
}
/**
* @see {@link https://discord.com/developers/docs/components/reference#checkbox-group}
*/
export interface APICheckboxGroupComponent extends APIBaseComponent<ComponentType.CheckboxGroup> {
/**
* Id for the checkbox group; max 100 characters
*/
custom_id: string;
/**
* Checkbox group option within the component; max 10
*/
options: APICheckboxGroupOption[];
/**
* Minimum number of checkbox that can be selected; min 0, max 10
*
* @defaultValue `1`
*/
min_values?: number;
/**
* Maximum number of checkbox that can be selected; min 1, max 10
*
* @defaultValue {@link APICheckboxGroupComponent.options} length
*/
max_values?: number;
/**
* Whether selecting within the group is required before submitting the modal
*
* @defaultValue `true`
*/
required?: boolean;
}
/**
* @see {@link https://discord.com/developers/docs/components/reference#checkbox-group-option-structure}
*/
export interface APICheckboxGroupOption {
/**
* The value of the checkbox group option; max 100 characters
*/
value: string;
/**
* The label text; max 100 characters
*/
label: string;
/**
* An optional description for the checkbox group option; max 100 characters;
*/
description?: string;
/**
* Whether this option is selected by default
*
* @defaultValue `false`
*/
default?: boolean;
}
/**
* @see {@link https://discord.com/developers/docs/components/reference#checkbox}
*/
export interface APICheckboxComponent extends APIBaseComponent<ComponentType.Checkbox> {
/**
* Id for the checkbox; max 100 characters
*/
custom_id: string;
/**
* Whether this checkbox is selected by default
*
* @defaultValue `false`
*/
default?: boolean;
}
/**
* @see {@link https://discord.com/developers/docs/resources/message#message-snapshot-object}
*/
@@ -1765,7 +2090,13 @@ export type APIComponentInModalActionRow = APITextInputComponent;
/**
* @see {@link https://discord.com/developers/docs/components/reference#label-label-child-components}
*/
export type APIComponentInLabel = APIFileUploadComponent | APISelectMenuComponent | APITextInputComponent;
export type APIComponentInLabel =
| APICheckboxComponent
| APICheckboxGroupComponent
| APIFileUploadComponent
| APIRadioGroupComponent
| APISelectMenuComponent
| APITextInputComponent;
/**
* @see {@link https://discord.com/developers/docs/components/reference#section}
@@ -1815,3 +2146,198 @@ export interface APIMessagePin {
*/
message: APIMessage;
}
/**
* @remarks All types can be negated by prefixing them with `-`, which means results will not include messages that match the type.
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-author-types}
*/
export enum MessageSearchAuthorType {
/**
* Return messages sent by user accounts
*/
User = 'user',
/**
* Return messages sent by bot accounts
*/
Bot = 'bot',
/**
* Return messages sent by webhooks
*/
Webhook = 'webhook',
/**
* Return messages not sent by user accounts
*/
NotUser = '-user',
/**
* Return messages not sent by bot accounts
*/
NotBot = '-bot',
/**
* Return messages not sent by webhooks
*/
NotWebhook = '-webhook',
}
/**
* @remarks All types can be negated by prefixing them with `-`, which means results will not include messages that match the type.
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-search-has-types}
*/
export enum MessageSearchHasType {
/**
* Return messages that have an image
*/
Image = 'image',
/**
* Return messages that have a sound attachment
*/
Sound = 'sound',
/**
* Return messages that have a video
*/
Video = 'video',
/**
* Return messages that have an attachment
*/
File = 'file',
/**
* Return messages that have a sent sticker
*/
Sticker = 'sticker',
/**
* Return messages that have an embed
*/
Embed = 'embed',
/**
* Return messages that have a link
*/
Link = 'link',
/**
* Return messages that have a poll
*/
Poll = 'poll',
/**
* Return messages that have a forwarded message
*/
Snapshot = 'snapshot',
/**
* Return messages that don't have an image
*/
NotImage = '-image',
/**
* Return messages that don't have a sound attachment
*/
NotSound = '-sound',
/**
* Return messages that don't have a video
*/
NotVideo = '-video',
/**
* Return messages that don't have an attachment
*/
NotFile = '-file',
/**
* Return messages that don't have a sent sticker
*/
NotSticker = '-sticker',
/**
* Return messages that don't have an embed
*/
NotEmbed = '-embed',
/**
* Return messages that don't have a link
*/
NotLink = '-link',
/**
* Return messages that don't have a poll
*/
NotPoll = '-poll',
/**
* Return messages that don't have a forwarded message
*/
NotSnapshot = '-snapshot',
}
/**
* @remarks These do not correspond 1:1 to actual {@link https://docs.discord.com/developers/resources/message#embed-object-embed-types | embed types} and encompass a wider range of actual types.
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-search-embed-types}
*/
export enum MessageSearchEmbedType {
/**
* Return messages that have an image embed
*/
Image = 'image',
/**
* Return messages that have a video embed
*/
Video = 'video',
/**
* Return messages that have a gifv embed
*
* @remarks Messages sent before February 24, 2026 may not be properly indexed under the `gif` embed type.
*/
Gif = 'gif',
/**
* Return messages that have a sound embed
*/
Sound = 'sound',
/**
* Return messages that have an article embed
*/
Article = 'article',
}
/**
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-search-sort-modes}
*/
export enum MessageSearchSortMode {
/**
* Sort by the message creation time (default)
*/
Timestamp = 'timestamp',
/**
* Sort by the relevance of the message to the search query
*/
Relevance = 'relevance',
}
/**
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages}
*/
export interface APIMessageSearchIndexNotReadyResponse {
message: string;
code: number;
documents_indexed: number;
retry_after: number;
}
/**
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-response-body}
*/
export interface APIMessageSearchResult {
/**
* Whether the guild is undergoing a deep historical indexing operation
*/
doing_deep_historical_index: boolean;
/**
* The number of documents that have been indexed during the current index operation, if any
*/
documents_indexed?: number;
/**
* The total number of results that match the query
*/
total_results: number;
/**
* A nested array of messages that match the query
*
* @remarks The nested array was used to provide surrounding context to search results. However, surrounding context is no longer returned.
*/
messages: Omit<APIMessage, 'reactions'>[][];
/**
* The threads that contain the returned messages
*/
threads?: APIThreadChannel[];
/**
* A thread member object for each returned thread the current user has joined
*/
members?: APIThreadMember[];
}

View File

@@ -19,13 +19,14 @@ export interface APIRole {
/**
* Integer representation of hexadecimal color code
*
* @deprecated Use `colors` instead.
* @remarks `color` will still be returned by the API, but using the `colors` field is recommended when doing requests.
*/
color: number;
/**
* The role's colors
*/
colors?: APIRoleColors;
colors: APIRoleColors;
/**
* If this role is pinned in the user listing
*/

View File

@@ -37,7 +37,7 @@ export interface APIPoll extends APIBasePoll, APIPollDefaults {
/**
* The time when the poll ends (IS08601 timestamp)
*/
expiry: string;
expiry: string | null;
/**
* The results of the poll
*/

View File

@@ -22,7 +22,7 @@ export interface APIUser {
*/
discriminator: string;
/**
* The user's display name, if it is set. For bots, this is the application name
* The user's display name, if it is set
*/
global_name: string | null;
/**
@@ -194,6 +194,8 @@ export enum UserFlags {
DisablePremium = 1 << 21,
/**
* User is an {@link https://support-dev.discord.com/hc/articles/10113997751447 | Active Developer}
*
* @deprecated This user flag is no longer available. See {@link https://support-dev.discord.com/hc/articles/10113997751447-Active-Developer-Badge} for more information.
*/
ActiveDeveloper = 1 << 22,
/**

View File

@@ -30,11 +30,11 @@ export interface APIWebhook {
/**
* The guild id this webhook is for
*/
guild_id?: Snowflake;
guild_id?: Snowflake | null;
/**
* The channel id this webhook is for
*/
channel_id: Snowflake;
channel_id: Snowflake | null;
/**
* The user this webhook was created by (not returned when getting a webhook with its token)
*
@@ -123,14 +123,8 @@ export interface APIWebhookEventApplicationDeauthorizedData {
export type APIWebhookEventEntitlementCreateData = APIEntitlement;
/**
* @unstable
*/
export type APIWebhookEventEntitlementDeleteData = APIEntitlement;
/**
* @unstable
*/
export type APIWebhookEventEntitlementUpdateData = APIEntitlement;
export type APIWebhookEventQuestUserEnrollmentData = never;
@@ -201,14 +195,10 @@ export enum ApplicationWebhookEventType {
EntitlementCreate = 'ENTITLEMENT_CREATE',
/**
* Entitlement was updated
*
* @unstable This event is not yet documented but can be enabled from the developer portal
*/
EntitlementUpdate = 'ENTITLEMENT_UPDATE',
/**
* Entitlement was deleted
*
* @unstable This event is not yet documented but can be enabled from the developer portal
*/
EntitlementDelete = 'ENTITLEMENT_DELETE',
/**

51
deno/rest/common.ts generated
View File

@@ -75,8 +75,16 @@ export enum RESTJSONErrorCodes {
UnderMinimumAge = 20_024,
ChannelSendRateLimit = 20_028,
ServerSendRateLimit,
ChannelWriteRateLimit = 20_028,
/**
* @deprecated Use {@link RESTJSONErrorCodes.ChannelWriteRateLimit} instead
*/
ChannelSendRateLimit = ChannelWriteRateLimit,
ServerWriteRateLimit = 20_029,
/**
* @deprecated Use {@link RESTJSONErrorCodes.ServerWriteRateLimit} instead
*/
ServerSendRateLimit = ServerWriteRateLimit,
StageTopicServerNameServerDescriptionOrChannelNamesContainDisallowedWords = 20_031,
@@ -173,6 +181,9 @@ export enum RESTJSONErrorCodes {
GuildWidgetDisabled,
CannotEditMessageAuthoredByAnotherUser,
CannotSendAnEmptyMessage,
/**
* @see {@link RESTJSONErrorCodes.CannotSendMessagesToThisUserDueToHavingNoMutualGuilds} for a similar error code
*/
CannotSendMessagesToThisUser,
CannotSendMessagesInNonTextChannel,
ChannelVerificationLevelTooHighForYouToGainAccess,
@@ -246,7 +257,11 @@ export enum RESTJSONErrorCodes {
OwnerCannotBePendingMember = 50_131,
OwnershipCannotBeMovedToABotUser,
FailedToResizeAssetBelowTheMinimumSize = 50_138,
FailedToResizeAssetBelowTheMaximumSize = 50_138,
/**
* @deprecated This name is incorrect. Use {@link RESTJSONErrorCodes.FailedToResizeAssetBelowTheMaximumSize} instead
*/
FailedToResizeAssetBelowTheMinimumSize = FailedToResizeAssetBelowTheMaximumSize,
CannotMixSubscriptionAndNonSubscriptionRolesForAnEmoji = 50_144,
CannotConvertBetweenPremiumEmojiAndNormalEmoji,
@@ -266,6 +281,11 @@ export enum RESTJSONErrorCodes {
ProvidedFileDoesNotHaveAValidDuration = 50_192,
/**
* @see {@link RESTJSONErrorCodes.CannotSendMessagesToThisUser} for a similar error code
*/
CannotSendMessagesToThisUserDueToHavingNoMutualGuilds = 50_278,
YouDoNotHavePermissionToSendThisSticker = 50_600,
TwoFactorAuthenticationIsRequired = 60_003,
@@ -275,7 +295,8 @@ export enum RESTJSONErrorCodes {
ReactionWasBlocked = 90_001,
UserCannotUseBurstReactions,
ApplicationNotYetAvailable = 110_001,
IndexNotYetAvailable = 110_000,
ApplicationNotYetAvailable,
APIResourceOverloaded = 130_000,
@@ -288,6 +309,8 @@ export enum RESTJSONErrorCodes {
MaximumActiveThreads,
MaximumActiveAnnouncementThreads,
CannotForwardMessageWithUnreadableContent = 160_014,
InvalidJSONForUploadedLottieFile = 170_001,
UploadedLottiesCannotContainRasterizedImages,
StickerMaximumFramerateExceeded,
@@ -324,8 +347,28 @@ export enum RESTJSONErrorCodes {
CannotUseAnEmojiIncludedWithThePoll,
CannotExpireANonPollMessage = 520_006,
ProvisionalAccountsPermissionNotGranted = 530_000,
IdTokenJWTExpired,
IdTokenJWTIssuerMismatch,
IdTokenJWTAudienceMismatch,
IdTokenJWTIssuedTooLongAgo,
FailedToGenerateUniqueUsername = 530_006,
InvalidClientSecret,
}
/**
* JSON Error Codes that represent "Cannot send messages to this user".
* Discord uses two different error codes for this error:
* - {@link RESTJSONErrorCodes.CannotSendMessagesToThisUser} (50_007)
* - {@link RESTJSONErrorCodes.CannotSendMessagesToThisUserDueToHavingNoMutualGuilds} (50_278)
*/
export const CannotSendMessagesToThisUserErrorCodes = [
RESTJSONErrorCodes.CannotSendMessagesToThisUser,
RESTJSONErrorCodes.CannotSendMessagesToThisUserDueToHavingNoMutualGuilds,
] as const;
/**
* @see {@link https://discord.com/developers/docs/reference#locales}
*/

View File

@@ -1,4 +1,8 @@
import type { APIApplication, APIApplicationRoleConnectionMetadata } from '../../payloads/v10/application.ts';
import type {
APIActivityInstance,
APIApplication,
APIApplicationRoleConnectionMetadata,
} from '../../payloads/v10/application.ts';
import type { _Nullable, _StrictPartial } from '../../utils/internals.ts';
/**
@@ -25,11 +29,13 @@ export type RESTGetCurrentApplicationResult = APIApplication;
* @see {@link https://discord.com/developers/docs/resources/application#edit-current-application}
*/
export type RESTPatchCurrentApplicationJSONBody = _StrictPartial<
_Nullable<Pick<APIApplication, 'cover_image' | 'icon'>> &
_Nullable<Pick<APIApplication, 'cover_image' | 'event_webhooks_url' | 'icon'>> &
Pick<
APIApplication,
| 'custom_install_url'
| 'description'
| 'event_webhooks_status'
| 'event_webhooks_types'
| 'flags'
| 'install_params'
| 'integration_types_config'
@@ -43,3 +49,8 @@ export type RESTPatchCurrentApplicationJSONBody = _StrictPartial<
* @see {@link https://discord.com/developers/docs/resources/application#edit-current-application}
*/
export type RESTPatchCurrentApplicationResult = APIApplication;
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance}
*/
export type RESTGetAPIApplicationActivityInstanceResult = APIActivityInstance;

View File

@@ -7,6 +7,7 @@ import type {
APIFollowedChannel,
APIMessage,
APIMessageReference,
APIMessageSharedClientTheme,
APIThreadList,
APIThreadMember,
APIUser,
@@ -84,8 +85,7 @@ export interface RESTPatchAPIChannelJSONBody {
nsfw?: boolean | null | undefined;
/**
* 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_CHANNELS`,
* are unaffected
* bots, as well as users with the permission `BYPASS_SLOWMODE`, are unaffected
*
* Channel types: text, newsThread, publicThread, privateThread, forum, media
*/
@@ -149,7 +149,7 @@ export interface RESTPatchAPIChannelJSONBody {
*
* Channel types: text, news, forum, media
*/
default_auto_archive_duration?: ThreadAutoArchiveDuration | undefined;
default_auto_archive_duration?: ThreadAutoArchiveDuration | null | undefined;
/**
* Channel flags combined as a bit field.
*/
@@ -171,7 +171,7 @@ export interface RESTPatchAPIChannelJSONBody {
*
* Channel types: forum, media
*/
default_reaction_emoji?: APIGuildForumDefaultReactionEmoji | undefined;
default_reaction_emoji?: APIGuildForumDefaultReactionEmoji | null | undefined;
/**
* 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
@@ -338,6 +338,10 @@ export interface RESTPostAPIChannelMessageJSONBody {
* A poll!
*/
poll?: RESTAPIPoll | undefined;
/**
* The custom client-side theme to share via the message
*/
shared_client_theme?: APIMessageSharedClientTheme | undefined;
}
/**
@@ -407,7 +411,13 @@ export interface RESTGetAPIChannelMessageReactionUsersQuery {
*/
export enum ReactionType {
Normal,
Super,
Burst,
// eslint-disable @typescript-eslint/no-duplicate-enum-values
/**
* @deprecated Use {@link ReactionType.Burst} instead
*/
Super = Burst,
// eslint-enable @typescript-eslint/no-duplicate-enum-values
}
/**
@@ -742,6 +752,10 @@ export type RESTPostAPIGuildForumThreadsFormDataBody = RESTPostAPIChannelMessage
* The initial message of the thread
*/
message: string;
/**
* The IDs of the set of tags to apply to the thread; limited to 5
*/
applied_tags?: Snowflake[] | undefined;
};
/**
@@ -832,6 +846,7 @@ export interface RESTGetAPIChannelThreadsArchivedQuery {
/**
* Get threads before this id or ISO8601 timestamp
*/
// eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents
before?: Snowflake | string;
/**
* Max number of thread to return

173
deno/rest/v10/guild.ts generated
View File

@@ -20,6 +20,7 @@ import type {
GuildDefaultMessageNotifications,
GuildExplicitContentFilter,
GuildFeature,
GuildMemberFlags,
GuildMFALevel,
GuildSystemChannelFlags,
GuildVerificationLevel,
@@ -29,6 +30,12 @@ import type {
APIRoleColors,
APIIncidentsData,
APIGuildChannel,
APIMessageSearchIndexNotReadyResponse,
APIMessageSearchResult,
MessageSearchAuthorType,
MessageSearchEmbedType,
MessageSearchHasType,
MessageSearchSortMode,
} from '../../payloads/v10/mod.ts';
import type {
_AddUndefinedToPossiblyUndefinedPropertiesOfInterface,
@@ -381,11 +388,11 @@ export type RESTPatchAPIGuildChannelPositionsJSONBody = {
/**
* Sorting position of the channel
*/
position: number;
position?: number | null | undefined;
/**
* Sync channel overwrites with the new parent, when moving to a new `parent_id`
*/
lock_permissions?: boolean | undefined;
lock_permissions?: boolean | null | undefined;
/**
* The new parent id of this channel
*/
@@ -522,6 +529,12 @@ export interface RESTPatchAPIGuildMemberJSONBody {
* Timestamp of when the time out will be removed; until then, they cannot interact with the guild
*/
communication_disabled_until?: string | null | undefined;
/**
* Guild member flags (only {@link GuildMemberFlags.BypassesVerification} can be set)
*
* @see {@link https://discord.com/developers/docs/resources/guild#guild-member-object-guild-member-flags}
*/
flags?: GuildMemberFlags | undefined;
}
/**
@@ -529,6 +542,151 @@ export interface RESTPatchAPIGuildMemberJSONBody {
*/
export type RESTPatchAPIGuildMemberResult = APIGuildMember;
/**
* Returns a list of messages without the `reactions` key that match a search query in the guild. Requires the `READ_MESSAGE_HISTORY` permission.
*
* @remarks The Search Guild Messages endpoint is restricted according to whether the `MESSAGE_CONTENT` Privileged Intent is enabled for your application.
*
* If the entity you are searching is not yet indexed, the endpoint will return a 202 accepted response. The response body will not contain any search results, and will look similar to an error response:
* ```json
* {
* "message": "Index not yet available. Try again later",
* "code": 110000,
* "documents_indexed": 0,
* "retry_after": 2
* }
* ```
*
* Due to speed optimizations, search may return slightly fewer results than the limit specified when messages have not been accessed for a long time.
* Clients should not rely on the length of the `messages` array to paginate results.
*
* Additionally, when messages are actively being created or deleted, the `total_results` field may not be accurate.
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages}
*/
export interface RESTGetAPIGuildMessagesSearchQuery {
/**
* Max number of messages to return (1-25)
*
* @defaultValue `25`
*/
limit?: number;
/**
* Number to offset the returned messages by (max 9975)
*/
offset?: number;
/**
* Get messages before this message ID
*/
max_id?: Snowflake;
/**
* Get messages after this message ID
*/
min_id?: Snowflake;
/**
* Max number of words to skip between matching tokens in the search `content` (max 100)
*
* @defaultValue `2`
*/
slop?: number;
/**
* Filter messages by content (max 1024 characters)
*/
content?: string;
/**
* Filter messages by these channels (max 500)
*/
channel_id?: Snowflake[];
/**
* Filter messages by author type
*
* @remarks All types can be negated by prefixing them with `-`, which means results will not include messages that match the type.
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-author-types}
*/
author_type?: MessageSearchAuthorType[];
/**
* Filter messages by these authors (max 100)
*/
author_id?: Snowflake[];
/**
* Filter messages that mention these users (max 100)
*/
mentions?: Snowflake[];
/**
* Filter messages that mention these roles (max 100)
*/
mentions_role_id?: Snowflake[];
/**
* Filter messages that do or do not mention `@everyone`
*/
mention_everyone?: boolean;
/**
* Filter messages that reply to these users (max 100)
*/
replied_to_user_id?: Snowflake[];
/**
* Filter messages that reply to these messages (max 100)
*/
replied_to_message_id?: Snowflake[];
/**
* Filter messages by whether they are or are not pinned
*/
pinned?: boolean;
/**
* Filter messages by whether or not they have specific things
*
* @remarks All types can be negated by prefixing them with `-`, which means results will not include messages that match the type.
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-search-has-types}
*/
has?: MessageSearchHasType[];
/**
* Filter messages by embed type
*
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-search-embed-types}
*/
embed_type?: MessageSearchEmbedType[];
/**
* Filter messages by embed provider (case-sensitive, e.g. `Tenor`) (max 256 characters, max 100)
*/
embed_provider?: string[];
/**
* Filter messages by link hostname (e.g. `discordapp.com`) (max 256 characters, max 100)
*/
link_hostname?: string[];
/**
* Filter messages by attachment filename (max 1024 characters, max 100)
*/
attachment_filename?: string[];
/**
* Filter messages by attachment extension (e.g. `txt`) (max 256 characters, max 100)
*/
attachment_extension?: string[];
/**
* The sorting algorithm to use
*
* @remarks Sort order is not respected when sorting by relevance.
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-search-sort-modes}
*/
sort_by?: MessageSearchSortMode;
/**
* The direction to sort (`asc` or `desc`)
*
* @defaultValue `'desc'`
* @remarks Sort order is not respected when sorting by relevance.
*/
sort_order?: 'asc' | 'desc';
/**
* Whether to include results from age-restricted channels
*
* @defaultValue `false`
*/
include_nsfw?: boolean;
}
/**
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-response-body}
*/
export type RESTGetAPIGuildMessagesSearchResult = APIMessageSearchIndexNotReadyResponse | APIMessageSearchResult;
/**
* @see {@link https://discord.com/developers/docs/resources/guild#modify-current-user-nick}
* @deprecated Use {@link https://discord.com/developers/docs/resources/guild#modify-current-member | Modify Current Member} instead.
@@ -814,7 +972,10 @@ export type RESTPatchAPIGuildRoleResult = APIRole;
export type RESTDeleteAPIGuildRoleResult = never;
/**
* @unstable
* A record mapping role IDs to the number of members that have that role.
*
* @remarks This does not include the `@everyone` role.
* @see {@link https://discord.com/developers/docs/resources/guild#get-guild-role-member-counts}
*/
export type RESTGetAPIGuildRoleMemberCountsResult = Record<Snowflake, number>;
@@ -1004,7 +1165,8 @@ export type RESTPutAPIGuildOnboardingJSONBody = _AddUndefinedToPossiblyUndefined
};
export interface RESTAPIGuildOnboardingPrompt
extends _AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
extends
_AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
Partial<Omit<APIGuildOnboardingPrompt, 'guild_id' | 'id' | 'options' | 'title'>>
>,
Pick<APIGuildOnboardingPrompt, 'id' | 'title'> {
@@ -1020,7 +1182,8 @@ export interface RESTAPIGuildOnboardingPrompt
export type RESTAPIModifyGuildOnboardingPromptData = RESTAPIGuildOnboardingPrompt;
export interface RESTAPIGuildOnboardingPromptOption
extends _AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
extends
_AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
Partial<Omit<APIGuildOnboardingPromptOption, 'emoji' | 'guild_id' | 'title'>>
>,
Pick<APIGuildOnboardingPromptOption, 'title'> {

View File

@@ -56,7 +56,7 @@ export interface RESTPostAPIGuildScheduledEventJSONBody {
/**
* The scheduled entity type of the guild event
*/
entity_type?: GuildScheduledEventEntityType | undefined;
entity_type: GuildScheduledEventEntityType;
/**
* The entity metadata of the scheduled event
*/
@@ -95,12 +95,15 @@ export type RESTGetAPIGuildScheduledEventResult = APIGuildScheduledEvent;
* @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event}
*/
export interface RESTPatchAPIGuildScheduledEventJSONBody
extends _Nullable<
Pick<RESTPostAPIGuildScheduledEventJSONBody, 'description' | 'entity_metadata' | 'recurrence_rule'>
>,
extends
_Nullable<Pick<RESTPostAPIGuildScheduledEventJSONBody, 'description' | 'entity_metadata' | 'recurrence_rule'>>,
_StrictPartial<
Omit<RESTPostAPIGuildScheduledEventJSONBody, 'description' | 'entity_metadata' | 'recurrence_rule'>
Omit<
RESTPostAPIGuildScheduledEventJSONBody,
'channel_id' | 'description' | 'entity_metadata' | 'recurrence_rule'
>
> {
channel_id?: Snowflake | null | undefined;
/**
* The status of the scheduled event
*/

View File

@@ -48,7 +48,8 @@ export type RESTGetAPIApplicationCommandsResult = APIApplicationCommand[];
export type RESTGetAPIApplicationCommandResult = APIApplicationCommand;
export interface RESTPostAPIBaseApplicationCommandsJSONBody
extends _AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
extends
_AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
Omit<
APIApplicationCommand,
| 'application_id'
@@ -89,8 +90,7 @@ export interface RESTPostAPIContextMenuApplicationCommandsJSONBody extends RESTP
/**
* @see {@link https://discord.com/developers/docs/interactions/application-commands#create-global-application-command}
*/
export interface RESTPostAPIPrimaryEntryPointApplicationCommandJSONBody
extends RESTPostAPIBaseApplicationCommandsJSONBody {
export interface RESTPostAPIPrimaryEntryPointApplicationCommandJSONBody extends RESTPostAPIBaseApplicationCommandsJSONBody {
type: ApplicationCommandType.PrimaryEntryPoint;
}

31
deno/rest/v10/mod.ts generated
View File

@@ -313,6 +313,14 @@ export const Routes = {
return `/guilds/${guildId}/members/search` as const;
},
/**
* Route for:
* - GET `/guilds/{guild.id}/messages/search`
*/
guildMessagesSearch(guildId: Snowflake) {
return `/guilds/${guildId}/messages/search` as const;
},
/**
* Route for:
* - PATCH `/guilds/{guild.id}/members/@me/nick`
@@ -383,8 +391,6 @@ export const Routes = {
/**
* Route for:
* - GET `/guilds/{guild.id}/roles/member-counts`
*
* @unstable
*/
guildRoleMemberCounts(guildId: Snowflake) {
return `/guilds/${guildId}/roles/member-counts` as const;
@@ -987,6 +993,14 @@ export const Routes = {
return '/applications/@me' as const;
},
/**
* Route for:
* - GET `/applications/{application.id}/activity-instances/{instance_id}`
*/
applicationActivityInstance(applicationId: Snowflake, instanceId: string) {
return `/applications/${applicationId}/activity-instances/${instanceId}` as const;
},
/**
* Route for:
* - GET `/applications/{application.id}/entitlements`
@@ -1100,8 +1114,8 @@ export const Routes = {
},
};
for (const [key, fn] of Object.entries(Routes)) {
Routes[key as keyof typeof Routes] = (...args: (boolean | number | string | undefined)[]) => {
for (const [key, fn] of Object.entries(Routes) as [keyof typeof Routes, (...args: any[]) => string][]) {
Routes[key] = ((...args: any[]) => {
const escaped = args.map((arg) => {
if (arg) {
// Skip already "safe" urls
@@ -1114,9 +1128,10 @@ for (const [key, fn] of Object.entries(Routes)) {
return arg;
});
// eslint-disable-next-line no-useless-call
return fn.call(null, ...escaped);
};
}) as any;
}
// Freeze the object so it can't be changed
@@ -1431,8 +1446,8 @@ export const CDNRoutes = {
},
};
for (const [key, fn] of Object.entries(CDNRoutes)) {
CDNRoutes[key as keyof typeof CDNRoutes] = (...args: (boolean | number | string | undefined)[]) => {
for (const [key, fn] of Object.entries(CDNRoutes) as [keyof typeof CDNRoutes, (...args: any[]) => string][]) {
CDNRoutes[key] = ((...args: any[]) => {
const escaped = args.map((arg) => {
if (arg) {
// Skip already "safe" urls
@@ -1447,7 +1462,7 @@ for (const [key, fn] of Object.entries(CDNRoutes)) {
});
// eslint-disable-next-line no-useless-call
return fn.call(null, ...escaped);
};
}) as any;
}
// Freeze the object so it can't be changed

View File

@@ -4,7 +4,7 @@ import type { APIApplication, APIGuild, APIUser, APIWebhook, OAuth2Scopes } from
/**
* @see {@link https://discord.com/developers/docs/topics/oauth2#get-current-bot-application-information}
*/
export type RESTGetAPIOAuth2CurrentApplicationResult = Omit<APIApplication, 'flags'>;
export type RESTGetAPIOAuth2CurrentApplicationResult = APIApplication;
/**
* @see {@link https://discord.com/developers/docs/topics/oauth2#get-current-authorization-information}

View File

@@ -4,7 +4,7 @@ import type { APISoundboardSound } from '../../payloads/v10/mod.ts';
/**
* @see {@link https://discord.com/developers/docs/resources/soundboard#send-soundboard-sound}
*/
export type RESTPostAPISendSoundboardSoundResult = APISoundboardSound;
export type RESTPostAPISendSoundboardSoundResult = never;
/**
* @see {@link https://discord.com/developers/docs/resources/soundboard#send-soundboard-sound-json-params}

2
deno/rest/v10/user.ts generated
View File

@@ -101,7 +101,7 @@ export interface RESTPostAPICurrentUserCreateDMChannelJSONBody {
/**
* The recipient to open a DM channel with
*/
recipient_id: string;
recipient_id: Snowflake;
}
/**

View File

@@ -51,7 +51,7 @@ export interface RESTPatchAPIGuildVoiceStateUserJSONBody {
/**
* The id of the channel the user is currently in
*/
channel_id: Snowflake;
channel_id?: Snowflake | undefined;
/**
* Toggles the user's suppress state
*/

View File

@@ -256,7 +256,7 @@ export type RESTGetAPIWebhookWithTokenMessageResult = APIMessage;
* @see {@link https://discord.com/developers/docs/resources/webhook#get-webhook-message-query-string-params}
*/
export interface RESTGetAPIWebhookWithTokenMessageQuery {
thread_id?: string;
thread_id?: Snowflake;
}
/**
@@ -309,6 +309,13 @@ export type RESTPatchAPIWebhookWithTokenMessageQuery = Pick<
*/
export type RESTPatchAPIWebhookWithTokenMessageResult = APIMessage;
/**
* @see {@link https://docs.discord.com/developers/resources/webhook#delete-webhook-message-query-string-params}
*/
export interface RESTDeleteAPIWebhookWithTokenMessageQuery {
thread_id?: Snowflake;
}
/**
* @see {@link https://discord.com/developers/docs/resources/webhook#delete-webhook-message}
*/

7
deno/rest/v6/mod.ts generated
View File

@@ -522,8 +522,8 @@ export const Routes = {
},
};
for (const [key, fn] of Object.entries(Routes)) {
Routes[key] = (...args: (boolean | number | string | undefined)[]) => {
for (const [key, fn] of Object.entries(Routes) as [keyof typeof Routes, (...args: any[]) => string][]) {
Routes[key] = ((...args: any[]) => {
const escaped = args.map((arg) => {
if (arg) {
// Skip already "safe" urls
@@ -536,9 +536,10 @@ for (const [key, fn] of Object.entries(Routes)) {
return arg;
});
// eslint-disable-next-line no-useless-call
return fn.call(null, ...escaped);
};
}) as any;
}
// Freeze the object so it can't be changed

7
deno/rest/v8/mod.ts generated
View File

@@ -778,8 +778,8 @@ export const Routes = {
},
};
for (const [key, fn] of Object.entries(Routes)) {
Routes[key] = (...args: (boolean | number | string | undefined)[]) => {
for (const [key, fn] of Object.entries(Routes) as [keyof typeof Routes, (...args: any[]) => string][]) {
Routes[key] = ((...args: any[]) => {
const escaped = args.map((arg) => {
if (arg) {
// Skip already "safe" urls
@@ -792,9 +792,10 @@ for (const [key, fn] of Object.entries(Routes)) {
return arg;
});
// eslint-disable-next-line no-useless-call
return fn.call(null, ...escaped);
};
}) as any;
}
// Freeze the object so it can't be changed

View File

@@ -1,4 +1,8 @@
import type { APIApplication, APIApplicationRoleConnectionMetadata } from '../../payloads/v9/application.ts';
import type {
APIActivityInstance,
APIApplication,
APIApplicationRoleConnectionMetadata,
} from '../../payloads/v9/application.ts';
import type { _StrictPartial, _Nullable } from '../../utils/internals.ts';
/**
@@ -25,11 +29,13 @@ export type RESTGetCurrentApplicationResult = APIApplication;
* @see {@link https://discord.com/developers/docs/resources/application#edit-current-application}
*/
export type RESTPatchCurrentApplicationJSONBody = _StrictPartial<
_Nullable<Pick<APIApplication, 'cover_image' | 'icon'>> &
_Nullable<Pick<APIApplication, 'cover_image' | 'event_webhooks_url' | 'icon'>> &
Pick<
APIApplication,
| 'custom_install_url'
| 'description'
| 'event_webhooks_status'
| 'event_webhooks_types'
| 'flags'
| 'install_params'
| 'integration_types_config'
@@ -43,3 +49,8 @@ export type RESTPatchCurrentApplicationJSONBody = _StrictPartial<
* @see {@link https://discord.com/developers/docs/resources/application#edit-current-application}
*/
export type RESTPatchCurrentApplicationResult = APIApplication;
/**
* @see {@link https://discord.com/developers/docs/resources/application#get-application-activity-instance}
*/
export type RESTGetAPIApplicationActivityInstanceResult = APIActivityInstance;

View File

@@ -7,6 +7,7 @@ import type {
APIFollowedChannel,
APIMessage,
APIMessageReference,
APIMessageSharedClientTheme,
APIThreadList,
APIThreadMember,
APIUser,
@@ -84,8 +85,7 @@ export interface RESTPatchAPIChannelJSONBody {
nsfw?: boolean | null | undefined;
/**
* 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_CHANNELS`,
* are unaffected
* bots, as well as users with the permission `BYPASS_SLOWMODE`, are unaffected
*
* Channel types: text, newsThread, publicThread, privateThread, forum, media
*/
@@ -149,7 +149,7 @@ export interface RESTPatchAPIChannelJSONBody {
*
* Channel types: text, news, forum, media
*/
default_auto_archive_duration?: ThreadAutoArchiveDuration | undefined;
default_auto_archive_duration?: ThreadAutoArchiveDuration | null | undefined;
/**
* Channel flags combined as a bit field.
*/
@@ -171,7 +171,7 @@ export interface RESTPatchAPIChannelJSONBody {
*
* Channel types: forum, media
*/
default_reaction_emoji?: APIGuildForumDefaultReactionEmoji | undefined;
default_reaction_emoji?: APIGuildForumDefaultReactionEmoji | null | undefined;
/**
* 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
@@ -345,6 +345,10 @@ export interface RESTPostAPIChannelMessageJSONBody {
* A poll!
*/
poll?: RESTAPIPoll | undefined;
/**
* The custom client-side theme to share via the message
*/
shared_client_theme?: APIMessageSharedClientTheme | undefined;
}
/**
@@ -414,7 +418,13 @@ export interface RESTGetAPIChannelMessageReactionUsersQuery {
*/
export enum ReactionType {
Normal,
Super,
Burst,
// eslint-disable @typescript-eslint/no-duplicate-enum-values
/**
* @deprecated Use {@link ReactionType.Burst} instead
*/
Super = Burst,
// eslint-enable @typescript-eslint/no-duplicate-enum-values
}
/**
@@ -755,6 +765,10 @@ export type RESTPostAPIGuildForumThreadsFormDataBody = RESTPostAPIChannelMessage
* The initial message of the thread
*/
message: string;
/**
* The IDs of the set of tags to apply to the thread; limited to 5
*/
applied_tags?: Snowflake[] | undefined;
};
/**
@@ -845,6 +859,7 @@ export interface RESTGetAPIChannelThreadsArchivedQuery {
/**
* Get threads before this id or ISO8601 timestamp
*/
// eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents
before?: Snowflake | string;
/**
* Max number of thread to return

176
deno/rest/v9/guild.ts generated
View File

@@ -18,6 +18,7 @@ import type {
GuildDefaultMessageNotifications,
GuildExplicitContentFilter,
GuildFeature,
GuildMemberFlags,
GuildMFALevel,
GuildSystemChannelFlags,
GuildVerificationLevel,
@@ -29,6 +30,12 @@ import type {
APIRoleColors,
APIIncidentsData,
APIGuildChannel,
APIMessageSearchIndexNotReadyResponse,
APIMessageSearchResult,
MessageSearchAuthorType,
MessageSearchEmbedType,
MessageSearchHasType,
MessageSearchSortMode,
} from '../../payloads/v9/mod.ts';
import type {
_AddUndefinedToPossiblyUndefinedPropertiesOfInterface,
@@ -381,11 +388,11 @@ export type RESTPatchAPIGuildChannelPositionsJSONBody = {
/**
* Sorting position of the channel
*/
position: number;
position?: number | null | undefined;
/**
* Sync channel overwrites with the new parent, when moving to a new `parent_id`
*/
lock_permissions?: boolean | undefined;
lock_permissions?: boolean | null | undefined;
/**
* The new parent id of this channel
*/
@@ -522,6 +529,12 @@ export interface RESTPatchAPIGuildMemberJSONBody {
* Timestamp of when the time out will be removed; until then, they cannot interact with the guild
*/
communication_disabled_until?: string | null | undefined;
/**
* Guild member flags (only {@link GuildMemberFlags.BypassesVerification} can be set)
*
* @see {@link https://discord.com/developers/docs/resources/guild#guild-member-object-guild-member-flags}
*/
flags?: GuildMemberFlags | undefined;
}
/**
@@ -529,6 +542,151 @@ export interface RESTPatchAPIGuildMemberJSONBody {
*/
export type RESTPatchAPIGuildMemberResult = APIGuildMember;
/**
* Returns a list of messages without the `reactions` key that match a search query in the guild. Requires the `READ_MESSAGE_HISTORY` permission.
*
* @remarks The Search Guild Messages endpoint is restricted according to whether the `MESSAGE_CONTENT` Privileged Intent is enabled for your application.
*
* If the entity you are searching is not yet indexed, the endpoint will return a 202 accepted response. The response body will not contain any search results, and will look similar to an error response:
* ```json
* {
* "message": "Index not yet available. Try again later",
* "code": 110000,
* "documents_indexed": 0,
* "retry_after": 2
* }
* ```
*
* Due to speed optimizations, search may return slightly fewer results than the limit specified when messages have not been accessed for a long time.
* Clients should not rely on the length of the `messages` array to paginate results.
*
* Additionally, when messages are actively being created or deleted, the `total_results` field may not be accurate.
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages}
*/
export interface RESTGetAPIGuildMessagesSearchQuery {
/**
* Max number of messages to return (1-25)
*
* @defaultValue `25`
*/
limit?: number;
/**
* Number to offset the returned messages by (max 9975)
*/
offset?: number;
/**
* Get messages before this message ID
*/
max_id?: Snowflake;
/**
* Get messages after this message ID
*/
min_id?: Snowflake;
/**
* Max number of words to skip between matching tokens in the search `content` (max 100)
*
* @defaultValue `2`
*/
slop?: number;
/**
* Filter messages by content (max 1024 characters)
*/
content?: string;
/**
* Filter messages by these channels (max 500)
*/
channel_id?: Snowflake[];
/**
* Filter messages by author type
*
* @remarks All types can be negated by prefixing them with `-`, which means results will not include messages that match the type.
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-author-types}
*/
author_type?: MessageSearchAuthorType[];
/**
* Filter messages by these authors (max 100)
*/
author_id?: Snowflake[];
/**
* Filter messages that mention these users (max 100)
*/
mentions?: Snowflake[];
/**
* Filter messages that mention these roles (max 100)
*/
mentions_role_id?: Snowflake[];
/**
* Filter messages that do or do not mention `@everyone`
*/
mention_everyone?: boolean;
/**
* Filter messages that reply to these users (max 100)
*/
replied_to_user_id?: Snowflake[];
/**
* Filter messages that reply to these messages (max 100)
*/
replied_to_message_id?: Snowflake[];
/**
* Filter messages by whether they are or are not pinned
*/
pinned?: boolean;
/**
* Filter messages by whether or not they have specific things
*
* @remarks All types can be negated by prefixing them with `-`, which means results will not include messages that match the type.
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-search-has-types}
*/
has?: MessageSearchHasType[];
/**
* Filter messages by embed type
*
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-search-embed-types}
*/
embed_type?: MessageSearchEmbedType[];
/**
* Filter messages by embed provider (case-sensitive, e.g. `Tenor`) (max 256 characters, max 100)
*/
embed_provider?: string[];
/**
* Filter messages by link hostname (e.g. `discordapp.com`) (max 256 characters, max 100)
*/
link_hostname?: string[];
/**
* Filter messages by attachment filename (max 1024 characters, max 100)
*/
attachment_filename?: string[];
/**
* Filter messages by attachment extension (e.g. `txt`) (max 256 characters, max 100)
*/
attachment_extension?: string[];
/**
* The sorting algorithm to use
*
* @remarks Sort order is not respected when sorting by relevance.
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-search-sort-modes}
*/
sort_by?: MessageSearchSortMode;
/**
* The direction to sort (`asc` or `desc`)
*
* @defaultValue `'desc'`
* @remarks Sort order is not respected when sorting by relevance.
*/
sort_order?: 'asc' | 'desc';
/**
* Whether to include results from age-restricted channels
*
* @defaultValue `false`
*/
include_nsfw?: boolean;
}
/**
* @see {@link https://docs.discord.com/developers/resources/message#search-guild-messages-response-body}
*/
export type RESTGetAPIGuildMessagesSearchResult = APIMessageSearchIndexNotReadyResponse | APIMessageSearchResult;
/**
* @see {@link https://discord.com/developers/docs/resources/guild#modify-current-user-nick}
* @deprecated Use {@link https://discord.com/developers/docs/resources/guild#modify-current-member | Modify Current Member} instead.
@@ -819,6 +977,14 @@ export type RESTPatchAPIGuildRoleResult = APIRole;
*/
export type RESTDeleteAPIGuildRoleResult = never;
/**
* A record mapping role IDs to the number of members that have that role.
*
* @remarks This does not include the `@everyone` role.
* @see {@link https://discord.com/developers/docs/resources/guild#get-guild-role-member-counts}
*/
export type RESTGetAPIGuildRoleMemberCountsResult = Record<Snowflake, number>;
/**
* @see {@link https://discord.com/developers/docs/resources/guild#get-guild-prune-count}
*/
@@ -1005,7 +1171,8 @@ export type RESTPutAPIGuildOnboardingJSONBody = _AddUndefinedToPossiblyUndefined
};
export interface RESTAPIGuildOnboardingPrompt
extends _AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
extends
_AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
Partial<Omit<APIGuildOnboardingPrompt, 'guild_id' | 'id' | 'options' | 'title'>>
>,
Pick<APIGuildOnboardingPrompt, 'id' | 'title'> {
@@ -1021,7 +1188,8 @@ export interface RESTAPIGuildOnboardingPrompt
export type RESTAPIModifyGuildOnboardingPromptData = RESTAPIGuildOnboardingPrompt;
export interface RESTAPIGuildOnboardingPromptOption
extends _AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
extends
_AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
Partial<Omit<APIGuildOnboardingPromptOption, 'emoji' | 'guild_id' | 'title'>>
>,
Pick<APIGuildOnboardingPromptOption, 'title'> {

View File

@@ -56,7 +56,7 @@ export interface RESTPostAPIGuildScheduledEventJSONBody {
/**
* The scheduled entity type of the guild event
*/
entity_type?: GuildScheduledEventEntityType | undefined;
entity_type: GuildScheduledEventEntityType;
/**
* The entity metadata of the scheduled event
*/
@@ -95,12 +95,15 @@ export type RESTGetAPIGuildScheduledEventResult = APIGuildScheduledEvent;
* @see {@link https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event}
*/
export interface RESTPatchAPIGuildScheduledEventJSONBody
extends _Nullable<
Pick<RESTPostAPIGuildScheduledEventJSONBody, 'description' | 'entity_metadata' | 'recurrence_rule'>
>,
extends
_Nullable<Pick<RESTPostAPIGuildScheduledEventJSONBody, 'description' | 'entity_metadata' | 'recurrence_rule'>>,
_StrictPartial<
Omit<RESTPostAPIGuildScheduledEventJSONBody, 'description' | 'entity_metadata' | 'recurrence_rule'>
Omit<
RESTPostAPIGuildScheduledEventJSONBody,
'channel_id' | 'description' | 'entity_metadata' | 'recurrence_rule'
>
> {
channel_id?: Snowflake | null | undefined;
/**
* The status of the scheduled event
*/

View File

@@ -48,7 +48,8 @@ export type RESTGetAPIApplicationCommandsResult = APIApplicationCommand[];
export type RESTGetAPIApplicationCommandResult = APIApplicationCommand;
export interface RESTPostAPIBaseApplicationCommandsJSONBody
extends _AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
extends
_AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
Omit<
APIApplicationCommand,
| 'application_id'
@@ -89,8 +90,7 @@ export interface RESTPostAPIContextMenuApplicationCommandsJSONBody extends RESTP
/**
* @see {@link https://discord.com/developers/docs/interactions/application-commands#create-global-application-command}
*/
export interface RESTPostAPIPrimaryEntryPointApplicationCommandJSONBody
extends RESTPostAPIBaseApplicationCommandsJSONBody {
export interface RESTPostAPIPrimaryEntryPointApplicationCommandJSONBody extends RESTPostAPIBaseApplicationCommandsJSONBody {
type: ApplicationCommandType.PrimaryEntryPoint;
}

37
deno/rest/v9/mod.ts generated
View File

@@ -313,6 +313,14 @@ export const Routes = {
return `/guilds/${guildId}/members/search` as const;
},
/**
* Route for:
* - GET `/guilds/{guild.id}/messages/search`
*/
guildMessagesSearch(guildId: Snowflake) {
return `/guilds/${guildId}/messages/search` as const;
},
/**
* Route for:
* - PATCH `/guilds/{guild.id}/members/@me/nick`
@@ -380,6 +388,14 @@ export const Routes = {
return `/guilds/${guildId}/roles/${roleId}` as const;
},
/**
* Route for:
* - GET `/guilds/{guild.id}/roles/member-counts`
*/
guildRoleMemberCounts(guildId: Snowflake) {
return `/guilds/${guildId}/roles/member-counts` as const;
},
/**
* Route for:
* - GET `/guilds/{guild.id}/prune`
@@ -986,6 +1002,14 @@ export const Routes = {
return '/applications/@me' as const;
},
/**
* Route for:
* - GET `/applications/{application.id}/activity-instances/{instance_id}`
*/
applicationActivityInstance(applicationId: Snowflake, instanceId: string) {
return `/applications/${applicationId}/activity-instances/${instanceId}` as const;
},
/**
* Route for:
* - GET `/applications/{application.id}/entitlements`
@@ -1099,8 +1123,8 @@ export const Routes = {
},
};
for (const [key, fn] of Object.entries(Routes)) {
Routes[key as keyof typeof Routes] = (...args: (boolean | number | string | undefined)[]) => {
for (const [key, fn] of Object.entries(Routes) as [keyof typeof Routes, (...args: any[]) => string][]) {
Routes[key] = ((...args: any[]) => {
const escaped = args.map((arg) => {
if (arg) {
// Skip already "safe" urls
@@ -1113,9 +1137,10 @@ for (const [key, fn] of Object.entries(Routes)) {
return arg;
});
// eslint-disable-next-line no-useless-call
return fn.call(null, ...escaped);
};
}) as any;
}
// Freeze the object so it can't be changed
@@ -1430,8 +1455,8 @@ export const CDNRoutes = {
},
};
for (const [key, fn] of Object.entries(CDNRoutes)) {
CDNRoutes[key as keyof typeof CDNRoutes] = (...args: (boolean | number | string | undefined)[]) => {
for (const [key, fn] of Object.entries(CDNRoutes) as [keyof typeof CDNRoutes, (...args: any[]) => string][]) {
CDNRoutes[key] = ((...args: any[]) => {
const escaped = args.map((arg) => {
if (arg) {
// Skip already "safe" urls
@@ -1446,7 +1471,7 @@ for (const [key, fn] of Object.entries(CDNRoutes)) {
});
// eslint-disable-next-line no-useless-call
return fn.call(null, ...escaped);
};
}) as any;
}
// Freeze the object so it can't be changed

View File

@@ -4,7 +4,7 @@ import type { APIApplication, APIGuild, APIUser, APIWebhook, OAuth2Scopes } from
/**
* @see {@link https://discord.com/developers/docs/topics/oauth2#get-current-bot-application-information}
*/
export type RESTGetAPIOAuth2CurrentApplicationResult = Omit<APIApplication, 'flags'>;
export type RESTGetAPIOAuth2CurrentApplicationResult = APIApplication;
/**
* @see {@link https://discord.com/developers/docs/topics/oauth2#get-current-authorization-information}

View File

@@ -4,7 +4,7 @@ import type { APISoundboardSound } from '../../payloads/v9/mod.ts';
/**
* @see {@link https://discord.com/developers/docs/resources/soundboard#send-soundboard-sound}
*/
export type RESTPostAPISendSoundboardSoundResult = APISoundboardSound;
export type RESTPostAPISendSoundboardSoundResult = never;
/**
* @see {@link https://discord.com/developers/docs/resources/soundboard#send-soundboard-sound-json-params}

2
deno/rest/v9/user.ts generated
View File

@@ -101,7 +101,7 @@ export interface RESTPostAPICurrentUserCreateDMChannelJSONBody {
/**
* The recipient to open a DM channel with
*/
recipient_id: string;
recipient_id: Snowflake;
}
/**

2
deno/rest/v9/voice.ts generated
View File

@@ -51,7 +51,7 @@ export interface RESTPatchAPIGuildVoiceStateUserJSONBody {
/**
* The id of the channel the user is currently in
*/
channel_id: Snowflake;
channel_id?: Snowflake | undefined;
/**
* Toggles the user's suppress state
*/

View File

@@ -256,7 +256,7 @@ export type RESTGetAPIWebhookWithTokenMessageResult = APIMessage;
* @see {@link https://discord.com/developers/docs/resources/webhook#get-webhook-message-query-string-params}
*/
export interface RESTGetAPIWebhookWithTokenMessageQuery {
thread_id?: string;
thread_id?: Snowflake;
}
/**
@@ -309,6 +309,13 @@ export type RESTPatchAPIWebhookWithTokenMessageQuery = Pick<
*/
export type RESTPatchAPIWebhookWithTokenMessageResult = APIMessage;
/**
* @see {@link https://docs.discord.com/developers/resources/webhook#delete-webhook-message-query-string-params}
*/
export interface RESTDeleteAPIWebhookWithTokenMessageQuery {
thread_id?: Snowflake;
}
/**
* @see {@link https://discord.com/developers/docs/resources/webhook#delete-webhook-message}
*/

22
deno/rpc/v10.ts generated
View File

@@ -1923,8 +1923,7 @@ export interface RPCCommandActivityInviteUserPayload extends RPCCommandMessage<R
args: RPCActivityInviteUserArgs;
}
export interface RPCCommandBraintreePopupBridgeCallbackPayload
extends RPCCommandMessage<RPCCommands.BraintreePopupBridgeCallback> {
export interface RPCCommandBraintreePopupBridgeCallbackPayload extends RPCCommandMessage<RPCCommands.BraintreePopupBridgeCallback> {
args: RPCBraintreePopupBridgeCallbackArgs;
}
@@ -1932,8 +1931,7 @@ export interface RPCCommandBrowserPayload extends RPCCommandMessage<RPCCommands.
args: RPCBrowserHandoffArgs;
}
export interface RPCCommandCloseActivityJoinRequestPayload
extends RPCCommandMessage<RPCCommands.CloseActivityJoinRequest> {
export interface RPCCommandCloseActivityJoinRequestPayload extends RPCCommandMessage<RPCCommands.CloseActivityJoinRequest> {
args: RPCCloseActivityJoinRequestArgs;
}
@@ -1973,8 +1971,7 @@ export interface RPCCommandGetRelationshipsPayload extends RPCCommandMessage<RPC
args: RPCGetRelationshipsArgs;
}
export interface RPCCommandGetSelectedVoiceChannelPayload
extends RPCCommandMessage<RPCCommands.GetSelectedVoiceChannel> {
export interface RPCCommandGetSelectedVoiceChannelPayload extends RPCCommandMessage<RPCCommands.GetSelectedVoiceChannel> {
args: RPCGetSelectedVoiceChannelArgs;
}
@@ -2002,13 +1999,11 @@ export interface RPCCommandNetworkingPeerMetricsPayload extends RPCCommandMessag
args: RPCNetworkingPeerMetricsArgs;
}
export interface RPCCommandNetworkingSystemMetricsPayload
extends RPCCommandMessage<RPCCommands.NetworkingSystemMetrics> {
export interface RPCCommandNetworkingSystemMetricsPayload extends RPCCommandMessage<RPCCommands.NetworkingSystemMetrics> {
args: RPCNetworkingSystemMetricsArgs;
}
export interface RPCCommandOpenOverlayActivityInvitePayload
extends RPCCommandMessage<RPCCommands.OpenOverlayActivityInvite> {
export interface RPCCommandOpenOverlayActivityInvitePayload extends RPCCommandMessage<RPCCommands.OpenOverlayActivityInvite> {
args: RPCOpenOverlayActivityInviteArgs;
}
@@ -2016,8 +2011,7 @@ export interface RPCCommandOpenOverlayGuildInvitePayload extends RPCCommandMessa
args: RPCOpenOverlayGuildInviteArgs;
}
export interface RPCCommandOpenOverlayVoiceSettingsPayload
extends RPCCommandMessage<RPCCommands.OpenOverlayVoiceSettings> {
export interface RPCCommandOpenOverlayVoiceSettingsPayload extends RPCCommandMessage<RPCCommands.OpenOverlayVoiceSettings> {
args: RPCOpenOverlayVoiceSettingsArgs;
}
@@ -2261,8 +2255,7 @@ export interface RPCActivityInviteUserResult extends RPCCommandMessage<RPCComman
data: RPCActivityInviteUserResultData;
}
export interface RPCBraintreePopupBridgeCallbackResult
extends RPCCommandMessage<RPCCommands.BraintreePopupBridgeCallback> {
export interface RPCBraintreePopupBridgeCallbackResult extends RPCCommandMessage<RPCCommands.BraintreePopupBridgeCallback> {
data: RPCBraintreePopupBridgeCallbackResultData;
}
@@ -2673,5 +2666,6 @@ export type RPCMessagePayload =
| RPCCommandSetVoiceSettingsPayload
| RPCCommandStartPurchasePayload
| RPCCommandSubscribePayload
// eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents
| RPCCommandUnsubscribePayload
| RPCCommandValidateApplicationPayload;

39
deno/utils/v10.ts generated
View File

@@ -15,13 +15,14 @@ import type {
APIMessageComponentGuildInteraction,
APIMessageComponentInteraction,
APIMessageComponentSelectMenuInteraction,
APIModalSubmitInteraction,
} from '../payloads/v10/mod.ts';
import { ApplicationCommandType, ButtonStyle, ComponentType, InteractionType } from '../payloads/v10/mod.ts';
// Interactions
/**
* A type-guard check for DM interactions
* A type guard check for DM interactions
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the interaction was received in a DM channel
@@ -31,7 +32,7 @@ export function isDMInteraction(interaction: APIInteraction): interaction is API
}
/**
* A type-guard check for guild interactions
* A type guard check for guild interactions
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the interaction was received in a guild
@@ -43,7 +44,7 @@ export function isGuildInteraction(interaction: APIInteraction): interaction is
// ApplicationCommandInteractions
/**
* A type-guard check for DM application command interactions
* A type guard check for DM application command interactions
*
* @param interaction - The application command interaction to check against
* @returns A boolean that indicates if the application command interaction was received in a DM channel
@@ -55,7 +56,7 @@ export function isApplicationCommandDMInteraction(
}
/**
* A type-guard check for guild application command interactions
* A type guard check for guild application command interactions
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the application command interaction was received in a guild
@@ -69,7 +70,7 @@ export function isApplicationCommandGuildInteraction(
// MessageComponentInteractions
/**
* A type-guard check for DM message component interactions
* A type guard check for DM message component interactions
*
* @param interaction - The message component interaction to check against
* @returns A boolean that indicates if the message component interaction was received in a DM channel
@@ -81,7 +82,7 @@ export function isMessageComponentDMInteraction(
}
/**
* A type-guard check for guild message component interactions
* A type guard check for guild message component interactions
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the message component interaction was received in a guild
@@ -95,7 +96,7 @@ export function isMessageComponentGuildInteraction(
// Buttons
/**
* A type-guard check for buttons that have a `url` attached to them.
* A type guard check for buttons that have a `url` attached to them.
*
* @param component - The button to check against
* @returns A boolean that indicates if the button has a `url` attached to it
@@ -105,7 +106,7 @@ export function isLinkButton(component: APIButtonComponent): component is APIBut
}
/**
* A type-guard check for buttons that have a `custom_id` attached to them.
* A type guard check for buttons that have a `custom_id` attached to them.
*
* @param component - The button to check against
* @returns A boolean that indicates if the button has a `custom_id` attached to it
@@ -114,10 +115,22 @@ export function isInteractionButton(component: APIButtonComponent): component is
return ![ButtonStyle.Link, ButtonStyle.Premium].includes(component.style);
}
// Modal
/**
* A type guard check for modals submit interactions
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the interaction is a modal submission
*/
export function isModalSubmitInteraction(interaction: APIInteraction): interaction is APIModalSubmitInteraction {
return interaction.type === InteractionType.ModalSubmit;
}
// Message Components
/**
* A type-guard check for message component interactions
* A type guard check for message component interactions
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the interaction is a message component
@@ -129,7 +142,7 @@ export function isMessageComponentInteraction(
}
/**
* A type-guard check for button message component interactions
* A type guard check for button message component interactions
*
* @param interaction - The message component interaction to check against
* @returns A boolean that indicates if the message component is a button
@@ -141,7 +154,7 @@ export function isMessageComponentButtonInteraction(
}
/**
* A type-guard check for select menu message component interactions
* A type guard check for select menu message component interactions
*
* @param interaction - The message component interaction to check against
* @returns A boolean that indicates if the message component is a select menu
@@ -161,7 +174,7 @@ export function isMessageComponentSelectMenuInteraction(
// Application Commands
/**
* A type-guard check for chat input application commands.
* A type guard check for chat input application commands.
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the interaction is a chat input application command
@@ -173,7 +186,7 @@ export function isChatInputApplicationCommandInteraction(
}
/**
* A type-guard check for context menu application commands.
* A type guard check for context menu application commands.
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the interaction is a context menu application command

39
deno/utils/v9.ts generated
View File

@@ -15,13 +15,14 @@ import type {
APIMessageComponentGuildInteraction,
APIMessageComponentInteraction,
APIMessageComponentSelectMenuInteraction,
APIModalSubmitInteraction,
} from '../payloads/v9/mod.ts';
import { ApplicationCommandType, ButtonStyle, ComponentType, InteractionType } from '../payloads/v9/mod.ts';
// Interactions
/**
* A type-guard check for DM interactions
* A type guard check for DM interactions
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the interaction was received in a DM channel
@@ -31,7 +32,7 @@ export function isDMInteraction(interaction: APIInteraction): interaction is API
}
/**
* A type-guard check for guild interactions
* A type guard check for guild interactions
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the interaction was received in a guild
@@ -43,7 +44,7 @@ export function isGuildInteraction(interaction: APIInteraction): interaction is
// ApplicationCommandInteractions
/**
* A type-guard check for DM application command interactions
* A type guard check for DM application command interactions
*
* @param interaction - The application command interaction to check against
* @returns A boolean that indicates if the application command interaction was received in a DM channel
@@ -55,7 +56,7 @@ export function isApplicationCommandDMInteraction(
}
/**
* A type-guard check for guild application command interactions
* A type guard check for guild application command interactions
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the application command interaction was received in a guild
@@ -69,7 +70,7 @@ export function isApplicationCommandGuildInteraction(
// MessageComponentInteractions
/**
* A type-guard check for DM message component interactions
* A type guard check for DM message component interactions
*
* @param interaction - The message component interaction to check against
* @returns A boolean that indicates if the message component interaction was received in a DM channel
@@ -81,7 +82,7 @@ export function isMessageComponentDMInteraction(
}
/**
* A type-guard check for guild message component interactions
* A type guard check for guild message component interactions
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the message component interaction was received in a guild
@@ -95,7 +96,7 @@ export function isMessageComponentGuildInteraction(
// Buttons
/**
* A type-guard check for buttons that have a `url` attached to them.
* A type guard check for buttons that have a `url` attached to them.
*
* @param component - The button to check against
* @returns A boolean that indicates if the button has a `url` attached to it
@@ -105,7 +106,7 @@ export function isLinkButton(component: APIButtonComponent): component is APIBut
}
/**
* A type-guard check for buttons that have a `custom_id` attached to them.
* A type guard check for buttons that have a `custom_id` attached to them.
*
* @param component - The button to check against
* @returns A boolean that indicates if the button has a `custom_id` attached to it
@@ -114,10 +115,22 @@ export function isInteractionButton(component: APIButtonComponent): component is
return ![ButtonStyle.Link, ButtonStyle.Premium].includes(component.style);
}
// Modal
/**
* A type guard check for modals submit interactions
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the interaction is a modal submission
*/
export function isModalSubmitInteraction(interaction: APIInteraction): interaction is APIModalSubmitInteraction {
return interaction.type === InteractionType.ModalSubmit;
}
// Message Components
/**
* A type-guard check for message component interactions
* A type guard check for message component interactions
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the interaction is a message component
@@ -129,7 +142,7 @@ export function isMessageComponentInteraction(
}
/**
* A type-guard check for button message component interactions
* A type guard check for button message component interactions
*
* @param interaction - The message component interaction to check against
* @returns A boolean that indicates if the message component is a button
@@ -141,7 +154,7 @@ export function isMessageComponentButtonInteraction(
}
/**
* A type-guard check for select menu message component interactions
* A type guard check for select menu message component interactions
*
* @param interaction - The message component interaction to check against
* @returns A boolean that indicates if the message component is a select menu
@@ -161,7 +174,7 @@ export function isMessageComponentSelectMenuInteraction(
// Application Commands
/**
* A type-guard check for chat input application commands.
* A type guard check for chat input application commands.
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the interaction is a chat input application command
@@ -173,7 +186,7 @@ export function isChatInputApplicationCommandInteraction(
}
/**
* A type-guard check for context menu application commands.
* A type guard check for context menu application commands.
*
* @param interaction - The interaction to check against
* @returns A boolean that indicates if the interaction is a context menu application command

4
deno/voice/v4.ts generated
View File

@@ -156,6 +156,10 @@ export enum VoiceCloseCodes {
* We didn't recognize your encryption
*/
UnknownEncryptionMode,
/**
* E2EE/DAVE protocol required
*/
EndToEndEncryptionDAVEProtocolRequired,
/**
* You sent a malformed request
*/

4
deno/voice/v8.ts generated
View File

@@ -152,6 +152,10 @@ export enum VoiceCloseCodes {
* We didn't recognize your encryption
*/
UnknownEncryptionMode,
/**
* E2EE/DAVE protocol required
*/
EndToEndEncryptionDAVEProtocolRequired,
/**
* You sent a malformed request
*/

View File

@@ -4,5 +4,5 @@
export interface GatewayURLQuery {
v: string;
encoding: 'etf' | 'json';
compress?: 'zlib-stream';
compress?: 'zlib-stream' | 'zstd-stream';
}

View File

@@ -331,12 +331,17 @@ export type GatewayDispatchPayload =
| GatewayAutoModerationActionExecutionDispatch
| GatewayAutoModerationRuleCreateDispatch
| GatewayAutoModerationRuleDeleteDispatch
| GatewayAutoModerationRuleModifyDispatch
| GatewayChannelModifyDispatch
| GatewayAutoModerationRuleUpdateDispatch
| GatewayChannelCreateDispatch
| GatewayChannelDeleteDispatch
| GatewayChannelPinsUpdateDispatch
| GatewayEntitlementModifyDispatch
| GatewayChannelUpdateDispatch
| GatewayEntitlementCreateDispatch
| GatewayEntitlementDeleteDispatch
| GatewayEntitlementUpdateDispatch
| GatewayGuildAuditLogEntryCreateDispatch
| GatewayGuildBanModifyDispatch
| GatewayGuildBanAddDispatch
| GatewayGuildBanRemoveDispatch
| GatewayGuildCreateDispatch
| GatewayGuildDeleteDispatch
| GatewayGuildEmojisUpdateDispatch
@@ -346,8 +351,9 @@ export type GatewayDispatchPayload =
| GatewayGuildMembersChunkDispatch
| GatewayGuildMemberUpdateDispatch
| GatewayGuildModifyDispatch
| GatewayGuildRoleCreateDispatch
| GatewayGuildRoleDeleteDispatch
| GatewayGuildRoleModifyDispatch
| GatewayGuildRoleUpdateDispatch
| GatewayGuildScheduledEventCreateDispatch
| GatewayGuildScheduledEventDeleteDispatch
| GatewayGuildScheduledEventUpdateDispatch
@@ -382,7 +388,9 @@ export type GatewayDispatchPayload =
| GatewayStageInstanceCreateDispatch
| GatewayStageInstanceDeleteDispatch
| GatewayStageInstanceUpdateDispatch
| GatewaySubscriptionModifyDispatch
| GatewaySubscriptionCreateDispatch
| GatewaySubscriptionDeleteDispatch
| GatewaySubscriptionUpdateDispatch
| GatewayThreadCreateDispatch
| GatewayThreadDeleteDispatch
| GatewayThreadListSyncDispatch
@@ -529,7 +537,10 @@ export type GatewayAutoModerationRuleModifyDispatchData = APIAutoModerationRule;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create}
*/
export type GatewayAutoModerationRuleCreateDispatch = GatewayAutoModerationRuleModifyDispatch;
export type GatewayAutoModerationRuleCreateDispatch = _DataPayload<
GatewayDispatchEvents.AutoModerationRuleCreate,
GatewayAutoModerationRuleCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create}
@@ -539,7 +550,10 @@ export type GatewayAutoModerationRuleCreateDispatchData = GatewayAutoModerationR
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update}
*/
export type GatewayAutoModerationRuleUpdateDispatch = GatewayAutoModerationRuleModifyDispatch;
export type GatewayAutoModerationRuleUpdateDispatch = _DataPayload<
GatewayDispatchEvents.AutoModerationRuleUpdate,
GatewayAutoModerationRuleUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update}
@@ -549,7 +563,10 @@ export type GatewayAutoModerationRuleUpdateDispatchData = GatewayAutoModerationR
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete}
*/
export type GatewayAutoModerationRuleDeleteDispatch = GatewayAutoModerationRuleModifyDispatch;
export type GatewayAutoModerationRuleDeleteDispatch = _DataPayload<
GatewayDispatchEvents.AutoModerationRuleDelete,
GatewayAutoModerationRuleDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete}
@@ -674,7 +691,10 @@ export type GatewaySubscriptionModifyDispatchData = APISubscription;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-create}
*/
export type GatewaySubscriptionCreateDispatch = GatewaySubscriptionModifyDispatch;
export type GatewaySubscriptionCreateDispatch = _DataPayload<
GatewayDispatchEvents.SubscriptionCreate,
GatewaySubscriptionCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-create}
@@ -684,7 +704,10 @@ export type GatewaySubscriptionCreateDispatchData = GatewaySubscriptionModifyDis
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-update}
*/
export type GatewaySubscriptionUpdateDispatch = GatewaySubscriptionModifyDispatch;
export type GatewaySubscriptionUpdateDispatch = _DataPayload<
GatewayDispatchEvents.SubscriptionUpdate,
GatewaySubscriptionUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-update}
@@ -694,7 +717,10 @@ export type GatewaySubscriptionUpdateDispatchData = GatewaySubscriptionModifyDis
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-delete}
*/
export type GatewaySubscriptionDeleteDispatch = GatewaySubscriptionModifyDispatch;
export type GatewaySubscriptionDeleteDispatch = _DataPayload<
GatewayDispatchEvents.SubscriptionDelete,
GatewaySubscriptionDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-delete}
@@ -724,7 +750,10 @@ export type GatewayChannelModifyDispatchData = APIChannel & {
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-create}
*/
export type GatewayChannelCreateDispatch = GatewayChannelModifyDispatch;
export type GatewayChannelCreateDispatch = _DataPayload<
GatewayDispatchEvents.ChannelCreate,
GatewayChannelCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-create}
@@ -734,7 +763,10 @@ export type GatewayChannelCreateDispatchData = GatewayChannelModifyDispatchData;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-update}
*/
export type GatewayChannelUpdateDispatch = GatewayChannelModifyDispatch;
export type GatewayChannelUpdateDispatch = _DataPayload<
GatewayDispatchEvents.ChannelUpdate,
GatewayChannelUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-update}
@@ -744,7 +776,10 @@ export type GatewayChannelUpdateDispatchData = GatewayChannelModifyDispatchData;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-delete}
*/
export type GatewayChannelDeleteDispatch = GatewayChannelModifyDispatch;
export type GatewayChannelDeleteDispatch = _DataPayload<
GatewayDispatchEvents.ChannelDelete,
GatewayChannelDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-delete}
@@ -804,7 +839,10 @@ export type GatewayEntitlementCreateDispatchData = GatewayEntitlementModifyDispa
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-create}
*/
export type GatewayEntitlementCreateDispatch = GatewayEntitlementModifyDispatch;
export type GatewayEntitlementCreateDispatch = _DataPayload<
GatewayDispatchEvents.EntitlementCreate,
GatewayEntitlementCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-update}
@@ -814,7 +852,10 @@ export type GatewayEntitlementUpdateDispatchData = GatewayEntitlementModifyDispa
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-update}
*/
export type GatewayEntitlementUpdateDispatch = GatewayEntitlementModifyDispatch;
export type GatewayEntitlementUpdateDispatch = _DataPayload<
GatewayDispatchEvents.EntitlementUpdate,
GatewayEntitlementUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-delete}
@@ -824,7 +865,10 @@ export type GatewayEntitlementDeleteDispatchData = GatewayEntitlementModifyDispa
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-delete}
*/
export type GatewayEntitlementDeleteDispatch = GatewayEntitlementModifyDispatch;
export type GatewayEntitlementDeleteDispatch = _DataPayload<
GatewayDispatchEvents.EntitlementDelete,
GatewayEntitlementDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-update}
@@ -999,7 +1043,10 @@ export interface GatewayGuildBanModifyDispatchData {
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-add}
*/
export type GatewayGuildBanAddDispatch = GatewayGuildBanModifyDispatch;
export type GatewayGuildBanAddDispatch = _DataPayload<
GatewayDispatchEvents.GuildBanAdd,
GatewayGuildBanAddDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-add}
@@ -1009,7 +1056,10 @@ export type GatewayGuildBanAddDispatchData = GatewayGuildBanModifyDispatchData;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove}
*/
export type GatewayGuildBanRemoveDispatch = GatewayGuildBanModifyDispatch;
export type GatewayGuildBanRemoveDispatch = _DataPayload<
GatewayDispatchEvents.GuildBanRemove,
GatewayGuildBanRemoveDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove}
@@ -1136,7 +1186,8 @@ export type GatewayGuildMemberUpdateDispatch = _DataPayload<
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-member-update}
*/
export interface GatewayGuildMemberUpdateDispatchData
extends APIGuildMemberJoined,
extends
APIGuildMemberJoined,
APIBaseGuildMember,
Partial<APIBaseVoiceGuildMember>,
Partial<APIFlaggedGuildMember>,
@@ -1225,7 +1276,10 @@ export interface GatewayGuildRoleModifyDispatchData {
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-create}
*/
export type GatewayGuildRoleCreateDispatch = GatewayGuildRoleModifyDispatch;
export type GatewayGuildRoleCreateDispatch = _DataPayload<
GatewayDispatchEvents.GuildRoleCreate,
GatewayGuildRoleCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-create}
@@ -1235,7 +1289,10 @@ export type GatewayGuildRoleCreateDispatchData = GatewayGuildRoleModifyDispatchD
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-update}
*/
export type GatewayGuildRoleUpdateDispatch = GatewayGuildRoleModifyDispatch;
export type GatewayGuildRoleUpdateDispatch = _DataPayload<
GatewayDispatchEvents.GuildRoleUpdate,
GatewayGuildRoleUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-update}
@@ -1325,7 +1382,7 @@ export interface GatewayGuildScheduledEventUserAddDispatchData {
*/
export type GatewayGuildScheduledEventUserRemoveDispatch = _DataPayload<
GatewayDispatchEvents.GuildScheduledEventUserRemove,
GatewayGuildScheduledEventUserAddDispatchData
GatewayGuildScheduledEventUserRemoveDispatchData
>;
/**
@@ -1519,7 +1576,7 @@ export interface GatewayInviteCreateDispatchData {
/**
* The time at which the invite was created
*/
created_at: number;
created_at: string;
/**
* The guild of the invite
*/
@@ -1623,7 +1680,8 @@ export type GatewayMessageUpdateDispatch = _DataPayload<
export interface GatewayMessageUpdateDispatchData extends GatewayMessageEventExtraFields, APIBaseMessage {}
export interface APIGuildMemberNoUser
extends APIBaseGuildMember,
extends
APIBaseGuildMember,
APIFlaggedGuildMember,
APIGuildMemberAvatar,
NonNullable<APIGuildMemberJoined>,

View File

@@ -330,12 +330,17 @@ export type GatewayDispatchPayload =
| GatewayAutoModerationActionExecutionDispatch
| GatewayAutoModerationRuleCreateDispatch
| GatewayAutoModerationRuleDeleteDispatch
| GatewayAutoModerationRuleModifyDispatch
| GatewayChannelModifyDispatch
| GatewayAutoModerationRuleUpdateDispatch
| GatewayChannelCreateDispatch
| GatewayChannelDeleteDispatch
| GatewayChannelPinsUpdateDispatch
| GatewayEntitlementModifyDispatch
| GatewayChannelUpdateDispatch
| GatewayEntitlementCreateDispatch
| GatewayEntitlementDeleteDispatch
| GatewayEntitlementUpdateDispatch
| GatewayGuildAuditLogEntryCreateDispatch
| GatewayGuildBanModifyDispatch
| GatewayGuildBanAddDispatch
| GatewayGuildBanRemoveDispatch
| GatewayGuildCreateDispatch
| GatewayGuildDeleteDispatch
| GatewayGuildEmojisUpdateDispatch
@@ -345,8 +350,9 @@ export type GatewayDispatchPayload =
| GatewayGuildMembersChunkDispatch
| GatewayGuildMemberUpdateDispatch
| GatewayGuildModifyDispatch
| GatewayGuildRoleCreateDispatch
| GatewayGuildRoleDeleteDispatch
| GatewayGuildRoleModifyDispatch
| GatewayGuildRoleUpdateDispatch
| GatewayGuildScheduledEventCreateDispatch
| GatewayGuildScheduledEventDeleteDispatch
| GatewayGuildScheduledEventUpdateDispatch
@@ -381,7 +387,9 @@ export type GatewayDispatchPayload =
| GatewayStageInstanceCreateDispatch
| GatewayStageInstanceDeleteDispatch
| GatewayStageInstanceUpdateDispatch
| GatewaySubscriptionModifyDispatch
| GatewaySubscriptionCreateDispatch
| GatewaySubscriptionDeleteDispatch
| GatewaySubscriptionUpdateDispatch
| GatewayThreadCreateDispatch
| GatewayThreadDeleteDispatch
| GatewayThreadListSyncDispatch
@@ -528,7 +536,10 @@ export type GatewayAutoModerationRuleModifyDispatchData = APIAutoModerationRule;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create}
*/
export type GatewayAutoModerationRuleCreateDispatch = GatewayAutoModerationRuleModifyDispatch;
export type GatewayAutoModerationRuleCreateDispatch = _DataPayload<
GatewayDispatchEvents.AutoModerationRuleCreate,
GatewayAutoModerationRuleCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-create}
@@ -538,7 +549,10 @@ export type GatewayAutoModerationRuleCreateDispatchData = GatewayAutoModerationR
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update}
*/
export type GatewayAutoModerationRuleUpdateDispatch = GatewayAutoModerationRuleModifyDispatch;
export type GatewayAutoModerationRuleUpdateDispatch = _DataPayload<
GatewayDispatchEvents.AutoModerationRuleUpdate,
GatewayAutoModerationRuleUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-update}
@@ -548,7 +562,10 @@ export type GatewayAutoModerationRuleUpdateDispatchData = GatewayAutoModerationR
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete}
*/
export type GatewayAutoModerationRuleDeleteDispatch = GatewayAutoModerationRuleModifyDispatch;
export type GatewayAutoModerationRuleDeleteDispatch = _DataPayload<
GatewayDispatchEvents.AutoModerationRuleDelete,
GatewayAutoModerationRuleDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#auto-moderation-rule-delete}
@@ -673,7 +690,10 @@ export type GatewaySubscriptionModifyDispatchData = APISubscription;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-create}
*/
export type GatewaySubscriptionCreateDispatch = GatewaySubscriptionModifyDispatch;
export type GatewaySubscriptionCreateDispatch = _DataPayload<
GatewayDispatchEvents.SubscriptionCreate,
GatewaySubscriptionCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-create}
@@ -683,7 +703,10 @@ export type GatewaySubscriptionCreateDispatchData = GatewaySubscriptionModifyDis
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-update}
*/
export type GatewaySubscriptionUpdateDispatch = GatewaySubscriptionModifyDispatch;
export type GatewaySubscriptionUpdateDispatch = _DataPayload<
GatewayDispatchEvents.SubscriptionUpdate,
GatewaySubscriptionUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-update}
@@ -693,7 +716,10 @@ export type GatewaySubscriptionUpdateDispatchData = GatewaySubscriptionModifyDis
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-delete}
*/
export type GatewaySubscriptionDeleteDispatch = GatewaySubscriptionModifyDispatch;
export type GatewaySubscriptionDeleteDispatch = _DataPayload<
GatewayDispatchEvents.SubscriptionDelete,
GatewaySubscriptionDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#subscription-delete}
@@ -723,7 +749,10 @@ export type GatewayChannelModifyDispatchData = APIChannel & {
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-create}
*/
export type GatewayChannelCreateDispatch = GatewayChannelModifyDispatch;
export type GatewayChannelCreateDispatch = _DataPayload<
GatewayDispatchEvents.ChannelCreate,
GatewayChannelCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-create}
@@ -733,7 +762,10 @@ export type GatewayChannelCreateDispatchData = GatewayChannelModifyDispatchData;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-update}
*/
export type GatewayChannelUpdateDispatch = GatewayChannelModifyDispatch;
export type GatewayChannelUpdateDispatch = _DataPayload<
GatewayDispatchEvents.ChannelUpdate,
GatewayChannelUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-update}
@@ -743,7 +775,10 @@ export type GatewayChannelUpdateDispatchData = GatewayChannelModifyDispatchData;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-delete}
*/
export type GatewayChannelDeleteDispatch = GatewayChannelModifyDispatch;
export type GatewayChannelDeleteDispatch = _DataPayload<
GatewayDispatchEvents.ChannelDelete,
GatewayChannelDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#channel-delete}
@@ -803,7 +838,10 @@ export type GatewayEntitlementCreateDispatchData = GatewayEntitlementModifyDispa
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-create}
*/
export type GatewayEntitlementCreateDispatch = GatewayEntitlementModifyDispatch;
export type GatewayEntitlementCreateDispatch = _DataPayload<
GatewayDispatchEvents.EntitlementCreate,
GatewayEntitlementCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-update}
@@ -813,7 +851,10 @@ export type GatewayEntitlementUpdateDispatchData = GatewayEntitlementModifyDispa
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-update}
*/
export type GatewayEntitlementUpdateDispatch = GatewayEntitlementModifyDispatch;
export type GatewayEntitlementUpdateDispatch = _DataPayload<
GatewayDispatchEvents.EntitlementUpdate,
GatewayEntitlementUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-delete}
@@ -823,7 +864,10 @@ export type GatewayEntitlementDeleteDispatchData = GatewayEntitlementModifyDispa
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#entitlement-delete}
*/
export type GatewayEntitlementDeleteDispatch = GatewayEntitlementModifyDispatch;
export type GatewayEntitlementDeleteDispatch = _DataPayload<
GatewayDispatchEvents.EntitlementDelete,
GatewayEntitlementDeleteDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-update}
@@ -998,7 +1042,10 @@ export interface GatewayGuildBanModifyDispatchData {
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-add}
*/
export type GatewayGuildBanAddDispatch = GatewayGuildBanModifyDispatch;
export type GatewayGuildBanAddDispatch = _DataPayload<
GatewayDispatchEvents.GuildBanAdd,
GatewayGuildBanAddDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-add}
@@ -1008,7 +1055,10 @@ export type GatewayGuildBanAddDispatchData = GatewayGuildBanModifyDispatchData;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove}
*/
export type GatewayGuildBanRemoveDispatch = GatewayGuildBanModifyDispatch;
export type GatewayGuildBanRemoveDispatch = _DataPayload<
GatewayDispatchEvents.GuildBanRemove,
GatewayGuildBanRemoveDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-ban-remove}
@@ -1135,7 +1185,8 @@ export type GatewayGuildMemberUpdateDispatch = _DataPayload<
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-member-update}
*/
export interface GatewayGuildMemberUpdateDispatchData
extends APIGuildMemberJoined,
extends
APIGuildMemberJoined,
APIBaseGuildMember,
Partial<APIBaseVoiceGuildMember>,
Partial<APIFlaggedGuildMember>,
@@ -1224,7 +1275,10 @@ export interface GatewayGuildRoleModifyDispatchData {
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-create}
*/
export type GatewayGuildRoleCreateDispatch = GatewayGuildRoleModifyDispatch;
export type GatewayGuildRoleCreateDispatch = _DataPayload<
GatewayDispatchEvents.GuildRoleCreate,
GatewayGuildRoleCreateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-create}
@@ -1234,7 +1288,10 @@ export type GatewayGuildRoleCreateDispatchData = GatewayGuildRoleModifyDispatchD
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-update}
*/
export type GatewayGuildRoleUpdateDispatch = GatewayGuildRoleModifyDispatch;
export type GatewayGuildRoleUpdateDispatch = _DataPayload<
GatewayDispatchEvents.GuildRoleUpdate,
GatewayGuildRoleUpdateDispatchData
>;
/**
* @see {@link https://discord.com/developers/docs/topics/gateway-events#guild-role-update}
@@ -1324,7 +1381,7 @@ export interface GatewayGuildScheduledEventUserAddDispatchData {
*/
export type GatewayGuildScheduledEventUserRemoveDispatch = _DataPayload<
GatewayDispatchEvents.GuildScheduledEventUserRemove,
GatewayGuildScheduledEventUserAddDispatchData
GatewayGuildScheduledEventUserRemoveDispatchData
>;
/**
@@ -1518,7 +1575,7 @@ export interface GatewayInviteCreateDispatchData {
/**
* The time at which the invite was created
*/
created_at: number;
created_at: string;
/**
* The guild of the invite
*/
@@ -1622,7 +1679,8 @@ export type GatewayMessageUpdateDispatch = _DataPayload<
export interface GatewayMessageUpdateDispatchData extends GatewayMessageEventExtraFields, APIBaseMessage {}
export interface APIGuildMemberNoUser
extends APIBaseGuildMember,
extends
APIBaseGuildMember,
APIFlaggedGuildMember,
APIGuildMemberAvatar,
NonNullable<APIGuildMemberJoined>,

View File

@@ -8,6 +8,9 @@ export type Snowflake = string;
*/
export type Permissions = string;
const timestampStyles = 'DFRSTdfst';
const timestampLength = 13;
/**
* @see {@link https://discord.com/developers/docs/reference#message-formatting-formats}
*/
@@ -76,20 +79,19 @@ export const FormattingPatterns = {
*
* The `timestamp` and `style` group properties are present on the `exec` result of this expression
*/
// eslint-disable-next-line prefer-named-capture-group, unicorn/better-regex
Timestamp: /<t:(?<timestamp>-?\d{1,13})(:(?<style>[DFRSTdfst]))?>/,
Timestamp: new RegExp(`<t:(?<timestamp>-?\\d{1,${timestampLength}})(:(?<style>[${timestampStyles}]))?>`),
/**
* Regular expression for matching strictly default styled timestamps
*
* The `timestamp` group property is present on the `exec` result of this expression
*/
DefaultStyledTimestamp: /<t:(?<timestamp>-?\d{1,13})>/,
DefaultStyledTimestamp: new RegExp(`<t:(?<timestamp>-?\\d{1,${timestampLength}})>`),
/**
* Regular expression for matching strictly custom styled timestamps
*
* The `timestamp` and `style` group properties are present on the `exec` result of this expression
*/
StyledTimestamp: /<t:(?<timestamp>-?\d{1,13}):(?<style>[DFRTdft])>/,
StyledTimestamp: new RegExp(`<t:(?<timestamp>-?\\d{1,${timestampLength}}):(?<style>[${timestampStyles}])>`),
/**
* Regular expression for matching a guild navigation mention
*

View File

@@ -1,6 +1,6 @@
{
"name": "discord-api-types",
"version": "0.38.32",
"version": "0.38.47",
"description": "Discord API typings that are kept up to date for use in bot library creation.",
"homepage": "https://discord-api-types.dev",
"workspaces": [
@@ -139,13 +139,13 @@
"@octokit/webhooks-types": "^7.6.1",
"@sapphire/prettier-config": "^2.0.0",
"@types/lodash.merge": "^4",
"@types/node": "^22.15.29",
"@types/node": "^24.0.0",
"@typescript-eslint/utils": "^8.33.0",
"conventional-changelog": "^7.0.2",
"conventional-changelog-angular": "^8.0.0",
"conventional-recommended-bump": "^11.1.0",
"eslint": "^9.28.0",
"eslint-config-neon": "^0.2.7",
"eslint": "^10.0.0",
"eslint-config-neon": "^0.4.0",
"eslint-formatter-pretty": "^7.0.0",
"eslint-import-resolver-typescript": "^4.4.2",
"gen-esm-wrapper": "^1.1.3",
@@ -154,13 +154,13 @@
"lint-staged": "^16.1.0",
"lodash.merge": "^4.6.2",
"npm-run-all2": "^8.0.4",
"prettier": "^3.5.3",
"prettier": "^3.7.4",
"pretty-quick": "^4.1.1",
"rimraf": "^6.0.1",
"ts-morph": "^27.0.0",
"tsutils": "^3.21.0",
"tsx": "^4.20.3",
"typescript": "^5.8.3",
"typescript": "^6.0.0",
"typescript-eslint": "^8.33.0"
},
"publishConfig": {
@@ -207,9 +207,9 @@
]
}
},
"packageManager": "yarn@4.10.3",
"packageManager": "yarn@4.14.1",
"volta": {
"node": "24.11.0",
"yarn": "4.10.3"
"node": "24.15.0",
"yarn": "4.14.1"
}
}

View File

@@ -17,7 +17,6 @@ export const PermissionFlagsBits = {
/**
* Allows kicking members
*/
KickMembers: 1n << 1n,
/**
* Allows banning members
@@ -38,7 +37,7 @@ export const PermissionFlagsBits = {
*/
ManageGuild: 1n << 5n,
/**
* Allows for the addition of reactions to messages
* Allows for the addition of reactions to messages. This permission does not apply to reacting with an existing reaction on a message
*
* Applies to channel types: Text, Voice, Stage
*/
@@ -234,9 +233,9 @@ export const PermissionFlagsBits = {
*/
SendMessagesInThreads: 1n << 38n,
/**
* Allows for using Activities (applications with the {@link ApplicationFlags.Embedded} flag) in a voice channel
* Allows for using Activities (applications with the {@link ApplicationFlags.Embedded} flag)
*
* Applies to channel types: Voice
* Applies to channel types: Text, Voice
*/
UseEmbeddedActivities: 1n << 39n,
/**
@@ -294,6 +293,12 @@ export const PermissionFlagsBits = {
* Applies to channel types: Text
*/
PinMessages: 1n << 51n,
/**
* Allows bypassing slowmode restrictions
*
* Applies to channel types: Text, Voice, Stage
*/
BypassSlowmode: 1n << 52n,
} as const;
/**

View File

@@ -1,11 +1,10 @@
import type { Snowflake } from '../../../../../globals';
import type { ChannelType } from '../../../channel';
import type { ApplicationCommandOptionAllowedChannelType } from '../../../channel';
import type { APIApplicationCommandOptionBase, APIInteractionDataOptionBase } from './base';
import type { ApplicationCommandOptionType } from './shared';
export interface APIApplicationCommandChannelOption
extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Channel> {
channel_types?: Exclude<ChannelType, ChannelType.DM | ChannelType.GroupDM | ChannelType.GuildDirectory>[];
export interface APIApplicationCommandChannelOption extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Channel> {
channel_types?: ApplicationCommandOptionAllowedChannelType[];
}
export type APIApplicationCommandInteractionDataChannelOption = APIInteractionDataOptionBase<

View File

@@ -6,8 +6,7 @@ import type {
} from './base';
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared';
export interface APIApplicationCommandIntegerOptionBase
extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Integer> {
export interface APIApplicationCommandIntegerOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Integer> {
/**
* If the option is an `INTEGER` or `NUMBER` type, the minimum value permitted.
*/
@@ -23,10 +22,11 @@ export type APIApplicationCommandIntegerOption = APIApplicationCommandOptionWith
APIApplicationCommandOptionChoice<number>
>;
export interface APIApplicationCommandInteractionDataIntegerOption<Type extends InteractionType = InteractionType>
extends APIInteractionDataOptionBase<
ApplicationCommandOptionType.Integer,
Type extends InteractionType.ApplicationCommandAutocomplete ? string : number
> {
export interface APIApplicationCommandInteractionDataIntegerOption<
Type extends InteractionType = InteractionType,
> extends APIInteractionDataOptionBase<
ApplicationCommandOptionType.Integer,
Type extends InteractionType.ApplicationCommandAutocomplete ? string : number
> {
focused?: boolean;
}

View File

@@ -6,8 +6,7 @@ import type {
} from './base';
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared';
export interface APIApplicationCommandNumberOptionBase
extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Number> {
export interface APIApplicationCommandNumberOptionBase extends APIApplicationCommandOptionBase<ApplicationCommandOptionType.Number> {
/**
* If the option is an `INTEGER` or `NUMBER` type, the minimum value permitted.
*/
@@ -23,10 +22,11 @@ export type APIApplicationCommandNumberOption = APIApplicationCommandOptionWithA
APIApplicationCommandOptionChoice<number>
>;
export interface APIApplicationCommandInteractionDataNumberOption<Type extends InteractionType = InteractionType>
extends APIInteractionDataOptionBase<
ApplicationCommandOptionType.Number,
Type extends InteractionType.ApplicationCommandAutocomplete ? string : number
> {
export interface APIApplicationCommandInteractionDataNumberOption<
Type extends InteractionType = InteractionType,
> extends APIInteractionDataOptionBase<
ApplicationCommandOptionType.Number,
Type extends InteractionType.ApplicationCommandAutocomplete ? string : number
> {
focused?: boolean;
}

Some files were not shown because too many files have changed in this diff Show More