Compare commits

...

52 Commits

Author SHA1 Message Date
github-actions[bot]
d201436233 chore(release): 0.37.89 🎉 (#1006)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-13 15:21:33 +03:00
Jiralite
d63bea7dfc feat: Add use external apps permission (#999) 2024-06-11 00:50:35 +03:00
github-actions[bot]
e330d3dcde chore(release): 0.37.88 🎉 (#1005)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-10 15:21:58 +03:00
renovate[bot]
fdb2d0a3c0 chore(deps): lock file maintenance (#1003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-09 01:27:21 +03:00
renovate[bot]
8657befda4 chore(deps): update patch/minor dependencies (#1002)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-09 01:19:00 +03:00
Danial Raza
173f9ed0fa feat(MessageType): add incident related types (#1004) 2024-06-09 01:18:07 +03:00
Jiralite
fdc04089e1 feat(RouteBases): Add media URL (#1001) 2024-06-07 01:24:12 +03:00
Almeida
c6a72a55e5 feat(AuditLogEvent): home settings events (#1000) 2024-06-07 01:17:00 +03:00
advaith
98544fa56a fix(APIGuildMember): make user required and omit in messages (#998) 2024-06-07 01:16:37 +03:00
github-actions[bot]
3ce9610ba0 chore(release): 0.37.87 🎉 (#997)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-03 15:49:48 +03:00
Jaw0r3k
509746003a feat(AutoModeration): add blocking words in member profile (#740)
Co-authored-by: almeidx <github@almeidx.dev>
Co-authored-by: Vlad Frangu <me@vladfrangu.dev>
2024-06-03 14:09:02 +03:00
cobalt
f859a96974 fix: Correct types for APIAuditLogChangeKey$Add and APIAuditLogChangeKey$Remove (#955)
Co-authored-by: almeidx <github@almeidx.dev>
2024-06-02 17:22:45 +03:00
renovate[bot]
344e43b307 chore(deps): lock file maintenance (#996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-31 17:07:09 +03:00
renovate[bot]
709153564e chore(deps): lock file maintenance (#995)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-31 10:27:46 +03:00
renovate[bot]
782a711236 chore(deps): lock file maintenance (#992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-31 09:00:50 +03:00
renovate[bot]
566f2bc2c7 chore(deps): update patch/minor dependencies (#994)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-31 08:59:16 +03:00
github-actions[bot]
2627c0c98c chore(release): 0.37.86 🎉 (#993)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-27 15:20:59 +03:00
renovate[bot]
0c46476110 chore(deps): lock file maintenance (#991)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-24 08:42:47 +03:00
renovate[bot]
d273000c32 chore(deps): update dependency lint-staged to v15.2.4 (#990)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-24 08:26:37 +03:00
Danial Raza
5678a63875 docs: reeeee (#989) 2024-05-23 18:44:17 +03:00
github-actions[bot]
f9913cb9a1 chore(release): 0.37.85 🎉 (#988)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-23 15:20:50 +03:00
MateoDeveloper
16a6a46832 feat: add gateway events payload for super reactions (#878) 2024-05-23 13:29:47 +03:00
n1ck_pro
79d9875c5d feat(APIMessage): add call (#983) 2024-05-22 13:07:44 +03:00
MateoDeveloper
ddb2bde077 feat: add type query param for get reactions endpoint (#879) 2024-05-22 13:04:40 +03:00
renovate[bot]
c8bfdebf24 chore(deps): lock file maintenance (#986)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-21 09:05:21 +03:00
renovate[bot]
707fd2e36e chore(deps): update patch/minor dependencies (#985)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-21 09:02:27 +03:00
github-actions[bot]
a69286a361 chore(release): 0.37.84 🎉 (#984)
Build ran for c457b8d059

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-16 15:22:34 +03:00
Atora
c457b8d059 feat: user-installable apps (#921)
Co-authored-by: Vlad Frangu <me@vladfrangu.dev>
2024-05-15 15:41:08 +03:00
Danial Raza
7650ce4f72 feat: support avatar decorations (#834) 2024-05-15 15:33:08 +03:00
Danial Raza
65eebd92d6 feat(RESTJSONErrorCodes): add error code 40333 (#854)
Co-authored-by: Vlad Frangu <me@vladfrangu.dev>
2024-05-14 01:02:39 +03:00
renovate[bot]
0fafe5e901 chore(deps): update dependency rimraf to v5.0.7 (#982)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 16:38:12 +03:00
renovate[bot]
0fce829175 chore(deps): lock file maintenance (#981)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 11:19:42 +03:00
renovate[bot]
33d5b14f22 chore(deps): update dependency @octokit/action to v7 (#977)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 11:18:21 +03:00
renovate[bot]
aa7d1ee943 chore(deps): update dependency @types/node to v20.12.11 (#976)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 11:17:19 +03:00
dependabot[bot]
3e4c34cace chore(deps): bump ejs from 3.1.8 to 3.1.10 in /website (#972)
Bumps [ejs](https://github.com/mde/ejs) from 3.1.8 to 3.1.10.
- [Release notes](https://github.com/mde/ejs/releases)
- [Commits](https://github.com/mde/ejs/compare/v3.1.8...v3.1.10)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-03 10:43:42 +03:00
renovate[bot]
8c603dc838 chore(deps): lock file maintenance (#975)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-03 10:43:12 +03:00
renovate[bot]
f9155dddb8 chore(deps): lock file maintenance (#974)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-03 10:22:26 +03:00
renovate[bot]
d0e4018607 chore(deps): update patch/minor dependencies (#973)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-03 10:22:01 +03:00
github-actions[bot]
189e91d62c chore(release): 0.37.83 🎉 (#970)
Build ran for 2eae29d8ca

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-27 21:54:33 +03:00
renovate[bot]
2eae29d8ca chore(deps): lock file maintenance (#969)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-26 11:40:17 +03:00
renovate[bot]
2c595f7b20 chore(deps): lock file maintenance (#968)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-26 11:37:58 +03:00
renovate[bot]
cf4ecedced chore(deps): update patch/minor dependencies (#967)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-26 09:47:42 +03:00
Fifty
4e37de7f72 feat(APIAuditLogChange): add missing keys (#964) 2024-04-25 19:33:38 +03:00
n1ck_pro
c9f2c5b020 feat: one time premium app purchases (#966) 2024-04-25 19:30:55 +03:00
github-actions[bot]
312947de1e chore(release): 0.37.82 🎉 (#965)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-25 15:17:07 +03:00
Almeida
3ae6d722fd feat(ConnectionService): add domain (#818) 2024-04-25 01:35:00 +03:00
Almeida
fddb2257db feat(AuditLogEvent): onboarding events (#795) 2024-04-25 01:34:09 +03:00
Vlad Frangu
8de6d6bb4c chore: make check deno actually work for once 2024-04-24 23:17:50 +03:00
Almeida
c4ee7907c2 feat(APIInvite): add type (#858)
Co-authored-by: Vlad Frangu <me@vladfrangu.dev>
2024-04-24 23:06:31 +03:00
Vlad Frangu
02695c5c19 docs: update to allow PR for features present in the stable OpenAPI spec 2024-04-24 23:06:13 +03:00
github-actions[bot]
fcc48a43e6 chore(release): 0.37.81 🎉 (#963)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-22 23:52:13 +03:00
Marcos Susaña
308d7d40f4 fix(Polls): correct APIPollAnswer properties (#962) 2024-04-22 23:49:55 +03:00
97 changed files with 3512 additions and 1084 deletions

View File

@@ -10,6 +10,10 @@ jobs:
check_deno:
name: Ensure Deno types are in sync with the code
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout Project
uses: actions/checkout@v4

View File

@@ -1,3 +1,98 @@
## [0.37.89](https://github.com/discordjs/discord-api-types/compare/0.37.88...0.37.89) (2024-06-13)
### Features
* Add use external apps permission ([#999](https://github.com/discordjs/discord-api-types/issues/999)) ([d63bea7](https://github.com/discordjs/discord-api-types/commit/d63bea7dfc748472b2e5ed4e2d45752acc1a3d2a))
## [0.37.88](https://github.com/discordjs/discord-api-types/compare/0.37.87...0.37.88) (2024-06-10)
### Bug Fixes
* **APIGuildMember:** make user required and omit in messages ([#998](https://github.com/discordjs/discord-api-types/issues/998)) ([98544fa](https://github.com/discordjs/discord-api-types/commit/98544fa56aa7d6e98b23ead4e898a5f8424a437a))
### Features
* **AuditLogEvent:** home settings events ([#1000](https://github.com/discordjs/discord-api-types/issues/1000)) ([c6a72a5](https://github.com/discordjs/discord-api-types/commit/c6a72a55e5aa77413cfdb639b1c89b1a0774b624))
* **MessageType:** add incident related types ([#1004](https://github.com/discordjs/discord-api-types/issues/1004)) ([173f9ed](https://github.com/discordjs/discord-api-types/commit/173f9ed0fa9daf838c050aa246bc533f4c788c3b))
* **RouteBases:** Add media URL ([#1001](https://github.com/discordjs/discord-api-types/issues/1001)) ([fdc0408](https://github.com/discordjs/discord-api-types/commit/fdc04089e17e682c7db46990580a853c7b852957))
## [0.37.87](https://github.com/discordjs/discord-api-types/compare/0.37.86...0.37.87) (2024-06-03)
### Bug Fixes
* Correct types for `APIAuditLogChangeKey$Add` and `APIAuditLogChangeKey$Remove` ([#955](https://github.com/discordjs/discord-api-types/issues/955)) ([f859a96](https://github.com/discordjs/discord-api-types/commit/f859a96974e3188a18df575466e09b32fb70fbda))
### Features
* **AutoModeration:** add blocking words in member profile ([#740](https://github.com/discordjs/discord-api-types/issues/740)) ([5097460](https://github.com/discordjs/discord-api-types/commit/509746003a5544fc1b1a28a5a58a3cfe27e200ca))
## [0.37.86](https://github.com/discordjs/discord-api-types/compare/0.37.85...0.37.86) (2024-05-27)
## [0.37.85](https://github.com/discordjs/discord-api-types/compare/0.37.84...0.37.85) (2024-05-23)
### Features
* add gateway events payload for super reactions ([#878](https://github.com/discordjs/discord-api-types/issues/878)) ([16a6a46](https://github.com/discordjs/discord-api-types/commit/16a6a4683204cbf101372a233e235ebf6cb4df4e))
* add type query param for get reactions endpoint ([#879](https://github.com/discordjs/discord-api-types/issues/879)) ([ddb2bde](https://github.com/discordjs/discord-api-types/commit/ddb2bde07776f0b9f370ab8ff6bf5c95be0138fd))
* **APIMessage:** add `call` ([#983](https://github.com/discordjs/discord-api-types/issues/983)) ([79d9875](https://github.com/discordjs/discord-api-types/commit/79d9875c5d480b4ff4817edfecb58cd5c19c0d7b))
## [0.37.84](https://github.com/discordjs/discord-api-types/compare/0.37.83...0.37.84) (2024-05-16)
### Features
* **RESTJSONErrorCodes:** add error code 40333 ([#854](https://github.com/discordjs/discord-api-types/issues/854)) ([65eebd9](https://github.com/discordjs/discord-api-types/commit/65eebd92d636d4ea8e3319c8df84208f1d6ce94f))
* support avatar decorations ([#834](https://github.com/discordjs/discord-api-types/issues/834)) ([7650ce4](https://github.com/discordjs/discord-api-types/commit/7650ce4f7244c04f30e31938965e5023aa858945))
* user-installable apps ([#921](https://github.com/discordjs/discord-api-types/issues/921)) ([c457b8d](https://github.com/discordjs/discord-api-types/commit/c457b8d0596561fd1122e1d96bd168b322de368e))
## [0.37.83](https://github.com/discordjs/discord-api-types/compare/0.37.82...0.37.83) (2024-04-27)
### Features
* **APIAuditLogChange:** add missing keys ([#964](https://github.com/discordjs/discord-api-types/issues/964)) ([4e37de7](https://github.com/discordjs/discord-api-types/commit/4e37de7f72ad6b9502d3e3db97b10910d9970a92))
* one time premium app purchases ([#966](https://github.com/discordjs/discord-api-types/issues/966)) ([c9f2c5b](https://github.com/discordjs/discord-api-types/commit/c9f2c5b020b4c7a36330fe06463106e9cfd38fca))
## [0.37.82](https://github.com/discordjs/discord-api-types/compare/0.37.81...0.37.82) (2024-04-25)
### Features
* **APIInvite:** add `type` ([#858](https://github.com/discordjs/discord-api-types/issues/858)) ([c4ee790](https://github.com/discordjs/discord-api-types/commit/c4ee7907c2acf334e898862ed3d7d468dbdaaf5f))
* **AuditLogEvent:** onboarding events ([#795](https://github.com/discordjs/discord-api-types/issues/795)) ([fddb225](https://github.com/discordjs/discord-api-types/commit/fddb2257db7aac29129ec5d941c46fba167e2de8))
* **ConnectionService:** add `domain` ([#818](https://github.com/discordjs/discord-api-types/issues/818)) ([3ae6d72](https://github.com/discordjs/discord-api-types/commit/3ae6d722fd0b5aa18eb932a51172bba144c2d4ff))
## [0.37.81](https://github.com/discordjs/discord-api-types/compare/0.37.80...0.37.81) (2024-04-22)
### Bug Fixes
* **Polls:** correct APIPollAnswer properties ([#962](https://github.com/discordjs/discord-api-types/issues/962)) ([308d7d4](https://github.com/discordjs/discord-api-types/commit/308d7d40f45b7e3e78a6b13350d3ad7c8fd81b47))
## [0.37.80](https://github.com/discordjs/discord-api-types/compare/0.37.79...0.37.80) (2024-04-22)

View File

@@ -1,3 +1,98 @@
## [0.37.89](https://github.com/discordjs/discord-api-types/compare/0.37.88...0.37.89) (2024-06-13)
### Features
* Add use external apps permission ([#999](https://github.com/discordjs/discord-api-types/issues/999)) ([d63bea7](https://github.com/discordjs/discord-api-types/commit/d63bea7dfc748472b2e5ed4e2d45752acc1a3d2a))
## [0.37.88](https://github.com/discordjs/discord-api-types/compare/0.37.87...0.37.88) (2024-06-10)
### Bug Fixes
* **APIGuildMember:** make user required and omit in messages ([#998](https://github.com/discordjs/discord-api-types/issues/998)) ([98544fa](https://github.com/discordjs/discord-api-types/commit/98544fa56aa7d6e98b23ead4e898a5f8424a437a))
### Features
* **AuditLogEvent:** home settings events ([#1000](https://github.com/discordjs/discord-api-types/issues/1000)) ([c6a72a5](https://github.com/discordjs/discord-api-types/commit/c6a72a55e5aa77413cfdb639b1c89b1a0774b624))
* **MessageType:** add incident related types ([#1004](https://github.com/discordjs/discord-api-types/issues/1004)) ([173f9ed](https://github.com/discordjs/discord-api-types/commit/173f9ed0fa9daf838c050aa246bc533f4c788c3b))
* **RouteBases:** Add media URL ([#1001](https://github.com/discordjs/discord-api-types/issues/1001)) ([fdc0408](https://github.com/discordjs/discord-api-types/commit/fdc04089e17e682c7db46990580a853c7b852957))
## [0.37.87](https://github.com/discordjs/discord-api-types/compare/0.37.86...0.37.87) (2024-06-03)
### Bug Fixes
* Correct types for `APIAuditLogChangeKey$Add` and `APIAuditLogChangeKey$Remove` ([#955](https://github.com/discordjs/discord-api-types/issues/955)) ([f859a96](https://github.com/discordjs/discord-api-types/commit/f859a96974e3188a18df575466e09b32fb70fbda))
### Features
* **AutoModeration:** add blocking words in member profile ([#740](https://github.com/discordjs/discord-api-types/issues/740)) ([5097460](https://github.com/discordjs/discord-api-types/commit/509746003a5544fc1b1a28a5a58a3cfe27e200ca))
## [0.37.86](https://github.com/discordjs/discord-api-types/compare/0.37.85...0.37.86) (2024-05-27)
## [0.37.85](https://github.com/discordjs/discord-api-types/compare/0.37.84...0.37.85) (2024-05-23)
### Features
* add gateway events payload for super reactions ([#878](https://github.com/discordjs/discord-api-types/issues/878)) ([16a6a46](https://github.com/discordjs/discord-api-types/commit/16a6a4683204cbf101372a233e235ebf6cb4df4e))
* add type query param for get reactions endpoint ([#879](https://github.com/discordjs/discord-api-types/issues/879)) ([ddb2bde](https://github.com/discordjs/discord-api-types/commit/ddb2bde07776f0b9f370ab8ff6bf5c95be0138fd))
* **APIMessage:** add `call` ([#983](https://github.com/discordjs/discord-api-types/issues/983)) ([79d9875](https://github.com/discordjs/discord-api-types/commit/79d9875c5d480b4ff4817edfecb58cd5c19c0d7b))
## [0.37.84](https://github.com/discordjs/discord-api-types/compare/0.37.83...0.37.84) (2024-05-16)
### Features
* **RESTJSONErrorCodes:** add error code 40333 ([#854](https://github.com/discordjs/discord-api-types/issues/854)) ([65eebd9](https://github.com/discordjs/discord-api-types/commit/65eebd92d636d4ea8e3319c8df84208f1d6ce94f))
* support avatar decorations ([#834](https://github.com/discordjs/discord-api-types/issues/834)) ([7650ce4](https://github.com/discordjs/discord-api-types/commit/7650ce4f7244c04f30e31938965e5023aa858945))
* user-installable apps ([#921](https://github.com/discordjs/discord-api-types/issues/921)) ([c457b8d](https://github.com/discordjs/discord-api-types/commit/c457b8d0596561fd1122e1d96bd168b322de368e))
## [0.37.83](https://github.com/discordjs/discord-api-types/compare/0.37.82...0.37.83) (2024-04-27)
### Features
* **APIAuditLogChange:** add missing keys ([#964](https://github.com/discordjs/discord-api-types/issues/964)) ([4e37de7](https://github.com/discordjs/discord-api-types/commit/4e37de7f72ad6b9502d3e3db97b10910d9970a92))
* one time premium app purchases ([#966](https://github.com/discordjs/discord-api-types/issues/966)) ([c9f2c5b](https://github.com/discordjs/discord-api-types/commit/c9f2c5b020b4c7a36330fe06463106e9cfd38fca))
## [0.37.82](https://github.com/discordjs/discord-api-types/compare/0.37.81...0.37.82) (2024-04-25)
### Features
* **APIInvite:** add `type` ([#858](https://github.com/discordjs/discord-api-types/issues/858)) ([c4ee790](https://github.com/discordjs/discord-api-types/commit/c4ee7907c2acf334e898862ed3d7d468dbdaaf5f))
* **AuditLogEvent:** onboarding events ([#795](https://github.com/discordjs/discord-api-types/issues/795)) ([fddb225](https://github.com/discordjs/discord-api-types/commit/fddb2257db7aac29129ec5d941c46fba167e2de8))
* **ConnectionService:** add `domain` ([#818](https://github.com/discordjs/discord-api-types/issues/818)) ([3ae6d72](https://github.com/discordjs/discord-api-types/commit/3ae6d722fd0b5aa18eb932a51172bba144c2d4ff))
## [0.37.81](https://github.com/discordjs/discord-api-types/compare/0.37.80...0.37.81) (2024-04-22)
### Bug Fixes
* **Polls:** correct APIPollAnswer properties ([#962](https://github.com/discordjs/discord-api-types/issues/962)) ([308d7d4](https://github.com/discordjs/discord-api-types/commit/308d7d40f45b7e3e78a6b13350d3ad7c8fd81b47))
## [0.37.80](https://github.com/discordjs/discord-api-types/compare/0.37.79...0.37.80) (2024-04-22)

View File

@@ -36,6 +36,7 @@ import type {
APIEntitlement,
ChannelType,
} from '../payloads/v10/mod.ts';
import type { ReactionType } from '../rest/v10/mod.ts';
import type { Nullable } from '../utils/internals.ts';
export * from './common.ts';
@@ -1406,7 +1407,7 @@ export interface GatewayMessageEventExtraFields {
*
* See https://discord.com/developers/docs/resources/guild#guild-member-object
*/
member?: APIGuildMember;
member?: Omit<APIGuildMember, 'user'>;
/**
* Users specifically mentioned in the message
*
@@ -1486,7 +1487,7 @@ export type GatewayMessageReactionAddDispatchData = GatewayMessageReactionAddDis
*/
export type GatewayMessageReactionRemoveDispatch = ReactionData<
GatewayDispatchEvents.MessageReactionRemove,
'member' | 'message_author_id'
'burst_colors' | 'member' | 'message_author_id'
>;
/**
@@ -2165,6 +2166,18 @@ type ReactionData<E extends GatewayDispatchEvents, O extends string = never> = D
* The id of the user that posted the message that was reacted to
*/
message_author_id?: Snowflake;
/**
* True if this is a super-reaction
*/
burst: boolean;
/**
* Colors used for super-reaction animation in "#rrggbb" format
*/
burst_colors: string[];
/**
* The type of reaction
*/
type: ReactionType;
},
O
>

View File

@@ -35,6 +35,7 @@ import type {
APIAuditLogEntry,
ChannelType,
} from '../payloads/v9/mod.ts';
import type { ReactionType } from '../rest/v9/mod.ts';
import type { Nullable } from '../utils/internals.ts';
import type { APIEntitlement } from '../v10.ts';
@@ -1405,7 +1406,7 @@ export interface GatewayMessageEventExtraFields {
*
* See https://discord.com/developers/docs/resources/guild#guild-member-object
*/
member?: APIGuildMember;
member?: Omit<APIGuildMember, 'user'>;
/**
* Users specifically mentioned in the message
*
@@ -1485,7 +1486,7 @@ export type GatewayMessageReactionAddDispatchData = GatewayMessageReactionAddDis
*/
export type GatewayMessageReactionRemoveDispatch = ReactionData<
GatewayDispatchEvents.MessageReactionRemove,
'member' | 'message_author_id'
'burst_colors' | 'member' | 'message_author_id'
>;
/**
@@ -2164,6 +2165,18 @@ type ReactionData<E extends GatewayDispatchEvents, O extends string = never> = D
* The id of the user that posted the message that was reacted to
*/
message_author_id?: Snowflake;
/**
* True if this is a super-reaction
*/
burst: boolean;
/**
* Colors used for super-reaction animation in "#rrggbb" format
*/
burst_colors?: string[];
/**
* The type of reaction
*/
type: ReactionType;
},
O
>

View File

@@ -282,6 +282,12 @@ export const PermissionFlagsBits = {
* Applies to channel types: Text, Voice, Stage
*/
SendPolls: 1n << 49n,
/**
* Allows user-installed apps to send public responses. When disabled, users will still be allowed to use their apps but the responses will be ephemeral. This only applies to apps not also installed to the server
*
* Applies to channel types: Text, Voice, Stage
*/
UseExternalApps: 1n << 50n,
} as const;
/**

View File

@@ -74,6 +74,8 @@ export interface APIApplicationCommand {
default_member_permissions: Permissions | null;
/**
* Indicates whether the command is available in DMs with the app, only for globally-scoped commands. By default, commands are visible
*
* @deprecated Use `contexts` instead
*/
dm_permission?: boolean;
/**
@@ -88,6 +90,18 @@ export interface APIApplicationCommand {
* Indicates whether the command is age-restricted, defaults to `false`
*/
nsfw?: boolean;
/**
* Installation context(s) where the command is available, only for globally-scoped commands. Defaults to `GUILD_INSTALL ([0])`
*
* @unstable
*/
integration_types?: ApplicationIntegrationType[];
/**
* Interaction context(s) where the command can be used, only for globally-scoped commands. By default, all interaction context types included for new commands `[0,1,2]`.
*
* @unstable
*/
contexts?: InteractionContextType[] | null;
/**
* Autoincrementing version identifier updated during substantial record changes
*/
@@ -103,6 +117,38 @@ export enum ApplicationCommandType {
Message,
}
/**
* https://discord.com/developers/docs/resources/application#application-object-application-integration-types
*/
export enum ApplicationIntegrationType {
/**
* App is installable to servers
*/
GuildInstall = 0,
/**
* App is installable to users
*/
UserInstall = 1,
}
/**
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-context-types
*/
export enum InteractionContextType {
/**
* Interaction can be used within servers
*/
Guild = 0,
/**
* Interaction can be used within DMs with the app's bot user
*/
BotDM = 1,
/**
* Interaction can be used within Group DMs and DMs other than the app's bot user
*/
PrivateChannel = 2,
}
/**
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data
*/

View File

@@ -1,5 +1,5 @@
import type { Permissions, Snowflake } from '../../../globals.ts';
import type { APIRole, LocaleString } from '../../../v10.ts';
import type { APIRole, ApplicationIntegrationType, InteractionContextType, LocaleString } from '../../../v10.ts';
import type {
APIAttachment,
APIChannel,
@@ -14,6 +14,40 @@ import type { APIEntitlement } from '../monetization.ts';
import type { APIUser } from '../user.ts';
import type { InteractionType } from './responses.ts';
/**
* https://discord.com/developers/docs/resources/channel#message-interaction-metadata-object
*/
export interface APIMessageInteractionMetadata {
/**
* ID of the interaction
*/
id: Snowflake;
/**
* Type of interaction
*/
type: InteractionType;
/**
* User who triggered the interaction
*/
user: APIUser;
/**
* IDs for installation context(s) related to an interaction. Details in Authorizing Integration Owners Object
*/
authorizing_integration_owners: APIAuthorizingIntegrationOwnersMap;
/**
* ID of the original response message, present only on follow-up messages
*/
original_response_message_id?: Snowflake;
/**
* ID of the message that contained interactive component, present only on messages created from component interactions
*/
interacted_message_id?: Snowflake;
/**
* Metadata for the interaction that was used to open the modal, present only on modal submit interactions
*/
triggering_interaction_metadata?: APIMessageInteractionMetadata;
}
export type PartialAPIMessageInteractionGuildMember = Pick<
APIGuildMember,
| 'avatar'
@@ -122,7 +156,7 @@ export interface APIBaseInteraction<Type extends InteractionType, Data> {
/**
* Bitwise set of permissions the app or bot has within the channel the interaction was sent from
*/
app_permissions?: Permissions;
app_permissions: Permissions;
/**
* The selected language of the invoking user
*/
@@ -135,8 +169,20 @@ export interface APIBaseInteraction<Type extends InteractionType, Data> {
* For monetized apps, any entitlements for the invoking user, representing access to premium SKUs
*/
entitlements: APIEntitlement[];
/**
* Mapping of installation contexts that the interaction was authorized for to related user or guild IDs.
*/
authorizing_integration_owners: APIAuthorizingIntegrationOwnersMap;
/**
* Context where the interaction was triggered from
*/
context?: InteractionContextType;
}
export type APIAuthorizingIntegrationOwnersMap = {
[key in ApplicationIntegrationType]?: Snowflake;
};
export type APIDMInteractionWrapper<Original extends APIBaseInteraction<InteractionType, unknown>> = Omit<
Original,
'guild_id' | 'member'

View File

@@ -5,6 +5,7 @@
import type { Permissions, Snowflake } from '../../globals.ts';
import type { LocalizationMap } from '../common.ts';
import type { APIPartialGuild } from './guild.ts';
import type { ApplicationIntegrationType } from './interactions.ts';
import type { OAuth2Scopes } from './oauth2.ts';
import type { APITeam } from './teams.ts';
import type { APIUser } from './user.ts';
@@ -128,6 +129,12 @@ export interface APIApplication {
* Settings for the application's default in-app authorization link, if enabled
*/
install_params?: APIApplicationInstallParams;
/**
* Default scopes and permissions for each supported installation context. Value for each key is an integration type configuration object
*
* @unstable
*/
integration_types_config?: APIApplicationIntegrationTypesConfigMap;
/**
* The application's default custom authorization link, if enabled
*/
@@ -139,6 +146,14 @@ export interface APIApplicationInstallParams {
permissions: Permissions;
}
export interface APIApplicationIntegrationTypeConfiguration {
oauth2_install_params?: APIApplicationInstallParams;
}
export type APIApplicationIntegrationTypesConfigMap = {
[key in ApplicationIntegrationType]?: APIApplicationIntegrationTypeConfiguration;
};
/**
* https://discord.com/developers/docs/resources/application#application-object-application-flags
*/

View File

@@ -10,7 +10,7 @@ import type {
AutoModerationRuleEventType,
AutoModerationRuleTriggerType,
} from './autoModeration.ts';
import type { APIChannel, APIOverwrite } from './channel.ts';
import type { APIChannel, APIGuildForumDefaultReactionEmoji, APIGuildForumTag, APIOverwrite } from './channel.ts';
import type {
APIGuildIntegration,
APIGuildIntegrationType,
@@ -205,6 +205,15 @@ export enum AuditLogEvent {
CreatorMonetizationRequestCreated = 150,
CreatorMonetizationTermsAccepted,
OnboardingPromptCreate = 163,
OnboardingPromptUpdate,
OnboardingPromptDelete,
OnboardingCreate,
OnboardingUpdate,
HomeSettingsCreate = 190,
HomeSettingsUpdate,
}
/**
@@ -347,6 +356,7 @@ export type APIAuditLogChange =
| APIAuditLogChangeKeyAsset
| APIAuditLogChangeKeyAutoArchiveDuration
| APIAuditLogChangeKeyAvailable
| APIAuditLogChangeKeyAvailableTags
| APIAuditLogChangeKeyAvatarHash
| APIAuditLogChangeKeyBannerHash
| APIAuditLogChangeKeyBitrate
@@ -357,6 +367,8 @@ export type APIAuditLogChange =
| APIAuditLogChangeKeyDeaf
| APIAuditLogChangeKeyDefaultAutoArchiveDuration
| APIAuditLogChangeKeyDefaultMessageNotifications
| APIAuditLogChangeKeyDefaultReactionEmoji
| APIAuditLogChangeKeyDefaultThreadRateLimitPerUser
| APIAuditLogChangeKeyDeny
| APIAuditLogChangeKeyDescription
| APIAuditLogChangeKeyDiscoverySplashHash
@@ -369,6 +381,7 @@ export type APIAuditLogChange =
| APIAuditLogChangeKeyExpireBehavior
| APIAuditLogChangeKeyExpireGracePeriod
| APIAuditLogChangeKeyExplicitContentFilter
| APIAuditLogChangeKeyFlags
| APIAuditLogChangeKeyFormatType
| APIAuditLogChangeKeyGuildId
| APIAuditLogChangeKeyHoist
@@ -523,12 +536,12 @@ export type APIAuditLogChangeKeyVanityURLCode = AuditLogChangeData<'vanity_url_c
/**
* Returned when new role(s) are added
*/
export type APIAuditLogChangeKey$Add = AuditLogChangeData<'$add', APIRole[]>;
export type APIAuditLogChangeKey$Add = AuditLogChangeData<'$add', Pick<APIRole, 'id' | 'name'>[]>;
/**
* Returned when role(s) are removed
*/
export type APIAuditLogChangeKey$Remove = AuditLogChangeData<'$remove', APIRole[]>;
export type APIAuditLogChangeKey$Remove = AuditLogChangeData<'$remove', Pick<APIRole, 'id' | 'name'>[]>;
/**
* Returned when there is a change in number of days after which inactive and role-unassigned members are kicked
@@ -826,6 +839,33 @@ export type APIAuditLogChangeKeyExemptRoles = AuditLogChangeData<'exempt_roles',
*/
export type APIAuditLogChangeKeyExemptChannels = AuditLogChangeData<'exempt_channels', Snowflake[]>;
/**
* Returned when a guild forum's available tags gets changed
*/
export type APIAuditLogChangeKeyAvailableTags = AuditLogChangeData<'available_tags', APIGuildForumTag[]>;
/**
* Returned when a guild forum's default reaction emoji gets changed
*/
export type APIAuditLogChangeKeyDefaultReactionEmoji = AuditLogChangeData<
'default_reaction_emoji',
APIGuildForumDefaultReactionEmoji
>;
/**
* Returned when a channel flag gets changed
*/
export type APIAuditLogChangeKeyFlags = AuditLogChangeData<'flags', number>;
/**
* Returned when a thread's amount of seconds a user has to wait before creating another thread
* gets changed
*/
export type APIAuditLogChangeKeyDefaultThreadRateLimitPerUser = AuditLogChangeData<
'default_thread_rate_limit_per_user',
number
>;
interface AuditLogChangeData<K extends string, D> {
key: K;
/**

View File

@@ -74,6 +74,10 @@ export enum AutoModerationRuleTriggerType {
* Check if content contains more mentions than allowed (Maximum of 1 per guild)
*/
MentionSpam,
/**
* Check if member profile contains words from a user defined list of keywords (Maximum of 1 per guild)
*/
MemberProfile,
}
/**
@@ -86,7 +90,7 @@ export interface APIAutoModerationRuleTriggerMetadata {
* A keyword can be a phrase which contains multiple words. Wildcard symbols can be used to customize how each string will be matched. Each keyword must be 60 characters or less
* See [keyword matching strategies](https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-keyword-matching-strategies)
*
* Associated trigger type: {@link AutoModerationRuleTriggerType.Keyword}
* Associated trigger types: {@link AutoModerationRuleTriggerType.Keyword}, {@link AutoModerationRuleTriggerType.MemberProfile}
*/
keyword_filter?: string[];
/**
@@ -101,7 +105,7 @@ export interface APIAutoModerationRuleTriggerMetadata {
* A allowed-word can be a phrase which contains multiple words. Wildcard symbols can be used to customize how each string will be matched. Each keyword must be 60 characters or less
* See [keyword matching strategies](https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-keyword-matching-strategies)
*
* Associated trigger type: {@link AutoModerationRuleTriggerType.KeywordPreset}
* Associated trigger types: {@link AutoModerationRuleTriggerType.Keyword}, {@link AutoModerationRuleTriggerType.KeywordPreset}, {@link AutoModerationRuleTriggerType.MemberProfile}
*/
allow_list?: string[];
/**
@@ -109,7 +113,7 @@ export interface APIAutoModerationRuleTriggerMetadata {
*
* Only Rust flavored regex is currently supported (Maximum of 260 characters)
*
* Associated trigger type: {@link AutoModerationRuleTriggerType.Keyword}
* Associated trigger types: {@link AutoModerationRuleTriggerType.Keyword}, {@link AutoModerationRuleTriggerType.MemberProfile}
*/
regex_patterns?: string[];
/**
@@ -152,6 +156,10 @@ export enum AutoModerationRuleEventType {
* When a member sends or edits a message in the guild
*/
MessageSend = 1,
/**
* When a member edits their profile
*/
MemberUpdate,
}
/**
@@ -187,6 +195,10 @@ export enum AutoModerationActionType {
* Timeout user for specified duration, this action type can be set if the bot has `MODERATE_MEMBERS` permission
*/
Timeout,
/**
* Prevents a member from using text, voice, or other interactions
*/
BlockMemberInteraction,
}
/**

View File

@@ -6,7 +6,7 @@ import type { Permissions, Snowflake } from '../../globals.ts';
import type { APIApplication } from './application.ts';
import type { APIPartialEmoji } from './emoji.ts';
import type { APIGuildMember } from './guild.ts';
import type { APIInteractionDataResolved, APIMessageInteraction } from './interactions.ts';
import type { APIInteractionDataResolved, APIMessageInteraction, APIMessageInteractionMetadata } from './interactions.ts';
import type { APIRole } from './permissions.ts';
import type { APIPoll } from './poll.ts';
import type { APISticker, APIStickerItem } from './sticker.ts';
@@ -667,8 +667,16 @@ export interface APIMessage {
* See https://discord.com/developers/docs/resources/channel#message-object
*/
referenced_message?: APIMessage | null;
/**
* Sent if the message is sent as a result of an interaction
*
* @unstable
*/
interaction_metadata?: APIMessageInteractionMetadata;
/**
* Sent if the message is a response to an Interaction
*
* @deprecated In favor of `interaction_metadata`
*/
interaction?: APIMessageInteraction;
/**
@@ -727,6 +735,10 @@ export interface APIMessage {
* See https://support-dev.discord.com/hc/articles/4404772028055
*/
poll?: APIPoll;
/**
* The call associated with the message
*/
call?: APIMessageCall;
}
/**
@@ -769,6 +781,11 @@ export enum MessageType {
StageRaiseHand,
StageTopic,
GuildApplicationPremiumSubscription,
GuildIncidentAlertModeEnabled = 36,
GuildIncidentAlertModeDisabled,
GuildIncidentReportRaid,
GuildIncidentReportFalseAlarm,
}
/**
@@ -871,6 +888,20 @@ export enum MessageFlags {
IsVoiceMessage = 1 << 13,
}
/**
* https://discord.com/developers/docs/resources/channel#message-call-object-message-call-object-structure
*/
export interface APIMessageCall {
/**
* Array of user ids that participated in the call
*/
participants: Snowflake[];
/**
* ISO8601 timestamp when the call ended
*/
ended_timestamp?: string | null;
}
/**
* https://discord.com/developers/docs/resources/channel#role-subscription-data-object-role-subscription-data-object-structure
*/

View File

@@ -8,7 +8,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 { APIUser } from './user.ts';
import type { APIAvatarDecorationData, APIUser } from './user.ts';
/**
* https://discord.com/developers/docs/resources/guild#unavailable-guild-object
@@ -621,7 +621,7 @@ export interface APIGuildMember {
*
* See https://discord.com/developers/docs/resources/user#user-object
*/
user?: APIUser;
user: APIUser;
/**
* This users guild nickname
*/
@@ -668,6 +668,12 @@ export interface APIGuildMember {
* Timestamp of when the time out will be removed; until then, they cannot interact with the guild
*/
communication_disabled_until?: string | null;
/**
* The data for the member's guild avatar decoration
*
* See https://discord.com/developers/docs/resources/user#avatar-decoration-data-object
*/
avatar_decoration_data?: APIAvatarDecorationData | null;
}
/**

View File

@@ -90,6 +90,19 @@ export interface APIInvite {
* The guild scheduled event data, returned from the `GET /invites/<code>` endpoint when `guild_scheduled_event_id` is a valid guild scheduled event id
*/
guild_scheduled_event?: APIGuildScheduledEvent;
/**
* The invite type
*/
type: InviteType;
}
/**
* https://discord.com/developers/docs/resources/invite#invite-object-invite-types
*/
export enum InviteType {
Guild,
GroupDM,
Friend,
}
/**

View File

@@ -40,16 +40,48 @@ export interface APIEntitlement {
* Date at which the entitlement is no longer valid. Not present when using test entitlements.
*/
ends_at?: string;
/**
* For consumable items, whether or not the entitlement has been consumed
*/
consumed?: boolean;
}
/**
* https://discord.com/developers/docs/monetization/entitlements#entitlement-object-entitlement-types
*/
export enum EntitlementType {
/**
* Entitlement was purchased by user
*/
Purchase = 1,
/**
* Entitlement for Discord Nitro subscription
*/
PremiumSubscription,
/**
* Entitlement was gifted by developer
*/
DeveloperGift,
/**
* Entitlement was purchased by a dev in application test mode
*/
TestModePurchase,
/**
* Entitlement was granted when the SKU was free
*/
FreePurchase,
/**
* Entitlement was gifted by another user
*/
UserGift,
/**
* Entitlement was claimed by user for free as a Nitro Subscriber
*/
PremiumPurchase,
/**
* Entitlement was purchased as an app subscription
*/
ApplicationSubscription = 8,
ApplicationSubscription,
}
/**
@@ -104,6 +136,14 @@ export enum SKUFlags {
}
export enum SKUType {
/**
* Durable one-time purchase
*/
Durable = 2,
/**
* Consumable one-time purchase
*/
Consumable = 3,
/**
* Represents a recurring subscription
*/

View File

@@ -71,7 +71,7 @@ export interface APIPollAnswer {
/**
* The data of the answer
*/
media: APIPollMedia;
poll_media: APIPollMedia;
}
/**

View File

@@ -87,8 +87,16 @@ export interface APIUser {
* The user's avatar decoration hash
*
* See https://discord.com/developers/docs/reference#image-formatting
*
* @deprecated Use `avatar_decoration_data` instead
*/
avatar_decoration?: string | null;
/**
* The data for the user's avatar decoration
*
* See https://discord.com/developers/docs/resources/user#avatar-decoration-data-object
*/
avatar_decoration_data?: APIAvatarDecorationData | null;
}
/**
@@ -267,6 +275,7 @@ export interface APIConnection {
export enum ConnectionService {
BattleNet = 'battlenet',
BungieNet = 'bungie',
Domain = 'domain',
eBay = 'ebay',
EpicGames = 'epicgames',
Facebook = 'facebook',
@@ -319,3 +328,19 @@ export interface APIApplicationRoleConnection {
*/
metadata: Record<string, number | string>;
}
/**
* https://discord.com/developers/docs/resources/user#avatar-decoration-data-object
*/
export interface APIAvatarDecorationData {
/**
* The avatar decoration hash
*
* See https://discord.com/developers/docs/reference#image-formatting
*/
asset: string;
/**
* The id of the avatar decoration's SKU
*/
sku_id: Snowflake;
}

View File

@@ -74,6 +74,8 @@ export interface APIApplicationCommand {
default_member_permissions: Permissions | null;
/**
* Indicates whether the command is available in DMs with the app, only for globally-scoped commands. By default, commands are visible
*
* @deprecated Use `contexts` instead
*/
dm_permission?: boolean;
/**
@@ -88,6 +90,18 @@ export interface APIApplicationCommand {
* Indicates whether the command is age-restricted, defaults to `false`
*/
nsfw?: boolean;
/**
* Installation context(s) where the command is available, only for globally-scoped commands. Defaults to `GUILD_INSTALL ([0])`
*
* @unstable
*/
integration_types?: ApplicationIntegrationType[];
/**
* Interaction context(s) where the command can be used, only for globally-scoped commands. By default, all interaction context types included for new commands `[0,1,2]`.
*
* @unstable
*/
contexts?: InteractionContextType[] | null;
/**
* Autoincrementing version identifier updated during substantial record changes
*/
@@ -103,6 +117,38 @@ export enum ApplicationCommandType {
Message,
}
/**
* https://discord.com/developers/docs/resources/application#application-object-application-integration-types
*/
export enum ApplicationIntegrationType {
/**
* App is installable to servers
*/
GuildInstall = 0,
/**
* App is installable to users
*/
UserInstall = 1,
}
/**
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-context-types
*/
export enum InteractionContextType {
/**
* Interaction can be used within servers
*/
Guild = 0,
/**
* Interaction can be used within DMs with the app's bot user
*/
BotDM = 1,
/**
* Interaction can be used within Group DMs and DMs other than the app's bot user
*/
PrivateChannel = 2,
}
/**
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data
*/

View File

@@ -1,5 +1,5 @@
import type { Permissions, Snowflake } from '../../../globals.ts';
import type { APIRole, LocaleString } from '../../../v9.ts';
import type { APIRole, ApplicationIntegrationType, InteractionContextType, LocaleString } from '../../../v9.ts';
import type {
APIAttachment,
APIChannel,
@@ -14,6 +14,40 @@ import type { APIEntitlement } from '../monetization.ts';
import type { APIUser } from '../user.ts';
import type { InteractionType } from './responses.ts';
/**
* https://discord.com/developers/docs/resources/channel#message-interaction-metadata-object
*/
export interface APIMessageInteractionMetadata {
/**
* ID of the interaction
*/
id: Snowflake;
/**
* Type of interaction
*/
type: InteractionType;
/**
* User who triggered the interaction
*/
user: APIUser;
/**
* IDs for installation context(s) related to an interaction. Details in Authorizing Integration Owners Object
*/
authorizing_integration_owners: APIAuthorizingIntegrationOwnersMap;
/**
* ID of the original response message, present only on follow-up messages
*/
original_response_message_id?: Snowflake;
/**
* ID of the message that contained interactive component, present only on messages created from component interactions
*/
interacted_message_id?: Snowflake;
/**
* Metadata for the interaction that was used to open the modal, present only on modal submit interactions
*/
triggering_interaction_metadata?: APIMessageInteractionMetadata;
}
export type PartialAPIMessageInteractionGuildMember = Pick<
APIGuildMember,
| 'avatar'
@@ -122,7 +156,7 @@ export interface APIBaseInteraction<Type extends InteractionType, Data> {
/**
* Bitwise set of permissions the app or bot has within the channel the interaction was sent from
*/
app_permissions?: Permissions;
app_permissions: Permissions;
/**
* The selected language of the invoking user
*/
@@ -135,8 +169,20 @@ export interface APIBaseInteraction<Type extends InteractionType, Data> {
* For monetized apps, any entitlements for the invoking user, representing access to premium SKUs
*/
entitlements: APIEntitlement[];
/**
* Mapping of installation contexts that the interaction was authorized for to related user or guild IDs.
*/
authorizing_integration_owners: APIAuthorizingIntegrationOwnersMap;
/**
* Context where the interaction was triggered from
*/
context?: InteractionContextType;
}
export type APIAuthorizingIntegrationOwnersMap = {
[key in ApplicationIntegrationType]?: Snowflake;
};
export type APIDMInteractionWrapper<Original extends APIBaseInteraction<InteractionType, unknown>> = Omit<
Original,
'guild_id' | 'member'

View File

@@ -5,6 +5,7 @@
import type { Permissions, Snowflake } from '../../globals.ts';
import type { LocalizationMap } from '../common.ts';
import type { APIPartialGuild } from './guild.ts';
import type { ApplicationIntegrationType } from './interactions.ts';
import type { OAuth2Scopes } from './oauth2.ts';
import type { APITeam } from './teams.ts';
import type { APIUser } from './user.ts';
@@ -128,6 +129,12 @@ export interface APIApplication {
* Settings for the application's default in-app authorization link, if enabled
*/
install_params?: APIApplicationInstallParams;
/**
* Default scopes and permissions for each supported installation context. Value for each key is an integration type configuration object
*
* @unstable
*/
integration_types_config?: APIApplicationIntegrationTypesConfigMap;
/**
* The application's default custom authorization link, if enabled
*/
@@ -139,6 +146,14 @@ export interface APIApplicationInstallParams {
permissions: Permissions;
}
export interface APIApplicationIntegrationTypeConfiguration {
oauth2_install_params?: APIApplicationInstallParams;
}
export type APIApplicationIntegrationTypesConfigMap = {
[key in ApplicationIntegrationType]?: APIApplicationIntegrationTypeConfiguration;
};
/**
* https://discord.com/developers/docs/resources/application#application-object-application-flags
*/

View File

@@ -10,7 +10,7 @@ import type {
AutoModerationRuleEventType,
AutoModerationRuleTriggerType,
} from './autoModeration.ts';
import type { APIChannel, APIOverwrite } from './channel.ts';
import type { APIChannel, APIGuildForumDefaultReactionEmoji, APIGuildForumTag, APIOverwrite } from './channel.ts';
import type {
APIGuildIntegration,
APIGuildIntegrationType,
@@ -205,6 +205,15 @@ export enum AuditLogEvent {
CreatorMonetizationRequestCreated = 150,
CreatorMonetizationTermsAccepted,
OnboardingPromptCreate = 163,
OnboardingPromptUpdate,
OnboardingPromptDelete,
OnboardingCreate,
OnboardingUpdate,
HomeSettingsCreate = 190,
HomeSettingsUpdate,
}
/**
@@ -347,6 +356,7 @@ export type APIAuditLogChange =
| APIAuditLogChangeKeyAsset
| APIAuditLogChangeKeyAutoArchiveDuration
| APIAuditLogChangeKeyAvailable
| APIAuditLogChangeKeyAvailableTags
| APIAuditLogChangeKeyAvatarHash
| APIAuditLogChangeKeyBannerHash
| APIAuditLogChangeKeyBitrate
@@ -357,6 +367,8 @@ export type APIAuditLogChange =
| APIAuditLogChangeKeyDeaf
| APIAuditLogChangeKeyDefaultAutoArchiveDuration
| APIAuditLogChangeKeyDefaultMessageNotifications
| APIAuditLogChangeKeyDefaultReactionEmoji
| APIAuditLogChangeKeyDefaultThreadRateLimitPerUser
| APIAuditLogChangeKeyDeny
| APIAuditLogChangeKeyDescription
| APIAuditLogChangeKeyDiscoverySplashHash
@@ -369,6 +381,7 @@ export type APIAuditLogChange =
| APIAuditLogChangeKeyExpireBehavior
| APIAuditLogChangeKeyExpireGracePeriod
| APIAuditLogChangeKeyExplicitContentFilter
| APIAuditLogChangeKeyFlags
| APIAuditLogChangeKeyFormatType
| APIAuditLogChangeKeyGuildId
| APIAuditLogChangeKeyHoist
@@ -523,12 +536,12 @@ export type APIAuditLogChangeKeyVanityURLCode = AuditLogChangeData<'vanity_url_c
/**
* Returned when new role(s) are added
*/
export type APIAuditLogChangeKey$Add = AuditLogChangeData<'$add', APIRole[]>;
export type APIAuditLogChangeKey$Add = AuditLogChangeData<'$add', Pick<APIRole, 'id' | 'name'>[]>;
/**
* Returned when role(s) are removed
*/
export type APIAuditLogChangeKey$Remove = AuditLogChangeData<'$remove', APIRole[]>;
export type APIAuditLogChangeKey$Remove = AuditLogChangeData<'$remove', Pick<APIRole, 'id' | 'name'>[]>;
/**
* Returned when there is a change in number of days after which inactive and role-unassigned members are kicked
@@ -826,6 +839,33 @@ export type APIAuditLogChangeKeyExemptRoles = AuditLogChangeData<'exempt_roles',
*/
export type APIAuditLogChangeKeyExemptChannels = AuditLogChangeData<'exempt_channels', Snowflake[]>;
/**
* Returned when a guild forum's available tags gets changed
*/
export type APIAuditLogChangeKeyAvailableTags = AuditLogChangeData<'available_tags', APIGuildForumTag[]>;
/**
* Returned when a guild forum's default reaction emoji gets changed
*/
export type APIAuditLogChangeKeyDefaultReactionEmoji = AuditLogChangeData<
'default_reaction_emoji',
APIGuildForumDefaultReactionEmoji
>;
/**
* Returned when a channel flag gets changed
*/
export type APIAuditLogChangeKeyFlags = AuditLogChangeData<'flags', number>;
/**
* Returned when a thread's amount of seconds a user has to wait before creating another thread
* gets changed
*/
export type APIAuditLogChangeKeyDefaultThreadRateLimitPerUser = AuditLogChangeData<
'default_thread_rate_limit_per_user',
number
>;
interface AuditLogChangeData<K extends string, D> {
key: K;
/**

View File

@@ -74,6 +74,10 @@ export enum AutoModerationRuleTriggerType {
* Check if content contains more mentions than allowed (Maximum of 1 per guild)
*/
MentionSpam,
/**
* Check if member profile contains words from a user defined list of keywords (Maximum of 1 per guild)
*/
MemberProfile,
}
/**
@@ -86,7 +90,7 @@ export interface APIAutoModerationRuleTriggerMetadata {
* A keyword can be a phrase which contains multiple words. Wildcard symbols can be used to customize how each string will be matched. Each keyword must be 60 characters or less
* See [keyword matching strategies](https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-keyword-matching-strategies)
*
* Associated trigger type: {@link AutoModerationRuleTriggerType.Keyword}
* Associated trigger types: {@link AutoModerationRuleTriggerType.Keyword}, {@link AutoModerationRuleTriggerType.MemberProfile}
*/
keyword_filter?: string[];
/**
@@ -101,7 +105,7 @@ export interface APIAutoModerationRuleTriggerMetadata {
* A allowed-word can be a phrase which contains multiple words. Wildcard symbols can be used to customize how each string will be matched. Each keyword must be 60 characters or less
* See [keyword matching strategies](https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-keyword-matching-strategies)
*
* Associated trigger type: {@link AutoModerationRuleTriggerType.KeywordPreset}
* Associated trigger types: {@link AutoModerationRuleTriggerType.Keyword}, {@link AutoModerationRuleTriggerType.KeywordPreset}, {@link AutoModerationRuleTriggerType.MemberProfile}
*/
allow_list?: string[];
/**
@@ -109,7 +113,7 @@ export interface APIAutoModerationRuleTriggerMetadata {
*
* Only Rust flavored regex is currently supported (Maximum of 260 characters)
*
* Associated trigger type: {@link AutoModerationRuleTriggerType.Keyword}
* Associated trigger types: {@link AutoModerationRuleTriggerType.Keyword}, {@link AutoModerationRuleTriggerType.MemberProfile}
*/
regex_patterns?: string[];
/**
@@ -152,6 +156,10 @@ export enum AutoModerationRuleEventType {
* When a member sends or edits a message in the guild
*/
MessageSend = 1,
/**
* When a member edits their profile
*/
MemberUpdate,
}
/**
@@ -187,6 +195,10 @@ export enum AutoModerationActionType {
* Timeout user for specified duration, this action type can be set if the bot has `MODERATE_MEMBERS` permission
*/
Timeout,
/**
* Prevents a member from using text, voice, or other interactions
*/
BlockMemberInteraction,
}
/**

View File

@@ -6,7 +6,7 @@ import type { Permissions, Snowflake } from '../../globals.ts';
import type { APIApplication } from './application.ts';
import type { APIPartialEmoji } from './emoji.ts';
import type { APIGuildMember } from './guild.ts';
import type { APIInteractionDataResolved, APIMessageInteraction } from './interactions.ts';
import type { APIInteractionDataResolved, APIMessageInteraction, APIMessageInteractionMetadata } from './interactions.ts';
import type { APIRole } from './permissions.ts';
import type { APIPoll } from './poll.ts';
import type { APISticker, APIStickerItem } from './sticker.ts';
@@ -659,6 +659,12 @@ export interface APIMessage {
* See https://discord.com/developers/docs/resources/channel#message-object
*/
referenced_message?: APIMessage | null;
/**
* Sent if the message is sent as a result of an interaction
*
* @unstable
*/
interaction_metadata?: APIMessageInteractionMetadata;
/**
* Sent if the message is a response to an Interaction
*/
@@ -714,6 +720,10 @@ export interface APIMessage {
* See https://support-dev.discord.com/hc/articles/4404772028055
*/
poll?: APIPoll;
/**
* The call associated with the message
*/
call?: APIMessageCall;
}
/**
@@ -756,6 +766,11 @@ export enum MessageType {
StageRaiseHand,
StageTopic,
GuildApplicationPremiumSubscription,
GuildIncidentAlertModeEnabled = 36,
GuildIncidentAlertModeDisabled,
GuildIncidentReportRaid,
GuildIncidentReportFalseAlarm,
}
/**
@@ -858,6 +873,20 @@ export enum MessageFlags {
IsVoiceMessage = 1 << 13,
}
/**
* https://discord.com/developers/docs/resources/channel#message-call-object-message-call-object-structure
*/
export interface APIMessageCall {
/**
* Array of user ids that participated in the call
*/
participants: Snowflake[];
/**
* ISO8601 timestamp when the call ended
*/
ended_timestamp?: string | null;
}
/**
* https://discord.com/developers/docs/resources/channel#followed-channel-object
*/

View File

@@ -8,7 +8,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 { APIUser } from './user.ts';
import type { APIAvatarDecorationData, APIUser } from './user.ts';
/**
* https://discord.com/developers/docs/resources/guild#unavailable-guild-object
@@ -613,7 +613,7 @@ export interface APIGuildMember {
*
* See https://discord.com/developers/docs/resources/user#user-object
*/
user?: APIUser;
user: APIUser;
/**
* This users guild nickname
*/
@@ -660,6 +660,12 @@ export interface APIGuildMember {
* Timestamp of when the time out will be removed; until then, they cannot interact with the guild
*/
communication_disabled_until?: string | null;
/**
* The data for the member's guild avatar decoration
*
* See https://discord.com/developers/docs/resources/user#avatar-decoration-data-object
*/
avatar_decoration_data?: APIAvatarDecorationData | null;
}
/**

View File

@@ -90,6 +90,19 @@ export interface APIInvite {
* The guild scheduled event data, returned from the `GET /invites/<code>` endpoint when `guild_scheduled_event_id` is a valid guild scheduled event id
*/
guild_scheduled_event?: APIGuildScheduledEvent;
/**
* The invite type
*/
type: InviteType;
}
/**
* https://discord.com/developers/docs/resources/invite#invite-object-invite-types
*/
export enum InviteType {
Guild,
GroupDM,
Friend,
}
/**

View File

@@ -40,16 +40,48 @@ export interface APIEntitlement {
* Date at which the entitlement is no longer valid. Not present when using test entitlements.
*/
ends_at?: string;
/**
* For consumable items, whether or not the entitlement has been consumed
*/
consumed?: boolean;
}
/**
* https://discord.com/developers/docs/monetization/entitlements#entitlement-object-entitlement-types
*/
export enum EntitlementType {
/**
* Entitlement was purchased by user
*/
Purchase = 1,
/**
* Entitlement for Discord Nitro subscription
*/
PremiumSubscription,
/**
* Entitlement was gifted by developer
*/
DeveloperGift,
/**
* Entitlement was purchased by a dev in application test mode
*/
TestModePurchase,
/**
* Entitlement was granted when the SKU was free
*/
FreePurchase,
/**
* Entitlement was gifted by another user
*/
UserGift,
/**
* Entitlement was claimed by user for free as a Nitro Subscriber
*/
PremiumPurchase,
/**
* Entitlement was purchased as an app subscription
*/
ApplicationSubscription = 8,
ApplicationSubscription,
}
/**
@@ -104,6 +136,14 @@ export enum SKUFlags {
}
export enum SKUType {
/**
* Durable one-time purchase
*/
Durable = 2,
/**
* Consumable one-time purchase
*/
Consumable = 3,
/**
* Represents a recurring subscription
*/

View File

@@ -71,7 +71,7 @@ export interface APIPollAnswer {
/**
* The data of the answer
*/
media: APIPollMedia;
poll_media: APIPollMedia;
}
/**

View File

@@ -87,8 +87,16 @@ export interface APIUser {
* The user's avatar decoration hash
*
* See https://discord.com/developers/docs/reference#image-formatting
*
* @deprecated Use `avatar_decoration_data` instead
*/
avatar_decoration?: string | null;
/**
* The data for the user's avatar decoration
*
* See https://discord.com/developers/docs/resources/user#avatar-decoration-data-object
*/
avatar_decoration_data?: APIAvatarDecorationData | null;
}
/**
@@ -267,6 +275,7 @@ export interface APIConnection {
export enum ConnectionService {
BattleNet = 'battlenet',
BungieNet = 'bungie',
Domain = 'domain',
eBay = 'ebay',
EpicGames = 'epicgames',
Facebook = 'facebook',
@@ -319,3 +328,19 @@ export interface APIApplicationRoleConnection {
*/
metadata: Record<string, number | string>;
}
/**
* https://discord.com/developers/docs/resources/user#avatar-decoration-data-object
*/
export interface APIAvatarDecorationData {
/**
* The avatar decoration hash
*
* See https://discord.com/developers/docs/reference#image-formatting
*/
asset: string;
/**
* The id of the avatar decoration's SKU
*/
sku_id: Snowflake;
}

View File

@@ -156,6 +156,8 @@ export enum RESTJSONErrorCodes {
AnEntitlementHasAlreadyBeenGrantedForThisResource = 40_074,
CloudflareIsBlockingYourRequest = 40_333,
MissingAccess = 50_001,
InvalidAccountType,
CannotExecuteActionOnDMChannel,

View File

@@ -32,6 +32,7 @@ export type RESTPatchCurrentApplicationJSONBody = StrictPartial<
| 'description'
| 'flags'
| 'install_params'
| 'integration_types_config'
| 'interactions_endpoint_url'
| 'role_connections_verification_url'
| 'tags'

View File

@@ -373,6 +373,10 @@ export type RESTDeleteAPIChannelMessageUserReactionResult = never;
* https://discord.com/developers/docs/resources/channel#get-reactions
*/
export interface RESTGetAPIChannelMessageReactionUsersQuery {
/**
* The reaction type
*/
type?: ReactionType;
/**
* Get users after this user ID
*/
@@ -385,6 +389,14 @@ export interface RESTGetAPIChannelMessageReactionUsersQuery {
limit?: number;
}
/**
* https://discord.com/developers/docs/resources/channel#get-reactions-reaction-types
*/
export enum ReactionType {
Normal,
Super,
}
/**
* https://discord.com/developers/docs/resources/channel#get-reactions
*/

View File

@@ -6,7 +6,11 @@ import type {
APIInteractionResponseCallbackData,
ApplicationCommandType,
} from '../../payloads/v10/mod.ts';
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface, StrictPartial } from '../../utils/internals.ts';
import type {
AddUndefinedToPossiblyUndefinedPropertiesOfInterface,
NonNullableFields,
StrictPartial,
} from '../../utils/internals.ts';
import type {
RESTDeleteAPIWebhookWithTokenMessageResult,
RESTGetAPIWebhookWithTokenMessageResult,
@@ -43,16 +47,21 @@ type RESTPostAPIBaseApplicationCommandsJSONBody = AddUndefinedToPossiblyUndefine
Omit<
APIApplicationCommand,
| 'application_id'
| 'contexts'
| 'default_member_permissions'
| 'description_localized'
| 'description'
| 'guild_id'
| 'id'
| 'integration_types'
| 'name_localized'
| 'type'
| 'version'
> &
Partial<Pick<APIApplicationCommand, 'default_member_permissions'>>
Partial<
NonNullableFields<Pick<APIApplicationCommand, 'contexts'>> &
Pick<APIApplicationCommand, 'default_member_permissions' | 'integration_types'>
>
>;
/**

View File

@@ -960,6 +960,14 @@ export const Routes = {
guildBulkBan(guildId: Snowflake) {
return `/guilds/${guildId}/bulk-ban` as const;
},
/**
* Route for:
* - POST `/applications/${application.id}/entitlements/${entitlement.id}/consume`
*/
consumeEntitlement(applicationId: Snowflake, entitlementId: Snowflake) {
return `/applications/${applicationId}/entitlements/${entitlementId}/consume` as const;
},
};
export const StickerPackApplicationId = '710982414301790216';
@@ -1093,11 +1101,23 @@ export const CDNRoutes = {
* - GET `/avatar-decorations/{user.id}/{user.avatar_decoration}.png`
*
* This route supports the extension: PNG
*
* @deprecated Use {@link CDNRoutes.avatarDecoration} instead.
*/
userAvatarDecoration(userId: Snowflake, userAvatarDecoration: string) {
return `/avatar-decorations/${userId}/${userAvatarDecoration}.png` as const;
},
/**
* Route for:
* - GET `/avatar-decoration-presets/{avatar_decoration_data_asset}.png`
*
* This route supports the extension: PNG
*/
avatarDecoration(avatarDecorationDataAsset: string) {
return `/avatar-decoration-presets/${avatarDecorationDataAsset}.png` as const;
},
/**
* Route for:
* - GET `/app-icons/{application.id}/{application.icon}.{png|jpeg|webp}`
@@ -1274,6 +1294,7 @@ export interface CDNQuery {
export const RouteBases = {
api: `https://discord.com/api/v${APIVersion}`,
cdn: 'https://cdn.discordapp.com',
media: 'https://media.discordapp.net',
invite: 'https://discord.gg',
template: 'https://discord.new',
gift: 'https://discord.gift',

View File

@@ -83,3 +83,8 @@ export type RESTDeleteAPIEntitlementResult = never;
* https://discord.com/developers/docs/monetization/skus#list-skus
*/
export type RESTGetAPISKUsResult = APISKU[];
/**
* https://discord.com/developers/docs/monetization/entitlements#consume-an-entitlement
*/
export type RESTPostAPIEntitlementConsumeResult = never;

View File

@@ -32,6 +32,7 @@ export type RESTPatchCurrentApplicationJSONBody = StrictPartial<
| 'description'
| 'flags'
| 'install_params'
| 'integration_types_config'
| 'interactions_endpoint_url'
| 'role_connections_verification_url'
| 'tags'

View File

@@ -381,6 +381,10 @@ export type RESTDeleteAPIChannelMessageUserReactionResult = never;
* https://discord.com/developers/docs/resources/channel#get-reactions
*/
export interface RESTGetAPIChannelMessageReactionUsersQuery {
/**
* The reaction type
*/
type?: ReactionType;
/**
* Get users after this user ID
*/
@@ -393,6 +397,14 @@ export interface RESTGetAPIChannelMessageReactionUsersQuery {
limit?: number;
}
/**
* https://discord.com/developers/docs/resources/channel#get-reactions-reaction-types
*/
export enum ReactionType {
Normal,
Super,
}
/**
* https://discord.com/developers/docs/resources/channel#get-reactions
*/

View File

@@ -6,7 +6,11 @@ import type {
APIInteractionResponseCallbackData,
ApplicationCommandType,
} from '../../payloads/v9/mod.ts';
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface, StrictPartial } from '../../utils/internals.ts';
import type {
AddUndefinedToPossiblyUndefinedPropertiesOfInterface,
NonNullableFields,
StrictPartial,
} from '../../utils/internals.ts';
import type {
RESTDeleteAPIWebhookWithTokenMessageResult,
RESTGetAPIWebhookWithTokenMessageResult,
@@ -43,16 +47,21 @@ type RESTPostAPIBaseApplicationCommandsJSONBody = AddUndefinedToPossiblyUndefine
Omit<
APIApplicationCommand,
| 'application_id'
| 'contexts'
| 'default_member_permissions'
| 'description_localized'
| 'description'
| 'guild_id'
| 'id'
| 'integration_types'
| 'name_localized'
| 'type'
| 'version'
> &
Partial<Pick<APIApplicationCommand, 'default_member_permissions'>>
Partial<
NonNullableFields<Pick<APIApplicationCommand, 'contexts'>> &
Pick<APIApplicationCommand, 'default_member_permissions' | 'integration_types'>
>
>;
/**

View File

@@ -969,6 +969,14 @@ export const Routes = {
guildBulkBan(guildId: Snowflake) {
return `/guilds/${guildId}/bulk-ban` as const;
},
/**
* Route for:
* - POST `/applications/${application.id}/entitlements/${entitlement.id}/consume`
*/
consumeEntitlement(applicationId: Snowflake, entitlementId: Snowflake) {
return `/applications/${applicationId}/entitlements/${entitlementId}/consume` as const;
},
};
export const StickerPackApplicationId = '710982414301790216';
@@ -1102,11 +1110,23 @@ export const CDNRoutes = {
* - GET `/avatar-decorations/{user.id}/{user.avatar_decoration}.png`
*
* This route supports the extension: PNG
*
* @deprecated Use {@link CDNRoutes.avatarDecoration} instead.
*/
userAvatarDecoration(userId: Snowflake, userAvatarDecoration: string) {
return `/avatar-decorations/${userId}/${userAvatarDecoration}.png` as const;
},
/**
* Route for:
* - GET `/avatar-decoration-presets/{avatar_decoration_data_asset}.png`
*
* This route supports the extension: PNG
*/
avatarDecoration(avatarDecorationDataAsset: string) {
return `/avatar-decoration-presets/${avatarDecorationDataAsset}.png` as const;
},
/**
* Route for:
* - GET `/app-icons/{application.id}/{application.icon}.{png|jpeg|webp}`

View File

@@ -83,3 +83,8 @@ export type RESTDeleteAPIEntitlementResult = never;
* https://discord.com/developers/docs/monetization/skus#list-skus
*/
export type RESTGetAPISKUsResult = APISKU[];
/**
* https://discord.com/developers/docs/monetization/entitlements#consume-an-entitlement
*/
export type RESTPostAPIEntitlementConsumeResult = never;

View File

@@ -2,6 +2,10 @@ export type Nullable<T> = {
[P in keyof T]: T[P] | null;
};
export type NonNullableFields<T> = {
[P in keyof T]: NonNullable<T[P]>;
};
export type AddUndefinedToPossiblyUndefinedPropertiesOfInterface<Base> = {
[K in keyof Base]: Base[K] extends Exclude<Base[K], undefined> ?
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<Base[K]>

View File

@@ -36,6 +36,7 @@ import type {
APIEntitlement,
ChannelType,
} from '../payloads/v10/index';
import type { ReactionType } from '../rest/v10/index';
import type { Nullable } from '../utils/internals';
export * from './common';
@@ -1406,7 +1407,7 @@ export interface GatewayMessageEventExtraFields {
*
* See https://discord.com/developers/docs/resources/guild#guild-member-object
*/
member?: APIGuildMember;
member?: Omit<APIGuildMember, 'user'>;
/**
* Users specifically mentioned in the message
*
@@ -1486,7 +1487,7 @@ export type GatewayMessageReactionAddDispatchData = GatewayMessageReactionAddDis
*/
export type GatewayMessageReactionRemoveDispatch = ReactionData<
GatewayDispatchEvents.MessageReactionRemove,
'member' | 'message_author_id'
'burst_colors' | 'member' | 'message_author_id'
>;
/**
@@ -2165,6 +2166,18 @@ type ReactionData<E extends GatewayDispatchEvents, O extends string = never> = D
* The id of the user that posted the message that was reacted to
*/
message_author_id?: Snowflake;
/**
* True if this is a super-reaction
*/
burst: boolean;
/**
* Colors used for super-reaction animation in "#rrggbb" format
*/
burst_colors: string[];
/**
* The type of reaction
*/
type: ReactionType;
},
O
>

View File

@@ -35,6 +35,7 @@ import type {
APIAuditLogEntry,
ChannelType,
} from '../payloads/v9/index';
import type { ReactionType } from '../rest/v9/index';
import type { Nullable } from '../utils/internals';
import type { APIEntitlement } from '../v10';
@@ -1405,7 +1406,7 @@ export interface GatewayMessageEventExtraFields {
*
* See https://discord.com/developers/docs/resources/guild#guild-member-object
*/
member?: APIGuildMember;
member?: Omit<APIGuildMember, 'user'>;
/**
* Users specifically mentioned in the message
*
@@ -1485,7 +1486,7 @@ export type GatewayMessageReactionAddDispatchData = GatewayMessageReactionAddDis
*/
export type GatewayMessageReactionRemoveDispatch = ReactionData<
GatewayDispatchEvents.MessageReactionRemove,
'member' | 'message_author_id'
'burst_colors' | 'member' | 'message_author_id'
>;
/**
@@ -2164,6 +2165,18 @@ type ReactionData<E extends GatewayDispatchEvents, O extends string = never> = D
* The id of the user that posted the message that was reacted to
*/
message_author_id?: Snowflake;
/**
* True if this is a super-reaction
*/
burst: boolean;
/**
* Colors used for super-reaction animation in "#rrggbb" format
*/
burst_colors?: string[];
/**
* The type of reaction
*/
type: ReactionType;
},
O
>

2865
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "discord-api-types",
"version": "0.37.80",
"version": "0.37.89",
"description": "Discord API typings that are kept up to date for use in bot library creation.",
"homepage": "https://discord-api-types.dev",
"exports": {
@@ -132,7 +132,7 @@
"@commitlint/cli": "^19.0.3",
"@commitlint/config-angular": "^19.0.3",
"@favware/npm-deprecate": "^1.0.7",
"@octokit/action": "^6.0.7",
"@octokit/action": "^7.0.0",
"@octokit/webhooks-types": "^7.3.2",
"@sapphire/prettier-config": "^2.0.0",
"@types/conventional-recommended-bump": "^9.0.3",

View File

@@ -282,6 +282,12 @@ export const PermissionFlagsBits = {
* Applies to channel types: Text, Voice, Stage
*/
SendPolls: 1n << 49n,
/**
* Allows user-installed apps to send public responses. When disabled, users will still be allowed to use their apps but the responses will be ephemeral. This only applies to apps not also installed to the server
*
* Applies to channel types: Text, Voice, Stage
*/
UseExternalApps: 1n << 50n,
} as const;
/**

View File

@@ -74,6 +74,8 @@ export interface APIApplicationCommand {
default_member_permissions: Permissions | null;
/**
* Indicates whether the command is available in DMs with the app, only for globally-scoped commands. By default, commands are visible
*
* @deprecated Use `contexts` instead
*/
dm_permission?: boolean;
/**
@@ -88,6 +90,18 @@ export interface APIApplicationCommand {
* Indicates whether the command is age-restricted, defaults to `false`
*/
nsfw?: boolean;
/**
* Installation context(s) where the command is available, only for globally-scoped commands. Defaults to `GUILD_INSTALL ([0])`
*
* @unstable
*/
integration_types?: ApplicationIntegrationType[];
/**
* Interaction context(s) where the command can be used, only for globally-scoped commands. By default, all interaction context types included for new commands `[0,1,2]`.
*
* @unstable
*/
contexts?: InteractionContextType[] | null;
/**
* Autoincrementing version identifier updated during substantial record changes
*/
@@ -103,6 +117,38 @@ export enum ApplicationCommandType {
Message,
}
/**
* https://discord.com/developers/docs/resources/application#application-object-application-integration-types
*/
export enum ApplicationIntegrationType {
/**
* App is installable to servers
*/
GuildInstall = 0,
/**
* App is installable to users
*/
UserInstall = 1,
}
/**
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-context-types
*/
export enum InteractionContextType {
/**
* Interaction can be used within servers
*/
Guild = 0,
/**
* Interaction can be used within DMs with the app's bot user
*/
BotDM = 1,
/**
* Interaction can be used within Group DMs and DMs other than the app's bot user
*/
PrivateChannel = 2,
}
/**
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data
*/

View File

@@ -1,5 +1,5 @@
import type { Permissions, Snowflake } from '../../../globals';
import type { APIRole, LocaleString } from '../../../v10';
import type { APIRole, ApplicationIntegrationType, InteractionContextType, LocaleString } from '../../../v10';
import type {
APIAttachment,
APIChannel,
@@ -14,6 +14,40 @@ import type { APIEntitlement } from '../monetization';
import type { APIUser } from '../user';
import type { InteractionType } from './responses';
/**
* https://discord.com/developers/docs/resources/channel#message-interaction-metadata-object
*/
export interface APIMessageInteractionMetadata {
/**
* ID of the interaction
*/
id: Snowflake;
/**
* Type of interaction
*/
type: InteractionType;
/**
* User who triggered the interaction
*/
user: APIUser;
/**
* IDs for installation context(s) related to an interaction. Details in Authorizing Integration Owners Object
*/
authorizing_integration_owners: APIAuthorizingIntegrationOwnersMap;
/**
* ID of the original response message, present only on follow-up messages
*/
original_response_message_id?: Snowflake;
/**
* ID of the message that contained interactive component, present only on messages created from component interactions
*/
interacted_message_id?: Snowflake;
/**
* Metadata for the interaction that was used to open the modal, present only on modal submit interactions
*/
triggering_interaction_metadata?: APIMessageInteractionMetadata;
}
export type PartialAPIMessageInteractionGuildMember = Pick<
APIGuildMember,
| 'avatar'
@@ -122,7 +156,7 @@ export interface APIBaseInteraction<Type extends InteractionType, Data> {
/**
* Bitwise set of permissions the app or bot has within the channel the interaction was sent from
*/
app_permissions?: Permissions;
app_permissions: Permissions;
/**
* The selected language of the invoking user
*/
@@ -135,8 +169,20 @@ export interface APIBaseInteraction<Type extends InteractionType, Data> {
* For monetized apps, any entitlements for the invoking user, representing access to premium SKUs
*/
entitlements: APIEntitlement[];
/**
* Mapping of installation contexts that the interaction was authorized for to related user or guild IDs.
*/
authorizing_integration_owners: APIAuthorizingIntegrationOwnersMap;
/**
* Context where the interaction was triggered from
*/
context?: InteractionContextType;
}
export type APIAuthorizingIntegrationOwnersMap = {
[key in ApplicationIntegrationType]?: Snowflake;
};
export type APIDMInteractionWrapper<Original extends APIBaseInteraction<InteractionType, unknown>> = Omit<
Original,
'guild_id' | 'member'

View File

@@ -5,6 +5,7 @@
import type { Permissions, Snowflake } from '../../globals';
import type { LocalizationMap } from '../common';
import type { APIPartialGuild } from './guild';
import type { ApplicationIntegrationType } from './interactions';
import type { OAuth2Scopes } from './oauth2';
import type { APITeam } from './teams';
import type { APIUser } from './user';
@@ -128,6 +129,12 @@ export interface APIApplication {
* Settings for the application's default in-app authorization link, if enabled
*/
install_params?: APIApplicationInstallParams;
/**
* Default scopes and permissions for each supported installation context. Value for each key is an integration type configuration object
*
* @unstable
*/
integration_types_config?: APIApplicationIntegrationTypesConfigMap;
/**
* The application's default custom authorization link, if enabled
*/
@@ -139,6 +146,14 @@ export interface APIApplicationInstallParams {
permissions: Permissions;
}
export interface APIApplicationIntegrationTypeConfiguration {
oauth2_install_params?: APIApplicationInstallParams;
}
export type APIApplicationIntegrationTypesConfigMap = {
[key in ApplicationIntegrationType]?: APIApplicationIntegrationTypeConfiguration;
};
/**
* https://discord.com/developers/docs/resources/application#application-object-application-flags
*/

View File

@@ -10,7 +10,7 @@ import type {
AutoModerationRuleEventType,
AutoModerationRuleTriggerType,
} from './autoModeration';
import type { APIChannel, APIOverwrite } from './channel';
import type { APIChannel, APIGuildForumDefaultReactionEmoji, APIGuildForumTag, APIOverwrite } from './channel';
import type {
APIGuildIntegration,
APIGuildIntegrationType,
@@ -205,6 +205,15 @@ export enum AuditLogEvent {
CreatorMonetizationRequestCreated = 150,
CreatorMonetizationTermsAccepted,
OnboardingPromptCreate = 163,
OnboardingPromptUpdate,
OnboardingPromptDelete,
OnboardingCreate,
OnboardingUpdate,
HomeSettingsCreate = 190,
HomeSettingsUpdate,
}
/**
@@ -347,6 +356,7 @@ export type APIAuditLogChange =
| APIAuditLogChangeKeyAsset
| APIAuditLogChangeKeyAutoArchiveDuration
| APIAuditLogChangeKeyAvailable
| APIAuditLogChangeKeyAvailableTags
| APIAuditLogChangeKeyAvatarHash
| APIAuditLogChangeKeyBannerHash
| APIAuditLogChangeKeyBitrate
@@ -357,6 +367,8 @@ export type APIAuditLogChange =
| APIAuditLogChangeKeyDeaf
| APIAuditLogChangeKeyDefaultAutoArchiveDuration
| APIAuditLogChangeKeyDefaultMessageNotifications
| APIAuditLogChangeKeyDefaultReactionEmoji
| APIAuditLogChangeKeyDefaultThreadRateLimitPerUser
| APIAuditLogChangeKeyDeny
| APIAuditLogChangeKeyDescription
| APIAuditLogChangeKeyDiscoverySplashHash
@@ -369,6 +381,7 @@ export type APIAuditLogChange =
| APIAuditLogChangeKeyExpireBehavior
| APIAuditLogChangeKeyExpireGracePeriod
| APIAuditLogChangeKeyExplicitContentFilter
| APIAuditLogChangeKeyFlags
| APIAuditLogChangeKeyFormatType
| APIAuditLogChangeKeyGuildId
| APIAuditLogChangeKeyHoist
@@ -523,12 +536,12 @@ export type APIAuditLogChangeKeyVanityURLCode = AuditLogChangeData<'vanity_url_c
/**
* Returned when new role(s) are added
*/
export type APIAuditLogChangeKey$Add = AuditLogChangeData<'$add', APIRole[]>;
export type APIAuditLogChangeKey$Add = AuditLogChangeData<'$add', Pick<APIRole, 'id' | 'name'>[]>;
/**
* Returned when role(s) are removed
*/
export type APIAuditLogChangeKey$Remove = AuditLogChangeData<'$remove', APIRole[]>;
export type APIAuditLogChangeKey$Remove = AuditLogChangeData<'$remove', Pick<APIRole, 'id' | 'name'>[]>;
/**
* Returned when there is a change in number of days after which inactive and role-unassigned members are kicked
@@ -826,6 +839,33 @@ export type APIAuditLogChangeKeyExemptRoles = AuditLogChangeData<'exempt_roles',
*/
export type APIAuditLogChangeKeyExemptChannels = AuditLogChangeData<'exempt_channels', Snowflake[]>;
/**
* Returned when a guild forum's available tags gets changed
*/
export type APIAuditLogChangeKeyAvailableTags = AuditLogChangeData<'available_tags', APIGuildForumTag[]>;
/**
* Returned when a guild forum's default reaction emoji gets changed
*/
export type APIAuditLogChangeKeyDefaultReactionEmoji = AuditLogChangeData<
'default_reaction_emoji',
APIGuildForumDefaultReactionEmoji
>;
/**
* Returned when a channel flag gets changed
*/
export type APIAuditLogChangeKeyFlags = AuditLogChangeData<'flags', number>;
/**
* Returned when a thread's amount of seconds a user has to wait before creating another thread
* gets changed
*/
export type APIAuditLogChangeKeyDefaultThreadRateLimitPerUser = AuditLogChangeData<
'default_thread_rate_limit_per_user',
number
>;
interface AuditLogChangeData<K extends string, D> {
key: K;
/**

View File

@@ -74,6 +74,10 @@ export enum AutoModerationRuleTriggerType {
* Check if content contains more mentions than allowed (Maximum of 1 per guild)
*/
MentionSpam,
/**
* Check if member profile contains words from a user defined list of keywords (Maximum of 1 per guild)
*/
MemberProfile,
}
/**
@@ -86,7 +90,7 @@ export interface APIAutoModerationRuleTriggerMetadata {
* A keyword can be a phrase which contains multiple words. Wildcard symbols can be used to customize how each string will be matched. Each keyword must be 60 characters or less
* See [keyword matching strategies](https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-keyword-matching-strategies)
*
* Associated trigger type: {@link AutoModerationRuleTriggerType.Keyword}
* Associated trigger types: {@link AutoModerationRuleTriggerType.Keyword}, {@link AutoModerationRuleTriggerType.MemberProfile}
*/
keyword_filter?: string[];
/**
@@ -101,7 +105,7 @@ export interface APIAutoModerationRuleTriggerMetadata {
* A allowed-word can be a phrase which contains multiple words. Wildcard symbols can be used to customize how each string will be matched. Each keyword must be 60 characters or less
* See [keyword matching strategies](https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-keyword-matching-strategies)
*
* Associated trigger type: {@link AutoModerationRuleTriggerType.KeywordPreset}
* Associated trigger types: {@link AutoModerationRuleTriggerType.Keyword}, {@link AutoModerationRuleTriggerType.KeywordPreset}, {@link AutoModerationRuleTriggerType.MemberProfile}
*/
allow_list?: string[];
/**
@@ -109,7 +113,7 @@ export interface APIAutoModerationRuleTriggerMetadata {
*
* Only Rust flavored regex is currently supported (Maximum of 260 characters)
*
* Associated trigger type: {@link AutoModerationRuleTriggerType.Keyword}
* Associated trigger types: {@link AutoModerationRuleTriggerType.Keyword}, {@link AutoModerationRuleTriggerType.MemberProfile}
*/
regex_patterns?: string[];
/**
@@ -152,6 +156,10 @@ export enum AutoModerationRuleEventType {
* When a member sends or edits a message in the guild
*/
MessageSend = 1,
/**
* When a member edits their profile
*/
MemberUpdate,
}
/**
@@ -187,6 +195,10 @@ export enum AutoModerationActionType {
* Timeout user for specified duration, this action type can be set if the bot has `MODERATE_MEMBERS` permission
*/
Timeout,
/**
* Prevents a member from using text, voice, or other interactions
*/
BlockMemberInteraction,
}
/**

View File

@@ -6,7 +6,7 @@ import type { Permissions, Snowflake } from '../../globals';
import type { APIApplication } from './application';
import type { APIPartialEmoji } from './emoji';
import type { APIGuildMember } from './guild';
import type { APIInteractionDataResolved, APIMessageInteraction } from './interactions';
import type { APIInteractionDataResolved, APIMessageInteraction, APIMessageInteractionMetadata } from './interactions';
import type { APIRole } from './permissions';
import type { APIPoll } from './poll';
import type { APISticker, APIStickerItem } from './sticker';
@@ -667,8 +667,16 @@ export interface APIMessage {
* See https://discord.com/developers/docs/resources/channel#message-object
*/
referenced_message?: APIMessage | null;
/**
* Sent if the message is sent as a result of an interaction
*
* @unstable
*/
interaction_metadata?: APIMessageInteractionMetadata;
/**
* Sent if the message is a response to an Interaction
*
* @deprecated In favor of `interaction_metadata`
*/
interaction?: APIMessageInteraction;
/**
@@ -727,6 +735,10 @@ export interface APIMessage {
* See https://support-dev.discord.com/hc/articles/4404772028055
*/
poll?: APIPoll;
/**
* The call associated with the message
*/
call?: APIMessageCall;
}
/**
@@ -769,6 +781,11 @@ export enum MessageType {
StageRaiseHand,
StageTopic,
GuildApplicationPremiumSubscription,
GuildIncidentAlertModeEnabled = 36,
GuildIncidentAlertModeDisabled,
GuildIncidentReportRaid,
GuildIncidentReportFalseAlarm,
}
/**
@@ -871,6 +888,20 @@ export enum MessageFlags {
IsVoiceMessage = 1 << 13,
}
/**
* https://discord.com/developers/docs/resources/channel#message-call-object-message-call-object-structure
*/
export interface APIMessageCall {
/**
* Array of user ids that participated in the call
*/
participants: Snowflake[];
/**
* ISO8601 timestamp when the call ended
*/
ended_timestamp?: string | null;
}
/**
* https://discord.com/developers/docs/resources/channel#role-subscription-data-object-role-subscription-data-object-structure
*/

View File

@@ -8,7 +8,7 @@ import type { PresenceUpdateReceiveStatus } from './gateway';
import type { OAuth2Scopes } from './oauth2';
import type { APIRole } from './permissions';
import type { APISticker } from './sticker';
import type { APIUser } from './user';
import type { APIAvatarDecorationData, APIUser } from './user';
/**
* https://discord.com/developers/docs/resources/guild#unavailable-guild-object
@@ -621,7 +621,7 @@ export interface APIGuildMember {
*
* See https://discord.com/developers/docs/resources/user#user-object
*/
user?: APIUser;
user: APIUser;
/**
* This users guild nickname
*/
@@ -668,6 +668,12 @@ export interface APIGuildMember {
* Timestamp of when the time out will be removed; until then, they cannot interact with the guild
*/
communication_disabled_until?: string | null;
/**
* The data for the member's guild avatar decoration
*
* See https://discord.com/developers/docs/resources/user#avatar-decoration-data-object
*/
avatar_decoration_data?: APIAvatarDecorationData | null;
}
/**

View File

@@ -90,6 +90,19 @@ export interface APIInvite {
* The guild scheduled event data, returned from the `GET /invites/<code>` endpoint when `guild_scheduled_event_id` is a valid guild scheduled event id
*/
guild_scheduled_event?: APIGuildScheduledEvent;
/**
* The invite type
*/
type: InviteType;
}
/**
* https://discord.com/developers/docs/resources/invite#invite-object-invite-types
*/
export enum InviteType {
Guild,
GroupDM,
Friend,
}
/**

View File

@@ -40,16 +40,48 @@ export interface APIEntitlement {
* Date at which the entitlement is no longer valid. Not present when using test entitlements.
*/
ends_at?: string;
/**
* For consumable items, whether or not the entitlement has been consumed
*/
consumed?: boolean;
}
/**
* https://discord.com/developers/docs/monetization/entitlements#entitlement-object-entitlement-types
*/
export enum EntitlementType {
/**
* Entitlement was purchased by user
*/
Purchase = 1,
/**
* Entitlement for Discord Nitro subscription
*/
PremiumSubscription,
/**
* Entitlement was gifted by developer
*/
DeveloperGift,
/**
* Entitlement was purchased by a dev in application test mode
*/
TestModePurchase,
/**
* Entitlement was granted when the SKU was free
*/
FreePurchase,
/**
* Entitlement was gifted by another user
*/
UserGift,
/**
* Entitlement was claimed by user for free as a Nitro Subscriber
*/
PremiumPurchase,
/**
* Entitlement was purchased as an app subscription
*/
ApplicationSubscription = 8,
ApplicationSubscription,
}
/**
@@ -104,6 +136,14 @@ export enum SKUFlags {
}
export enum SKUType {
/**
* Durable one-time purchase
*/
Durable = 2,
/**
* Consumable one-time purchase
*/
Consumable = 3,
/**
* Represents a recurring subscription
*/

View File

@@ -71,7 +71,7 @@ export interface APIPollAnswer {
/**
* The data of the answer
*/
media: APIPollMedia;
poll_media: APIPollMedia;
}
/**

View File

@@ -87,8 +87,16 @@ export interface APIUser {
* The user's avatar decoration hash
*
* See https://discord.com/developers/docs/reference#image-formatting
*
* @deprecated Use `avatar_decoration_data` instead
*/
avatar_decoration?: string | null;
/**
* The data for the user's avatar decoration
*
* See https://discord.com/developers/docs/resources/user#avatar-decoration-data-object
*/
avatar_decoration_data?: APIAvatarDecorationData | null;
}
/**
@@ -267,6 +275,7 @@ export interface APIConnection {
export enum ConnectionService {
BattleNet = 'battlenet',
BungieNet = 'bungie',
Domain = 'domain',
eBay = 'ebay',
EpicGames = 'epicgames',
Facebook = 'facebook',
@@ -319,3 +328,19 @@ export interface APIApplicationRoleConnection {
*/
metadata: Record<string, number | string>;
}
/**
* https://discord.com/developers/docs/resources/user#avatar-decoration-data-object
*/
export interface APIAvatarDecorationData {
/**
* The avatar decoration hash
*
* See https://discord.com/developers/docs/reference#image-formatting
*/
asset: string;
/**
* The id of the avatar decoration's SKU
*/
sku_id: Snowflake;
}

View File

@@ -74,6 +74,8 @@ export interface APIApplicationCommand {
default_member_permissions: Permissions | null;
/**
* Indicates whether the command is available in DMs with the app, only for globally-scoped commands. By default, commands are visible
*
* @deprecated Use `contexts` instead
*/
dm_permission?: boolean;
/**
@@ -88,6 +90,18 @@ export interface APIApplicationCommand {
* Indicates whether the command is age-restricted, defaults to `false`
*/
nsfw?: boolean;
/**
* Installation context(s) where the command is available, only for globally-scoped commands. Defaults to `GUILD_INSTALL ([0])`
*
* @unstable
*/
integration_types?: ApplicationIntegrationType[];
/**
* Interaction context(s) where the command can be used, only for globally-scoped commands. By default, all interaction context types included for new commands `[0,1,2]`.
*
* @unstable
*/
contexts?: InteractionContextType[] | null;
/**
* Autoincrementing version identifier updated during substantial record changes
*/
@@ -103,6 +117,38 @@ export enum ApplicationCommandType {
Message,
}
/**
* https://discord.com/developers/docs/resources/application#application-object-application-integration-types
*/
export enum ApplicationIntegrationType {
/**
* App is installable to servers
*/
GuildInstall = 0,
/**
* App is installable to users
*/
UserInstall = 1,
}
/**
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-context-types
*/
export enum InteractionContextType {
/**
* Interaction can be used within servers
*/
Guild = 0,
/**
* Interaction can be used within DMs with the app's bot user
*/
BotDM = 1,
/**
* Interaction can be used within Group DMs and DMs other than the app's bot user
*/
PrivateChannel = 2,
}
/**
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data
*/

View File

@@ -1,5 +1,5 @@
import type { Permissions, Snowflake } from '../../../globals';
import type { APIRole, LocaleString } from '../../../v9';
import type { APIRole, ApplicationIntegrationType, InteractionContextType, LocaleString } from '../../../v9';
import type {
APIAttachment,
APIChannel,
@@ -14,6 +14,40 @@ import type { APIEntitlement } from '../monetization';
import type { APIUser } from '../user';
import type { InteractionType } from './responses';
/**
* https://discord.com/developers/docs/resources/channel#message-interaction-metadata-object
*/
export interface APIMessageInteractionMetadata {
/**
* ID of the interaction
*/
id: Snowflake;
/**
* Type of interaction
*/
type: InteractionType;
/**
* User who triggered the interaction
*/
user: APIUser;
/**
* IDs for installation context(s) related to an interaction. Details in Authorizing Integration Owners Object
*/
authorizing_integration_owners: APIAuthorizingIntegrationOwnersMap;
/**
* ID of the original response message, present only on follow-up messages
*/
original_response_message_id?: Snowflake;
/**
* ID of the message that contained interactive component, present only on messages created from component interactions
*/
interacted_message_id?: Snowflake;
/**
* Metadata for the interaction that was used to open the modal, present only on modal submit interactions
*/
triggering_interaction_metadata?: APIMessageInteractionMetadata;
}
export type PartialAPIMessageInteractionGuildMember = Pick<
APIGuildMember,
| 'avatar'
@@ -122,7 +156,7 @@ export interface APIBaseInteraction<Type extends InteractionType, Data> {
/**
* Bitwise set of permissions the app or bot has within the channel the interaction was sent from
*/
app_permissions?: Permissions;
app_permissions: Permissions;
/**
* The selected language of the invoking user
*/
@@ -135,8 +169,20 @@ export interface APIBaseInteraction<Type extends InteractionType, Data> {
* For monetized apps, any entitlements for the invoking user, representing access to premium SKUs
*/
entitlements: APIEntitlement[];
/**
* Mapping of installation contexts that the interaction was authorized for to related user or guild IDs.
*/
authorizing_integration_owners: APIAuthorizingIntegrationOwnersMap;
/**
* Context where the interaction was triggered from
*/
context?: InteractionContextType;
}
export type APIAuthorizingIntegrationOwnersMap = {
[key in ApplicationIntegrationType]?: Snowflake;
};
export type APIDMInteractionWrapper<Original extends APIBaseInteraction<InteractionType, unknown>> = Omit<
Original,
'guild_id' | 'member'

View File

@@ -5,6 +5,7 @@
import type { Permissions, Snowflake } from '../../globals';
import type { LocalizationMap } from '../common';
import type { APIPartialGuild } from './guild';
import type { ApplicationIntegrationType } from './interactions';
import type { OAuth2Scopes } from './oauth2';
import type { APITeam } from './teams';
import type { APIUser } from './user';
@@ -128,6 +129,12 @@ export interface APIApplication {
* Settings for the application's default in-app authorization link, if enabled
*/
install_params?: APIApplicationInstallParams;
/**
* Default scopes and permissions for each supported installation context. Value for each key is an integration type configuration object
*
* @unstable
*/
integration_types_config?: APIApplicationIntegrationTypesConfigMap;
/**
* The application's default custom authorization link, if enabled
*/
@@ -139,6 +146,14 @@ export interface APIApplicationInstallParams {
permissions: Permissions;
}
export interface APIApplicationIntegrationTypeConfiguration {
oauth2_install_params?: APIApplicationInstallParams;
}
export type APIApplicationIntegrationTypesConfigMap = {
[key in ApplicationIntegrationType]?: APIApplicationIntegrationTypeConfiguration;
};
/**
* https://discord.com/developers/docs/resources/application#application-object-application-flags
*/

View File

@@ -10,7 +10,7 @@ import type {
AutoModerationRuleEventType,
AutoModerationRuleTriggerType,
} from './autoModeration';
import type { APIChannel, APIOverwrite } from './channel';
import type { APIChannel, APIGuildForumDefaultReactionEmoji, APIGuildForumTag, APIOverwrite } from './channel';
import type {
APIGuildIntegration,
APIGuildIntegrationType,
@@ -205,6 +205,15 @@ export enum AuditLogEvent {
CreatorMonetizationRequestCreated = 150,
CreatorMonetizationTermsAccepted,
OnboardingPromptCreate = 163,
OnboardingPromptUpdate,
OnboardingPromptDelete,
OnboardingCreate,
OnboardingUpdate,
HomeSettingsCreate = 190,
HomeSettingsUpdate,
}
/**
@@ -347,6 +356,7 @@ export type APIAuditLogChange =
| APIAuditLogChangeKeyAsset
| APIAuditLogChangeKeyAutoArchiveDuration
| APIAuditLogChangeKeyAvailable
| APIAuditLogChangeKeyAvailableTags
| APIAuditLogChangeKeyAvatarHash
| APIAuditLogChangeKeyBannerHash
| APIAuditLogChangeKeyBitrate
@@ -357,6 +367,8 @@ export type APIAuditLogChange =
| APIAuditLogChangeKeyDeaf
| APIAuditLogChangeKeyDefaultAutoArchiveDuration
| APIAuditLogChangeKeyDefaultMessageNotifications
| APIAuditLogChangeKeyDefaultReactionEmoji
| APIAuditLogChangeKeyDefaultThreadRateLimitPerUser
| APIAuditLogChangeKeyDeny
| APIAuditLogChangeKeyDescription
| APIAuditLogChangeKeyDiscoverySplashHash
@@ -369,6 +381,7 @@ export type APIAuditLogChange =
| APIAuditLogChangeKeyExpireBehavior
| APIAuditLogChangeKeyExpireGracePeriod
| APIAuditLogChangeKeyExplicitContentFilter
| APIAuditLogChangeKeyFlags
| APIAuditLogChangeKeyFormatType
| APIAuditLogChangeKeyGuildId
| APIAuditLogChangeKeyHoist
@@ -523,12 +536,12 @@ export type APIAuditLogChangeKeyVanityURLCode = AuditLogChangeData<'vanity_url_c
/**
* Returned when new role(s) are added
*/
export type APIAuditLogChangeKey$Add = AuditLogChangeData<'$add', APIRole[]>;
export type APIAuditLogChangeKey$Add = AuditLogChangeData<'$add', Pick<APIRole, 'id' | 'name'>[]>;
/**
* Returned when role(s) are removed
*/
export type APIAuditLogChangeKey$Remove = AuditLogChangeData<'$remove', APIRole[]>;
export type APIAuditLogChangeKey$Remove = AuditLogChangeData<'$remove', Pick<APIRole, 'id' | 'name'>[]>;
/**
* Returned when there is a change in number of days after which inactive and role-unassigned members are kicked
@@ -826,6 +839,33 @@ export type APIAuditLogChangeKeyExemptRoles = AuditLogChangeData<'exempt_roles',
*/
export type APIAuditLogChangeKeyExemptChannels = AuditLogChangeData<'exempt_channels', Snowflake[]>;
/**
* Returned when a guild forum's available tags gets changed
*/
export type APIAuditLogChangeKeyAvailableTags = AuditLogChangeData<'available_tags', APIGuildForumTag[]>;
/**
* Returned when a guild forum's default reaction emoji gets changed
*/
export type APIAuditLogChangeKeyDefaultReactionEmoji = AuditLogChangeData<
'default_reaction_emoji',
APIGuildForumDefaultReactionEmoji
>;
/**
* Returned when a channel flag gets changed
*/
export type APIAuditLogChangeKeyFlags = AuditLogChangeData<'flags', number>;
/**
* Returned when a thread's amount of seconds a user has to wait before creating another thread
* gets changed
*/
export type APIAuditLogChangeKeyDefaultThreadRateLimitPerUser = AuditLogChangeData<
'default_thread_rate_limit_per_user',
number
>;
interface AuditLogChangeData<K extends string, D> {
key: K;
/**

View File

@@ -74,6 +74,10 @@ export enum AutoModerationRuleTriggerType {
* Check if content contains more mentions than allowed (Maximum of 1 per guild)
*/
MentionSpam,
/**
* Check if member profile contains words from a user defined list of keywords (Maximum of 1 per guild)
*/
MemberProfile,
}
/**
@@ -86,7 +90,7 @@ export interface APIAutoModerationRuleTriggerMetadata {
* A keyword can be a phrase which contains multiple words. Wildcard symbols can be used to customize how each string will be matched. Each keyword must be 60 characters or less
* See [keyword matching strategies](https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-keyword-matching-strategies)
*
* Associated trigger type: {@link AutoModerationRuleTriggerType.Keyword}
* Associated trigger types: {@link AutoModerationRuleTriggerType.Keyword}, {@link AutoModerationRuleTriggerType.MemberProfile}
*/
keyword_filter?: string[];
/**
@@ -101,7 +105,7 @@ export interface APIAutoModerationRuleTriggerMetadata {
* A allowed-word can be a phrase which contains multiple words. Wildcard symbols can be used to customize how each string will be matched. Each keyword must be 60 characters or less
* See [keyword matching strategies](https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-keyword-matching-strategies)
*
* Associated trigger type: {@link AutoModerationRuleTriggerType.KeywordPreset}
* Associated trigger types: {@link AutoModerationRuleTriggerType.Keyword}, {@link AutoModerationRuleTriggerType.KeywordPreset}, {@link AutoModerationRuleTriggerType.MemberProfile}
*/
allow_list?: string[];
/**
@@ -109,7 +113,7 @@ export interface APIAutoModerationRuleTriggerMetadata {
*
* Only Rust flavored regex is currently supported (Maximum of 260 characters)
*
* Associated trigger type: {@link AutoModerationRuleTriggerType.Keyword}
* Associated trigger types: {@link AutoModerationRuleTriggerType.Keyword}, {@link AutoModerationRuleTriggerType.MemberProfile}
*/
regex_patterns?: string[];
/**
@@ -152,6 +156,10 @@ export enum AutoModerationRuleEventType {
* When a member sends or edits a message in the guild
*/
MessageSend = 1,
/**
* When a member edits their profile
*/
MemberUpdate,
}
/**
@@ -187,6 +195,10 @@ export enum AutoModerationActionType {
* Timeout user for specified duration, this action type can be set if the bot has `MODERATE_MEMBERS` permission
*/
Timeout,
/**
* Prevents a member from using text, voice, or other interactions
*/
BlockMemberInteraction,
}
/**

View File

@@ -6,7 +6,7 @@ import type { Permissions, Snowflake } from '../../globals';
import type { APIApplication } from './application';
import type { APIPartialEmoji } from './emoji';
import type { APIGuildMember } from './guild';
import type { APIInteractionDataResolved, APIMessageInteraction } from './interactions';
import type { APIInteractionDataResolved, APIMessageInteraction, APIMessageInteractionMetadata } from './interactions';
import type { APIRole } from './permissions';
import type { APIPoll } from './poll';
import type { APISticker, APIStickerItem } from './sticker';
@@ -659,6 +659,12 @@ export interface APIMessage {
* See https://discord.com/developers/docs/resources/channel#message-object
*/
referenced_message?: APIMessage | null;
/**
* Sent if the message is sent as a result of an interaction
*
* @unstable
*/
interaction_metadata?: APIMessageInteractionMetadata;
/**
* Sent if the message is a response to an Interaction
*/
@@ -714,6 +720,10 @@ export interface APIMessage {
* See https://support-dev.discord.com/hc/articles/4404772028055
*/
poll?: APIPoll;
/**
* The call associated with the message
*/
call?: APIMessageCall;
}
/**
@@ -756,6 +766,11 @@ export enum MessageType {
StageRaiseHand,
StageTopic,
GuildApplicationPremiumSubscription,
GuildIncidentAlertModeEnabled = 36,
GuildIncidentAlertModeDisabled,
GuildIncidentReportRaid,
GuildIncidentReportFalseAlarm,
}
/**
@@ -858,6 +873,20 @@ export enum MessageFlags {
IsVoiceMessage = 1 << 13,
}
/**
* https://discord.com/developers/docs/resources/channel#message-call-object-message-call-object-structure
*/
export interface APIMessageCall {
/**
* Array of user ids that participated in the call
*/
participants: Snowflake[];
/**
* ISO8601 timestamp when the call ended
*/
ended_timestamp?: string | null;
}
/**
* https://discord.com/developers/docs/resources/channel#followed-channel-object
*/

View File

@@ -8,7 +8,7 @@ import type { PresenceUpdateReceiveStatus } from './gateway';
import type { OAuth2Scopes } from './oauth2';
import type { APIRole } from './permissions';
import type { APISticker } from './sticker';
import type { APIUser } from './user';
import type { APIAvatarDecorationData, APIUser } from './user';
/**
* https://discord.com/developers/docs/resources/guild#unavailable-guild-object
@@ -613,7 +613,7 @@ export interface APIGuildMember {
*
* See https://discord.com/developers/docs/resources/user#user-object
*/
user?: APIUser;
user: APIUser;
/**
* This users guild nickname
*/
@@ -660,6 +660,12 @@ export interface APIGuildMember {
* Timestamp of when the time out will be removed; until then, they cannot interact with the guild
*/
communication_disabled_until?: string | null;
/**
* The data for the member's guild avatar decoration
*
* See https://discord.com/developers/docs/resources/user#avatar-decoration-data-object
*/
avatar_decoration_data?: APIAvatarDecorationData | null;
}
/**

View File

@@ -90,6 +90,19 @@ export interface APIInvite {
* The guild scheduled event data, returned from the `GET /invites/<code>` endpoint when `guild_scheduled_event_id` is a valid guild scheduled event id
*/
guild_scheduled_event?: APIGuildScheduledEvent;
/**
* The invite type
*/
type: InviteType;
}
/**
* https://discord.com/developers/docs/resources/invite#invite-object-invite-types
*/
export enum InviteType {
Guild,
GroupDM,
Friend,
}
/**

View File

@@ -40,16 +40,48 @@ export interface APIEntitlement {
* Date at which the entitlement is no longer valid. Not present when using test entitlements.
*/
ends_at?: string;
/**
* For consumable items, whether or not the entitlement has been consumed
*/
consumed?: boolean;
}
/**
* https://discord.com/developers/docs/monetization/entitlements#entitlement-object-entitlement-types
*/
export enum EntitlementType {
/**
* Entitlement was purchased by user
*/
Purchase = 1,
/**
* Entitlement for Discord Nitro subscription
*/
PremiumSubscription,
/**
* Entitlement was gifted by developer
*/
DeveloperGift,
/**
* Entitlement was purchased by a dev in application test mode
*/
TestModePurchase,
/**
* Entitlement was granted when the SKU was free
*/
FreePurchase,
/**
* Entitlement was gifted by another user
*/
UserGift,
/**
* Entitlement was claimed by user for free as a Nitro Subscriber
*/
PremiumPurchase,
/**
* Entitlement was purchased as an app subscription
*/
ApplicationSubscription = 8,
ApplicationSubscription,
}
/**
@@ -104,6 +136,14 @@ export enum SKUFlags {
}
export enum SKUType {
/**
* Durable one-time purchase
*/
Durable = 2,
/**
* Consumable one-time purchase
*/
Consumable = 3,
/**
* Represents a recurring subscription
*/

View File

@@ -71,7 +71,7 @@ export interface APIPollAnswer {
/**
* The data of the answer
*/
media: APIPollMedia;
poll_media: APIPollMedia;
}
/**

View File

@@ -87,8 +87,16 @@ export interface APIUser {
* The user's avatar decoration hash
*
* See https://discord.com/developers/docs/reference#image-formatting
*
* @deprecated Use `avatar_decoration_data` instead
*/
avatar_decoration?: string | null;
/**
* The data for the user's avatar decoration
*
* See https://discord.com/developers/docs/resources/user#avatar-decoration-data-object
*/
avatar_decoration_data?: APIAvatarDecorationData | null;
}
/**
@@ -267,6 +275,7 @@ export interface APIConnection {
export enum ConnectionService {
BattleNet = 'battlenet',
BungieNet = 'bungie',
Domain = 'domain',
eBay = 'ebay',
EpicGames = 'epicgames',
Facebook = 'facebook',
@@ -319,3 +328,19 @@ export interface APIApplicationRoleConnection {
*/
metadata: Record<string, number | string>;
}
/**
* https://discord.com/developers/docs/resources/user#avatar-decoration-data-object
*/
export interface APIAvatarDecorationData {
/**
* The avatar decoration hash
*
* See https://discord.com/developers/docs/reference#image-formatting
*/
asset: string;
/**
* The id of the avatar decoration's SKU
*/
sku_id: Snowflake;
}

View File

@@ -156,6 +156,8 @@ export enum RESTJSONErrorCodes {
AnEntitlementHasAlreadyBeenGrantedForThisResource = 40_074,
CloudflareIsBlockingYourRequest = 40_333,
MissingAccess = 50_001,
InvalidAccountType,
CannotExecuteActionOnDMChannel,

View File

@@ -32,6 +32,7 @@ export type RESTPatchCurrentApplicationJSONBody = StrictPartial<
| 'description'
| 'flags'
| 'install_params'
| 'integration_types_config'
| 'interactions_endpoint_url'
| 'role_connections_verification_url'
| 'tags'

View File

@@ -373,6 +373,10 @@ export type RESTDeleteAPIChannelMessageUserReactionResult = never;
* https://discord.com/developers/docs/resources/channel#get-reactions
*/
export interface RESTGetAPIChannelMessageReactionUsersQuery {
/**
* The reaction type
*/
type?: ReactionType;
/**
* Get users after this user ID
*/
@@ -385,6 +389,14 @@ export interface RESTGetAPIChannelMessageReactionUsersQuery {
limit?: number;
}
/**
* https://discord.com/developers/docs/resources/channel#get-reactions-reaction-types
*/
export enum ReactionType {
Normal,
Super,
}
/**
* https://discord.com/developers/docs/resources/channel#get-reactions
*/

View File

@@ -960,6 +960,14 @@ export const Routes = {
guildBulkBan(guildId: Snowflake) {
return `/guilds/${guildId}/bulk-ban` as const;
},
/**
* Route for:
* - POST `/applications/${application.id}/entitlements/${entitlement.id}/consume`
*/
consumeEntitlement(applicationId: Snowflake, entitlementId: Snowflake) {
return `/applications/${applicationId}/entitlements/${entitlementId}/consume` as const;
},
};
export const StickerPackApplicationId = '710982414301790216';
@@ -1093,11 +1101,23 @@ export const CDNRoutes = {
* - GET `/avatar-decorations/{user.id}/{user.avatar_decoration}.png`
*
* This route supports the extension: PNG
*
* @deprecated Use {@link CDNRoutes.avatarDecoration} instead.
*/
userAvatarDecoration(userId: Snowflake, userAvatarDecoration: string) {
return `/avatar-decorations/${userId}/${userAvatarDecoration}.png` as const;
},
/**
* Route for:
* - GET `/avatar-decoration-presets/{avatar_decoration_data_asset}.png`
*
* This route supports the extension: PNG
*/
avatarDecoration(avatarDecorationDataAsset: string) {
return `/avatar-decoration-presets/${avatarDecorationDataAsset}.png` as const;
},
/**
* Route for:
* - GET `/app-icons/{application.id}/{application.icon}.{png|jpeg|webp}`
@@ -1274,6 +1294,7 @@ export interface CDNQuery {
export const RouteBases = {
api: `https://discord.com/api/v${APIVersion}`,
cdn: 'https://cdn.discordapp.com',
media: 'https://media.discordapp.net',
invite: 'https://discord.gg',
template: 'https://discord.new',
gift: 'https://discord.gift',

View File

@@ -6,7 +6,11 @@ import type {
APIInteractionResponseCallbackData,
ApplicationCommandType,
} from '../../payloads/v10/index';
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface, StrictPartial } from '../../utils/internals';
import type {
AddUndefinedToPossiblyUndefinedPropertiesOfInterface,
NonNullableFields,
StrictPartial,
} from '../../utils/internals';
import type {
RESTDeleteAPIWebhookWithTokenMessageResult,
RESTGetAPIWebhookWithTokenMessageResult,
@@ -43,16 +47,21 @@ type RESTPostAPIBaseApplicationCommandsJSONBody = AddUndefinedToPossiblyUndefine
Omit<
APIApplicationCommand,
| 'application_id'
| 'contexts'
| 'default_member_permissions'
| 'description_localized'
| 'description'
| 'guild_id'
| 'id'
| 'integration_types'
| 'name_localized'
| 'type'
| 'version'
> &
Partial<Pick<APIApplicationCommand, 'default_member_permissions'>>
Partial<
NonNullableFields<Pick<APIApplicationCommand, 'contexts'>> &
Pick<APIApplicationCommand, 'default_member_permissions' | 'integration_types'>
>
>;
/**

View File

@@ -83,3 +83,8 @@ export type RESTDeleteAPIEntitlementResult = never;
* https://discord.com/developers/docs/monetization/skus#list-skus
*/
export type RESTGetAPISKUsResult = APISKU[];
/**
* https://discord.com/developers/docs/monetization/entitlements#consume-an-entitlement
*/
export type RESTPostAPIEntitlementConsumeResult = never;

View File

@@ -32,6 +32,7 @@ export type RESTPatchCurrentApplicationJSONBody = StrictPartial<
| 'description'
| 'flags'
| 'install_params'
| 'integration_types_config'
| 'interactions_endpoint_url'
| 'role_connections_verification_url'
| 'tags'

View File

@@ -381,6 +381,10 @@ export type RESTDeleteAPIChannelMessageUserReactionResult = never;
* https://discord.com/developers/docs/resources/channel#get-reactions
*/
export interface RESTGetAPIChannelMessageReactionUsersQuery {
/**
* The reaction type
*/
type?: ReactionType;
/**
* Get users after this user ID
*/
@@ -393,6 +397,14 @@ export interface RESTGetAPIChannelMessageReactionUsersQuery {
limit?: number;
}
/**
* https://discord.com/developers/docs/resources/channel#get-reactions-reaction-types
*/
export enum ReactionType {
Normal,
Super,
}
/**
* https://discord.com/developers/docs/resources/channel#get-reactions
*/

View File

@@ -969,6 +969,14 @@ export const Routes = {
guildBulkBan(guildId: Snowflake) {
return `/guilds/${guildId}/bulk-ban` as const;
},
/**
* Route for:
* - POST `/applications/${application.id}/entitlements/${entitlement.id}/consume`
*/
consumeEntitlement(applicationId: Snowflake, entitlementId: Snowflake) {
return `/applications/${applicationId}/entitlements/${entitlementId}/consume` as const;
},
};
export const StickerPackApplicationId = '710982414301790216';
@@ -1102,11 +1110,23 @@ export const CDNRoutes = {
* - GET `/avatar-decorations/{user.id}/{user.avatar_decoration}.png`
*
* This route supports the extension: PNG
*
* @deprecated Use {@link CDNRoutes.avatarDecoration} instead.
*/
userAvatarDecoration(userId: Snowflake, userAvatarDecoration: string) {
return `/avatar-decorations/${userId}/${userAvatarDecoration}.png` as const;
},
/**
* Route for:
* - GET `/avatar-decoration-presets/{avatar_decoration_data_asset}.png`
*
* This route supports the extension: PNG
*/
avatarDecoration(avatarDecorationDataAsset: string) {
return `/avatar-decoration-presets/${avatarDecorationDataAsset}.png` as const;
},
/**
* Route for:
* - GET `/app-icons/{application.id}/{application.icon}.{png|jpeg|webp}`

View File

@@ -6,7 +6,11 @@ import type {
APIInteractionResponseCallbackData,
ApplicationCommandType,
} from '../../payloads/v9/index';
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface, StrictPartial } from '../../utils/internals';
import type {
AddUndefinedToPossiblyUndefinedPropertiesOfInterface,
NonNullableFields,
StrictPartial,
} from '../../utils/internals';
import type {
RESTDeleteAPIWebhookWithTokenMessageResult,
RESTGetAPIWebhookWithTokenMessageResult,
@@ -43,16 +47,21 @@ type RESTPostAPIBaseApplicationCommandsJSONBody = AddUndefinedToPossiblyUndefine
Omit<
APIApplicationCommand,
| 'application_id'
| 'contexts'
| 'default_member_permissions'
| 'description_localized'
| 'description'
| 'guild_id'
| 'id'
| 'integration_types'
| 'name_localized'
| 'type'
| 'version'
> &
Partial<Pick<APIApplicationCommand, 'default_member_permissions'>>
Partial<
NonNullableFields<Pick<APIApplicationCommand, 'contexts'>> &
Pick<APIApplicationCommand, 'default_member_permissions' | 'integration_types'>
>
>;
/**

View File

@@ -83,3 +83,8 @@ export type RESTDeleteAPIEntitlementResult = never;
* https://discord.com/developers/docs/monetization/skus#list-skus
*/
export type RESTGetAPISKUsResult = APISKU[];
/**
* https://discord.com/developers/docs/monetization/entitlements#consume-an-entitlement
*/
export type RESTPostAPIEntitlementConsumeResult = never;

View File

@@ -0,0 +1,6 @@
import { expectError } from 'tsd';
import { GatewayMessageCreateDispatch } from '../../v10';
declare const messageCreateDispatch: GatewayMessageCreateDispatch;
expectError(messageCreateDispatch.d.member?.user);

View File

@@ -2,6 +2,10 @@ export type Nullable<T> = {
[P in keyof T]: T[P] | null;
};
export type NonNullableFields<T> = {
[P in keyof T]: NonNullable<T[P]>;
};
export type AddUndefinedToPossiblyUndefinedPropertiesOfInterface<Base> = {
[K in keyof Base]: Base[K] extends Exclude<Base[K], undefined> ?
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<Base[K]>

View File

@@ -48,7 +48,8 @@ document can be used by bots and are _intended_ for usage by bots. This is a har
Not every single update to the API is valid to be documented here. Our main stance for documentation is that properties
must be known and documented on [`Discord's API Documentation repository`](https://github.com/discord/discord-api-docs),
must be mentioned in an open pull request or must have received the green light to be used.
must be mentioned in an open pull request, must have received the green light to be used, or must be present in the
[stable OpenAPI specification](https://github.com/discord/discord-api-spec/blob/main/specs/openapi.json).
With that aside, there are times where documentation for certain types is not approved/merged by Discord on the grounds
that `it isn't helpful for bots` (or similar), but it would actually benefit bot developers to have it documented (one

View File

@@ -9290,9 +9290,9 @@
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
},
"node_modules/ejs": {
"version": "3.1.8",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
"integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
"integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
"dependencies": {
"jake": "^10.8.5"
},
@@ -27971,9 +27971,9 @@
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
},
"ejs": {
"version": "3.1.8",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
"integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
"integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
"requires": {
"jake": "^10.8.5"
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -48,7 +48,8 @@ document can be used by bots and are _intended_ for usage by bots. This is a har
Not every single update to the API is valid to be documented here. Our main stance for documentation is that properties
must be known and documented on [`Discord's API Documentation repository`](https://github.com/discord/discord-api-docs),
must be mentioned in an open pull request or must have received the green light to be used.
must be mentioned in an open pull request, must have received the green light to be used, or must be present in the
[stable OpenAPI specification](https://github.com/discord/discord-api-spec/blob/main/specs/openapi.json).
With that aside, there are times where documentation for certain types is not approved/merged by Discord on the grounds
that `it isn't helpful for bots` (or similar), but it would actually benefit bot developers to have it documented (one

View File

@@ -1 +1 @@
[{"entryPoints":{"globals":{"path":"globals.ts","label":"Global Types"},"gateway/common":{"path":"gateway/common.ts","label":"Gateway - Common Types"},"payloads/common":{"path":"payloads/common.ts","label":"Payloads - Common Types"},"rest/common":{"path":"rest/common.ts","label":"REST - Common Types"},"rpc/common":{"path":"rpc/common.ts","label":"RPC - Common Types"},"v6":{"path":"v6.ts","label":"API v6 - Deprecated"},"v8":{"path":"v8.ts","label":"API v8 - Deprecated"},"v9":{"path":"v9.ts","label":"API v9"},"v10":{"path":"v10.ts","label":"API v10"},"rpc/v8":{"path":"rpc/v8.ts","label":"RPC v8"},"rpc/v9":{"path":"rpc/v9.ts","label":"RPC v9"},"rpc/v10":{"path":"rpc/v10.ts","label":"RPC v10"},"voice/v4":{"path":"voice/v4.ts","label":"Voice v4"},"utils/v8":{"path":"utils/v8.ts","label":"Utils v8"},"utils/v9":{"path":"utils/v9.ts","label":"Utils v9"},"utils/v10":{"path":"utils/v10.ts","label":"Utils v10"}},"packagePath":"./","packageSlug":"discord-api-types","packageName":"discord-api-types","packageVersion":"0.37.80"}]
[{"entryPoints":{"globals":{"path":"globals.ts","label":"Global Types"},"gateway/common":{"path":"gateway/common.ts","label":"Gateway - Common Types"},"payloads/common":{"path":"payloads/common.ts","label":"Payloads - Common Types"},"rest/common":{"path":"rest/common.ts","label":"REST - Common Types"},"rpc/common":{"path":"rpc/common.ts","label":"RPC - Common Types"},"v6":{"path":"v6.ts","label":"API v6 - Deprecated"},"v8":{"path":"v8.ts","label":"API v8 - Deprecated"},"v9":{"path":"v9.ts","label":"API v9"},"v10":{"path":"v10.ts","label":"API v10"},"rpc/v8":{"path":"rpc/v8.ts","label":"RPC v8"},"rpc/v9":{"path":"rpc/v9.ts","label":"RPC v9"},"rpc/v10":{"path":"rpc/v10.ts","label":"RPC v10"},"voice/v4":{"path":"voice/v4.ts","label":"Voice v4"},"utils/v8":{"path":"utils/v8.ts","label":"Utils v8"},"utils/v9":{"path":"utils/v9.ts","label":"Utils v9"},"utils/v10":{"path":"utils/v10.ts","label":"Utils v10"}},"packagePath":"./","packageSlug":"discord-api-types","packageName":"discord-api-types","packageVersion":"0.37.88"}]

File diff suppressed because one or more lines are too long

View File

@@ -48,7 +48,8 @@ document can be used by bots and are _intended_ for usage by bots. This is a har
Not every single update to the API is valid to be documented here. Our main stance for documentation is that properties
must be known and documented on [`Discord's API Documentation repository`](https://github.com/discord/discord-api-docs),
must be mentioned in an open pull request or must have received the green light to be used.
must be mentioned in an open pull request, must have received the green light to be used, or must be present in the
[stable OpenAPI specification](https://github.com/discord/discord-api-spec/blob/main/specs/openapi.json).
With that aside, there are times where documentation for certain types is not approved/merged by Discord on the grounds
that `it isn't helpful for bots` (or similar), but it would actually benefit bot developers to have it documented (one

View File

@@ -1 +1 @@
[{"entryPoints":{"globals":{"path":"globals.ts","label":"Global Types"},"gateway/common":{"path":"gateway/common.ts","label":"Gateway - Common Types"},"payloads/common":{"path":"payloads/common.ts","label":"Payloads - Common Types"},"rest/common":{"path":"rest/common.ts","label":"REST - Common Types"},"rpc/common":{"path":"rpc/common.ts","label":"RPC - Common Types"},"v6":{"path":"v6.ts","label":"API v6 - Deprecated"},"v8":{"path":"v8.ts","label":"API v8 - Deprecated"},"v9":{"path":"v9.ts","label":"API v9"},"v10":{"path":"v10.ts","label":"API v10"},"rpc/v8":{"path":"rpc/v8.ts","label":"RPC v8"},"rpc/v9":{"path":"rpc/v9.ts","label":"RPC v9"},"rpc/v10":{"path":"rpc/v10.ts","label":"RPC v10"},"voice/v4":{"path":"voice/v4.ts","label":"Voice v4"},"utils/v8":{"path":"utils/v8.ts","label":"Utils v8"},"utils/v9":{"path":"utils/v9.ts","label":"Utils v9"},"utils/v10":{"path":"utils/v10.ts","label":"Utils v10"}},"packagePath":"./","packageSlug":"discord-api-types","packageName":"discord-api-types","packageVersion":"0.37.79"}]
[{"entryPoints":{"globals":{"path":"globals.ts","label":"Global Types"},"gateway/common":{"path":"gateway/common.ts","label":"Gateway - Common Types"},"payloads/common":{"path":"payloads/common.ts","label":"Payloads - Common Types"},"rest/common":{"path":"rest/common.ts","label":"REST - Common Types"},"rpc/common":{"path":"rpc/common.ts","label":"RPC - Common Types"},"v6":{"path":"v6.ts","label":"API v6 - Deprecated"},"v8":{"path":"v8.ts","label":"API v8 - Deprecated"},"v9":{"path":"v9.ts","label":"API v9"},"v10":{"path":"v10.ts","label":"API v10"},"rpc/v8":{"path":"rpc/v8.ts","label":"RPC v8"},"rpc/v9":{"path":"rpc/v9.ts","label":"RPC v9"},"rpc/v10":{"path":"rpc/v10.ts","label":"RPC v10"},"voice/v4":{"path":"voice/v4.ts","label":"Voice v4"},"utils/v8":{"path":"utils/v8.ts","label":"Utils v8"},"utils/v9":{"path":"utils/v9.ts","label":"Utils v9"},"utils/v10":{"path":"utils/v10.ts","label":"Utils v10"}},"packagePath":"./","packageSlug":"discord-api-types","packageName":"discord-api-types","packageVersion":"0.37.89"}]

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
[
"0.37.80",
"0.37.79"
"0.37.89",
"0.37.88"
]