mirror of
https://github.com/discordjs/discord-api-types.git
synced 2026-05-22 11:20:10 +00:00
Compare commits
140 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3ce9610ba0 | ||
|
|
509746003a | ||
|
|
f859a96974 | ||
|
|
344e43b307 | ||
|
|
709153564e | ||
|
|
782a711236 | ||
|
|
566f2bc2c7 | ||
|
|
2627c0c98c | ||
|
|
0c46476110 | ||
|
|
d273000c32 | ||
|
|
5678a63875 | ||
|
|
f9913cb9a1 | ||
|
|
16a6a46832 | ||
|
|
79d9875c5d | ||
|
|
ddb2bde077 | ||
|
|
c8bfdebf24 | ||
|
|
707fd2e36e | ||
|
|
a69286a361 | ||
|
|
c457b8d059 | ||
|
|
7650ce4f72 | ||
|
|
65eebd92d6 | ||
|
|
0fafe5e901 | ||
|
|
0fce829175 | ||
|
|
33d5b14f22 | ||
|
|
aa7d1ee943 | ||
|
|
3e4c34cace | ||
|
|
8c603dc838 | ||
|
|
f9155dddb8 | ||
|
|
d0e4018607 | ||
|
|
189e91d62c | ||
|
|
2eae29d8ca | ||
|
|
2c595f7b20 | ||
|
|
cf4ecedced | ||
|
|
4e37de7f72 | ||
|
|
c9f2c5b020 | ||
|
|
312947de1e | ||
|
|
3ae6d722fd | ||
|
|
fddb2257db | ||
|
|
8de6d6bb4c | ||
|
|
c4ee7907c2 | ||
|
|
02695c5c19 | ||
|
|
fcc48a43e6 | ||
|
|
308d7d40f4 | ||
|
|
1572c2d291 | ||
|
|
a36449a028 | ||
|
|
29d88445e9 | ||
|
|
df3457a520 | ||
|
|
e1653f8f3e | ||
|
|
369d7b712f | ||
|
|
df495ecd20 | ||
|
|
ee7fc06b75 | ||
|
|
c6899314eb | ||
|
|
547d6d118f | ||
|
|
2831452fbd | ||
|
|
3c00105453 | ||
|
|
781f8f198a | ||
|
|
77f5dde20e | ||
|
|
e2b3eb5654 | ||
|
|
46cc9ae288 | ||
|
|
5934e43d01 | ||
|
|
5ae3514498 | ||
|
|
0322478a21 | ||
|
|
33d3806d89 | ||
|
|
aa5f15ed7d | ||
|
|
22b5f47787 | ||
|
|
ddf0a7bdba | ||
|
|
e70fa70526 | ||
|
|
90c70c01bd | ||
|
|
3442d5657a | ||
|
|
43803d6c52 | ||
|
|
0c3383558d | ||
|
|
e030fe2ab7 | ||
|
|
634df000c6 | ||
|
|
495148dc46 | ||
|
|
61ce329f61 | ||
|
|
7dcad582ce | ||
|
|
4db44b553d | ||
|
|
ccb7ef479c | ||
|
|
37b08a293f | ||
|
|
db89f0ef66 | ||
|
|
47c9ad0e70 | ||
|
|
eaaa8254b9 | ||
|
|
1d5646e5a0 | ||
|
|
b7ae342faa | ||
|
|
698282f4b0 | ||
|
|
19327a5d66 | ||
|
|
66958cb67e | ||
|
|
bd7e1e7b4f | ||
|
|
6ce581c0db | ||
|
|
7f22d4da37 | ||
|
|
d6d2fb69c9 | ||
|
|
dfc109f3f1 | ||
|
|
1377730766 | ||
|
|
22e6bafd39 | ||
|
|
5e175e1595 | ||
|
|
fcf14c3ea2 | ||
|
|
8640cdd360 | ||
|
|
1f83534ccb | ||
|
|
affc669a73 | ||
|
|
15fe19b39d | ||
|
|
c83a604076 | ||
|
|
6887b8fc46 | ||
|
|
f509930e00 | ||
|
|
597b7f7fb0 | ||
|
|
badf590103 | ||
|
|
d7d089e3cd | ||
|
|
36e8d3caed | ||
|
|
9fc46f8ecb | ||
|
|
930162c7a6 | ||
|
|
1cf1a57365 | ||
|
|
a39a5d9d41 | ||
|
|
a0e00ffaf7 | ||
|
|
45e2d17c65 | ||
|
|
8691b992e0 | ||
|
|
36d1b4ba50 | ||
|
|
de02125eec | ||
|
|
8acc356d27 | ||
|
|
803e5b31b9 | ||
|
|
c7e0e32aa5 | ||
|
|
5aec2d293e | ||
|
|
5e09570716 | ||
|
|
d98c991c35 | ||
|
|
2814d7e2f5 | ||
|
|
23f87a8ff2 | ||
|
|
1d39612329 | ||
|
|
ef31e116b6 | ||
|
|
abbd4b2e21 | ||
|
|
5e295706b8 | ||
|
|
803dcd7bdd | ||
|
|
62de95fd6f | ||
|
|
4f46175c3c | ||
|
|
150dc46b87 | ||
|
|
c008413a8a | ||
|
|
9564941b3a | ||
|
|
f329a80a6b | ||
|
|
0cfe05dad8 | ||
|
|
4473293b0e | ||
|
|
a28b2d749e | ||
|
|
55efcca4f8 | ||
|
|
6f541d58d2 |
@@ -35,7 +35,7 @@ const schema = [
|
||||
},
|
||||
},
|
||||
},
|
||||
];
|
||||
] as const;
|
||||
|
||||
export = {
|
||||
rules: {
|
||||
9
.eslint-plugin-local/tsconfig.json
Normal file
9
.eslint-plugin-local/tsconfig.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"declaration": false,
|
||||
"declarationMap": false,
|
||||
"skipLibCheck": true
|
||||
},
|
||||
"include": ["./index.ts"]
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
"compileOnSave": true,
|
||||
"compilerOptions": {
|
||||
"alwaysStrict": true,
|
||||
"lib": ["esnext"],
|
||||
"module": "commonjs",
|
||||
"noUnusedParameters": true,
|
||||
"sourceMap": true,
|
||||
"declaration": false,
|
||||
"noUnusedLocals": true,
|
||||
"removeComments": false,
|
||||
"target": "ES2020",
|
||||
"importsNotUsedAsValues": "error",
|
||||
"strictNullChecks": true,
|
||||
"preserveConstEnums": true,
|
||||
"exactOptionalPropertyTypes": true,
|
||||
"skipLibCheck": true
|
||||
},
|
||||
"include": ["./index.ts"]
|
||||
}
|
||||
@@ -15,6 +15,7 @@
|
||||
"tsdoc/syntax": "off",
|
||||
"typescript-sort-keys/interface": "off",
|
||||
"typescript-sort-keys/string-enum": "off",
|
||||
"unicorn/prefer-math-trunc": "off"
|
||||
"unicorn/prefer-math-trunc": "off",
|
||||
"jsdoc/no-undefined-types": "off"
|
||||
}
|
||||
}
|
||||
|
||||
26
.github/CODE_OF_CONDUCT.md
vendored
26
.github/CODE_OF_CONDUCT.md
vendored
@@ -14,22 +14,22 @@ appearance, race, religion, or sexual identity and orientation.
|
||||
Examples of behavior that contributes to creating a positive environment
|
||||
include:
|
||||
|
||||
- Using welcoming and inclusive language
|
||||
- Being respectful of differing viewpoints and experiences
|
||||
- Gracefully accepting constructive criticism
|
||||
- Focusing on what is best for the community
|
||||
- Showing empathy towards other community members
|
||||
- Using welcoming and inclusive language
|
||||
- Being respectful of differing viewpoints and experiences
|
||||
- Gracefully accepting constructive criticism
|
||||
- Focusing on what is best for the community
|
||||
- Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
- The use of sexualized language or imagery and unwelcome sexual attention or
|
||||
advances
|
||||
- Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
- Public or private harassment
|
||||
- Publishing others' private information, such as a physical or electronic
|
||||
address, without explicit permission
|
||||
- Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
- The use of sexualized language or imagery and unwelcome sexual attention or
|
||||
advances
|
||||
- Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
- Public or private harassment
|
||||
- Publishing others' private information, such as a physical or electronic
|
||||
address, without explicit permission
|
||||
- Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
|
||||
6
.github/COMMIT_CONVENTION.md
vendored
6
.github/COMMIT_CONVENTION.md
vendored
@@ -74,9 +74,9 @@ The scope could be anything specifying the place of the commit change. For examp
|
||||
|
||||
The subject contains a succinct description of the change:
|
||||
|
||||
- use the imperative, present tense: "change" not "changed" nor "changes"
|
||||
- don't capitalize the first letter
|
||||
- no dot (.) at the end
|
||||
- use the imperative, present tense: "change" not "changed" nor "changes"
|
||||
- don't capitalize the first letter
|
||||
- no dot (.) at the end
|
||||
|
||||
### Body
|
||||
|
||||
|
||||
44
.github/CONTRIBUTING.md
vendored
44
.github/CONTRIBUTING.md
vendored
@@ -2,39 +2,39 @@
|
||||
|
||||
**The issue tracker is only for bug reports and enhancement suggestions. If you have a question, please ask it in the [Discord server](https://discord.gg/djs) instead of opening an issue, or on [GitHub Discussions](https://github.com/discordjs/discord-api-types/discussions) – you will get redirected there anyway.**
|
||||
|
||||
- [Code of Conduct](https://github.com/discordjs/discord-api-types/blob/main/.github/CODE_OF_CONDUCT.md)
|
||||
- [Pull Request Guidelines](#pull-request-guidelines)
|
||||
- [Development Setup](#development-setup)
|
||||
- [Project Structure](#project-structure)
|
||||
- [Contributing Tests](#contributing-tests)
|
||||
- [Code of Conduct](https://github.com/discordjs/discord-api-types/blob/main/.github/CODE_OF_CONDUCT.md)
|
||||
- [Pull Request Guidelines](#pull-request-guidelines)
|
||||
- [Development Setup](#development-setup)
|
||||
- [Project Structure](#project-structure)
|
||||
- [Contributing Tests](#contributing-tests)
|
||||
|
||||
## Pull Request Guidelines
|
||||
|
||||
- Checkout a topic branch from a base branch, e.g. `main`, and merge back against that branch.
|
||||
- Checkout a topic branch from a base branch, e.g. `main`, and merge back against that branch.
|
||||
|
||||
- If adding a new feature:
|
||||
- If adding a new feature:
|
||||
|
||||
- Provide a convincing reason to add this feature. Ideally, you should open a suggestion issue first and have it approved before working on it.
|
||||
- Provide a convincing reason to add this feature. Ideally, you should open a suggestion issue first and have it approved before working on it.
|
||||
|
||||
- If fixing a bug:
|
||||
- If fixing a bug:
|
||||
|
||||
- If you are resolving a special issue, add `fix/close #xxxx[,#xxxx]` (#xxxx is the issue id) in your PR body for a better release log, e.g.
|
||||
- If you are resolving a special issue, add `fix/close #xxxx[,#xxxx]` (#xxxx is the issue id) in your PR body for a better release log, e.g.
|
||||
|
||||
```
|
||||
fix(Guild): handle events correctly
|
||||
```
|
||||
fix(Guild): handle events correctly
|
||||
|
||||
close #28
|
||||
```
|
||||
close #28
|
||||
```
|
||||
|
||||
- Provide a detailed description of the bug in the PR. Live demo preferred.
|
||||
- Provide a detailed description of the bug in the PR. Live demo preferred.
|
||||
|
||||
- It's OK to have multiple small commits as you work on the PR - GitHub can automatically squash them before merging.
|
||||
- It's OK to have multiple small commits as you work on the PR - GitHub can automatically squash them before merging.
|
||||
|
||||
- Make sure tests pass!
|
||||
- Make sure tests pass!
|
||||
|
||||
- Commit messages must follow the [commit message convention](./COMMIT_CONVENTION.md) so that changelogs can be automatically generated. Commit messages are automatically validated before commit (by invoking [Git Hooks](https://git-scm.com/docs/githooks) via [husky](https://github.com/typicode/husky)).
|
||||
- Commit messages must follow the [commit message convention](./COMMIT_CONVENTION.md) so that changelogs can be automatically generated. Commit messages are automatically validated before commit (by invoking [Git Hooks](https://git-scm.com/docs/githooks) via [husky](https://github.com/typicode/husky)).
|
||||
|
||||
- No need to worry about code style as long as you have installed the dev dependencies - modified files are automatically formatted with Prettier on commit (by invoking [Git Hooks](https://git-scm.com/docs/githooks) via [husky](https://github.com/typicode/husky)).
|
||||
- No need to worry about code style as long as you have installed the dev dependencies - modified files are automatically formatted with Prettier on commit (by invoking [Git Hooks](https://git-scm.com/docs/githooks) via [husky](https://github.com/typicode/husky)).
|
||||
|
||||
## Development Setup
|
||||
|
||||
@@ -48,6 +48,6 @@ $ npm i # install the dependencies of the project
|
||||
|
||||
A high level overview of tools used:
|
||||
|
||||
- [TypeScript](https://www.typescriptlang.org/) as the development language
|
||||
- [ESLint](https://eslint.org/) for code-style
|
||||
- [Prettier](https://prettier.io/) for code formatting
|
||||
- [TypeScript](https://www.typescriptlang.org/) as the development language
|
||||
- [ESLint](https://eslint.org/) for code-style
|
||||
- [Prettier](https://prettier.io/) for code formatting
|
||||
|
||||
87
.github/labeler.yml
vendored
87
.github/labeler.yml
vendored
@@ -1,58 +1,83 @@
|
||||
chore:
|
||||
- any: ['*']
|
||||
all:
|
||||
[
|
||||
'!deno/**/*',
|
||||
'!gateway/**/*',
|
||||
'!payloads/**/*',
|
||||
'!rest/**/*',
|
||||
'!rpc/**/*',
|
||||
'!tests/**/*',
|
||||
'!utils/**/*',
|
||||
'!voice/**/*',
|
||||
]
|
||||
- changed-files:
|
||||
- all-globs-to-any-file:
|
||||
- '*'
|
||||
- '!deno/**/*'
|
||||
- '!gateway/**/*'
|
||||
- '!payloads/**/*'
|
||||
- '!rest/**/*'
|
||||
- '!rpc/**/*'
|
||||
- '!tests/**/*'
|
||||
- '!utils/**/*'
|
||||
- '!voice/**/*'
|
||||
|
||||
ci:
|
||||
- .github/**/*
|
||||
- .husky/**/*
|
||||
- scripts/actions/**/*
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- .github/**/*
|
||||
- .husky/**/*
|
||||
- scripts/actions/**/*
|
||||
|
||||
dependencies:
|
||||
- package.json
|
||||
- package-lock.json
|
||||
- website/package.json
|
||||
- website/package-lock.json
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- package.json
|
||||
- package-lock.json
|
||||
- website/package.json
|
||||
- website/package-lock.json
|
||||
|
||||
'topic:deno':
|
||||
- scripts/deno.mjs
|
||||
- scripts/actions/report-deno-not-ran.mjs
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- scripts/deno.mjs
|
||||
- scripts/actions/report-deno-not-ran.mjs
|
||||
|
||||
'topic:gateway':
|
||||
- gateway/**/*
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- gateway/**/*
|
||||
|
||||
'topic:payloads':
|
||||
- payloads/**/*
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- payloads/**/*
|
||||
|
||||
'topic:rest':
|
||||
- rest/**/*
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- rest/**/*
|
||||
|
||||
'topic:rpc':
|
||||
- rpc/**/*
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- rpc/**/*
|
||||
|
||||
'topic:scripts':
|
||||
- scripts/**/*
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- scripts/**/*
|
||||
|
||||
'topic:tests':
|
||||
- tests/**/*
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- tests/**/*
|
||||
|
||||
'topic:utils':
|
||||
- utils/**/*
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- utils/**/*
|
||||
|
||||
'topic:voice':
|
||||
- voice/**/*
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- voice/**/*
|
||||
|
||||
'topic:globals':
|
||||
- globals.ts
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- globals.ts
|
||||
|
||||
'topic:website':
|
||||
- website/**/*
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- website/**/*
|
||||
|
||||
12
.github/workflows/check-deno.yml
vendored
12
.github/workflows/check-deno.yml
vendored
@@ -10,14 +10,18 @@ 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@v2
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Use Node.js v16
|
||||
uses: actions/setup-node@v2
|
||||
- name: Use Node.js v20
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: 20
|
||||
|
||||
- name: Install Dependencies
|
||||
run: npm ci
|
||||
|
||||
16
.github/workflows/cicd.yml
vendored
16
.github/workflows/cicd.yml
vendored
@@ -12,15 +12,15 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Project
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Add problem matcher
|
||||
run: echo "::add-matcher::.github/problemMatchers/eslint.json" && echo "::add-matcher::.github/problemMatchers/tsc.json"
|
||||
|
||||
- name: Use Node.js v16
|
||||
uses: actions/setup-node@v2
|
||||
- name: Use Node.js v20
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: 20
|
||||
cache: npm
|
||||
registry-url: https://registry.npmjs.org/
|
||||
|
||||
@@ -42,12 +42,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout Project
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Use Node.js v16
|
||||
uses: actions/setup-node@v2
|
||||
- name: Use Node.js v20
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: 20
|
||||
|
||||
- name: Install Dependencies
|
||||
run: npm ci
|
||||
|
||||
@@ -17,14 +17,14 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install Node v16
|
||||
uses: actions/setup-node@v2
|
||||
- name: Install Node v20
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: 20
|
||||
registry-url: https://registry.npmjs.org/
|
||||
|
||||
- name: Install dependencies
|
||||
@@ -65,18 +65,22 @@ jobs:
|
||||
create_release:
|
||||
name: Create release and publish
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
|
||||
if: github.repository_owner == 'discordjs' && github.event_name == 'push' && startsWith(github.event.head_commit.message, 'chore(release)') && !contains(github.event.head_commit.message, '[skip ci]')
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install Node v16
|
||||
uses: actions/setup-node@v2
|
||||
- name: Install Node v20
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: 20
|
||||
registry-url: https://registry.npmjs.org/
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
4
.github/workflows/labelsync.yml
vendored
4
.github/workflows/labelsync.yml
vendored
@@ -14,9 +14,9 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Label sync
|
||||
uses: crazy-max/ghaction-github-labeler@v3
|
||||
uses: crazy-max/ghaction-github-labeler@v5
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
5
.github/workflows/pr-automation.yml
vendored
5
.github/workflows/pr-automation.yml
vendored
@@ -5,10 +5,13 @@ on:
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Automatically label PR
|
||||
uses: actions/labeler@v3
|
||||
uses: actions/labeler@v5
|
||||
with:
|
||||
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
sync-labels: true
|
||||
|
||||
26
.github/workflows/publish-next.yml
vendored
26
.github/workflows/publish-next.yml
vendored
@@ -8,28 +8,34 @@ on:
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
concurrency:
|
||||
group: publish-next
|
||||
cancel-in-progress: true
|
||||
|
||||
name: Publish @next release to npm
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
if: github.repository_owner == 'discordjs' && !(github.event_name == 'push' && startsWith(github.event.head_commit.message, 'chore(release)'))
|
||||
steps:
|
||||
- name: Cancel previous publish attempts
|
||||
uses: styfle/cancel-workflow-action@0.9.1
|
||||
with:
|
||||
access_token: ${{ github.token }}
|
||||
# - name: Cancel previous publish attempts
|
||||
# uses: styfle/cancel-workflow-action@0.12.1
|
||||
# with:
|
||||
# access_token: ${{ github.token }}
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install Node v16
|
||||
uses: actions/setup-node@v2
|
||||
- name: Install Node v20
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 16
|
||||
node-version: 20
|
||||
registry-url: https://registry.npmjs.org/
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci --ignore-scripts
|
||||
run: npm ci
|
||||
|
||||
- name: Bump version
|
||||
run: node ./scripts/bump-version.mjs
|
||||
@@ -42,6 +48,6 @@ jobs:
|
||||
- name: Publish new @next version
|
||||
run: |
|
||||
npm version $(jq --raw-output '.version' package.json)-next.$(git rev-parse --short HEAD).$(date +%s)
|
||||
npm publish --tag next || true
|
||||
npm publish --tag next
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
|
||||
|
||||
6
.gitignore
vendored
6
.gitignore
vendored
@@ -1,9 +1,9 @@
|
||||
node_modules/
|
||||
|
||||
# Custom ESLint rules
|
||||
.eslintplugin/*
|
||||
!.eslintplugin/index.ts
|
||||
!.eslintplugin/tsconfig.json
|
||||
.eslint-plugin-local/*
|
||||
!.eslint-plugin-local/index.ts
|
||||
!.eslint-plugin-local/tsconfig.json
|
||||
|
||||
# Don't commit build outputs
|
||||
globals.js
|
||||
|
||||
1
.husky/.gitignore
vendored
1
.husky/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
_
|
||||
@@ -1,4 +1 @@
|
||||
#!/bin/sh
|
||||
. "$(dirname "$0")/_/husky.sh"
|
||||
|
||||
npx --no-install commitlint --edit $1
|
||||
|
||||
@@ -1,4 +1 @@
|
||||
#!/bin/sh
|
||||
. "$(dirname "$0")/_/husky.sh"
|
||||
|
||||
npx --no-install pretty-quick --staged && npx --no-install lint-staged && npm run build:deno && git add deno
|
||||
|
||||
@@ -18,3 +18,9 @@ website/build
|
||||
|
||||
# Miscellaneous
|
||||
CODEOWNERS
|
||||
renovate.json
|
||||
CHANGELOG.md
|
||||
|
||||
# Format all of scripts
|
||||
!scripts/**/*
|
||||
!.prettierrc.mjs
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"printWidth": 120,
|
||||
"useTabs": true,
|
||||
"singleQuote": true,
|
||||
"quoteProps": "as-needed",
|
||||
"trailingComma": "all",
|
||||
"endOfLine": "lf"
|
||||
}
|
||||
12
.prettierrc.mjs
Normal file
12
.prettierrc.mjs
Normal file
@@ -0,0 +1,12 @@
|
||||
import sapphirePrettierConfig from '@sapphire/prettier-config';
|
||||
|
||||
export default {
|
||||
...sapphirePrettierConfig,
|
||||
printWidth: 120,
|
||||
useTabs: true,
|
||||
singleQuote: true,
|
||||
quoteProps: 'as-needed',
|
||||
trailingComma: 'all',
|
||||
endOfLine: 'lf',
|
||||
experimentalTernaries: true,
|
||||
};
|
||||
154
CHANGELOG.md
154
CHANGELOG.md
@@ -1,3 +1,157 @@
|
||||
## [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)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add support for polls ([#925](https://github.com/discordjs/discord-api-types/issues/925)) ([a36449a](https://github.com/discordjs/discord-api-types/commit/a36449a0283b733c59f5fdc0d6c3f2f786f0514d))
|
||||
|
||||
|
||||
|
||||
## [0.37.79](https://github.com/discordjs/discord-api-types/compare/0.37.78...0.37.79) (2024-04-04)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **ConnectionService:** add bungie connection ([#907](https://github.com/discordjs/discord-api-types/issues/907)) ([22b5f47](https://github.com/discordjs/discord-api-types/commit/22b5f4778778baec7f414c4b253e96b0949de948))
|
||||
|
||||
|
||||
|
||||
## [0.37.78](https://github.com/discordjs/discord-api-types/compare/0.37.77...0.37.78) (2024-04-01)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* bot banners ([#906](https://github.com/discordjs/discord-api-types/issues/906)) ([495148d](https://github.com/discordjs/discord-api-types/commit/495148dc466fcc3cd47ff62377369a97a9cec13d))
|
||||
* **Guild:** add `RESTPostAPIGuildBulkBan` result and json body ([#910](https://github.com/discordjs/discord-api-types/issues/910)) ([61ce329](https://github.com/discordjs/discord-api-types/commit/61ce329f614d5bc923c3ab4d2b318aa2e66c767b))
|
||||
* **RESTJSONErrorCodes:** Add `500_000` ([#908](https://github.com/discordjs/discord-api-types/issues/908)) ([4db44b5](https://github.com/discordjs/discord-api-types/commit/4db44b553d7164415b9f20468716beb5223fcec0))
|
||||
* **Routes:** Add `guildBulkBan()` route ([#909](https://github.com/discordjs/discord-api-types/issues/909)) ([7dcad58](https://github.com/discordjs/discord-api-types/commit/7dcad582ce2fa16ac7bde35f5b158648c2c7c9bf))
|
||||
|
||||
|
||||
|
||||
## [0.37.77](https://github.com/discordjs/discord-api-types/compare/0.37.76...0.37.77) (2024-03-28)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **APIAuditLogChange:** add `APIAuditLogChangeKeySystemChannelFlags` ([#933](https://github.com/discordjs/discord-api-types/issues/933)) ([47c9ad0](https://github.com/discordjs/discord-api-types/commit/47c9ad0e7043c098d103107e95f8a97e67ad3eb4))
|
||||
|
||||
|
||||
|
||||
## [0.37.76](https://github.com/discordjs/discord-api-types/compare/0.37.75...0.37.76) (2024-03-21)
|
||||
|
||||
|
||||
|
||||
## [0.37.75](https://github.com/discordjs/discord-api-types/compare/0.37.74...0.37.75) (2024-03-18)
|
||||
|
||||
|
||||
|
||||
## [0.37.74](https://github.com/discordjs/discord-api-types/compare/0.37.73...0.37.74) (2024-03-14)
|
||||
|
||||
|
||||
|
||||
## [0.37.73](https://github.com/discordjs/discord-api-types/compare/0.37.71...0.37.73) (2024-03-07)
|
||||
|
||||
|
||||
|
||||
## [0.37.72](https://github.com/discordjs/discord-api-types/compare/0.37.71...0.37.72) (2024-03-07)
|
||||
|
||||
|
||||
|
||||
## [0.37.71](https://github.com/discordjs/discord-api-types/compare/0.37.70...0.37.71) (2024-02-26)
|
||||
|
||||
### Features
|
||||
|
||||
- add initial support for super reactions ([#744](https://github.com/discordjs/discord-api-types/issues/744)) ([150dc46](https://github.com/discordjs/discord-api-types/commit/150dc46b8739ca9cf10a46bb48d390f70c679b6e))
|
||||
|
||||
## [0.37.70](https://github.com/discordjs/discord-api-types/compare/0.37.69...0.37.70) (2024-02-15)
|
||||
|
||||
### Features
|
||||
|
||||
- **RESTPostAPIChannelMessageJSONBody:** add enforce_nonce ([#874](https://github.com/discordjs/discord-api-types/issues/874)) ([9564941](https://github.com/discordjs/discord-api-types/commit/9564941b3ae51c8bc9b1f915d66b43775089db18))
|
||||
|
||||
## [0.37.69](https://github.com/discordjs/discord-api-types/compare/0.37.68...0.37.69) (2024-02-08)
|
||||
|
||||
### Features
|
||||
|
||||
- **Locale:** add `SpanishLATAM` ([#859](https://github.com/discordjs/discord-api-types/issues/859)) ([0cfe05d](https://github.com/discordjs/discord-api-types/commit/0cfe05dad8271513a2ef58e4f183c530555c7c2d))
|
||||
|
||||
## [0.37.68](https://github.com/discordjs/discord-api-types/compare/0.37.67...0.37.68) (2024-02-05)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **CDNRoutes:** fix store page wrong extension ([#867](https://github.com/discordjs/discord-api-types/issues/867)) ([6f541d5](https://github.com/discordjs/discord-api-types/commit/6f541d58d278f1e610916250c003c1344831e3ad))
|
||||
- **CDNRoutes:** make format optional and default to png ([#869](https://github.com/discordjs/discord-api-types/issues/869)) ([55efcca](https://github.com/discordjs/discord-api-types/commit/55efcca4f8480f96243d9d802ce632833ac8e3ff))
|
||||
|
||||
## [0.37.67](https://github.com/discordjs/discord-api-types/compare/0.37.66...0.37.67) (2023-12-28)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
20
README.md
20
README.md
@@ -77,25 +77,25 @@ import { APIUser } from 'https://cdn.skypack.dev/discord-api-types/v10?dts';
|
||||
|
||||
The exports of each API version is split into three main parts:
|
||||
|
||||
- Everything exported with the `API` prefix represents a payload you may get from the REST API _or_ the Gateway.
|
||||
- Everything exported with the `API` prefix represents a payload you may get from the REST API _or_ the Gateway.
|
||||
|
||||
- Everything exported with the `Gateway` prefix represents data that ONLY comes from or is directly related to the Gateway.
|
||||
- Everything exported with the `Gateway` prefix represents data that ONLY comes from or is directly related to the Gateway.
|
||||
|
||||
- Everything exported with the `REST` prefix represents data that ONLY comes from or is directly related to the REST API.
|
||||
- Everything exported with the `REST` prefix represents data that ONLY comes from or is directly related to the REST API.
|
||||
|
||||
- For endpoint options, they will follow the following structure: `REST<HTTP Method><Type><Query|(JSON|FormData)Body|Result>` where the type represents what it will return.
|
||||
- For endpoint options, they will follow the following structure: `REST<HTTP Method><Type><Query|(JSON|FormData)Body|Result>` where the type represents what it will return.
|
||||
|
||||
- For example, `RESTPostAPIChannelMessageJSONBody` or `RESTGetAPIGatewayBotInfoResult`.
|
||||
- For example, `RESTPostAPIChannelMessageJSONBody` or `RESTGetAPIGatewayBotInfoResult`.
|
||||
|
||||
- Some exported types (specifically OAuth2 related ones) may not respect this entire structure due to the nature of the fields. They will start with either `RESTOAuth2` or with something similar to `REST<HTTP Method>OAuth2`
|
||||
- Some exported types (specifically OAuth2 related ones) may not respect this entire structure due to the nature of the fields. They will start with either `RESTOAuth2` or with something similar to `REST<HTTP Method>OAuth2`
|
||||
|
||||
- If a type ends with `Result`, then it represents the expected result by calling its accompanying route.
|
||||
- If a type ends with `Result`, then it represents the expected result by calling its accompanying route.
|
||||
|
||||
- Types that are exported as `never` usually mean the result will be a `204 No Content`, so you can safely ignore it. This does **not** account for errors.
|
||||
- Types that are exported as `never` usually mean the result will be a `204 No Content`, so you can safely ignore it. This does **not** account for errors.
|
||||
|
||||
- Anything else that is miscellaneous will be exported based on what it represents (for example the `REST` route object).
|
||||
- Anything else that is miscellaneous will be exported based on what it represents (for example the `REST` route object).
|
||||
|
||||
- There may be types exported that are identical for all versions. These will be exported as is and can be found in the `globals` file. They will still be prefixed accordingly as described above.
|
||||
- There may be types exported that are identical for all versions. These will be exported as is and can be found in the `globals` file. They will still be prefixed accordingly as described above.
|
||||
|
||||
**A note about how types are documented**: This package will add types only for known and documented properties that are present in Discord's [API Documentation repository](https://github.com/discord/discord-api-docs),
|
||||
that are mentioned in an open pull request, or known through other means _and have received the green light to be used_.
|
||||
|
||||
@@ -1,3 +1,157 @@
|
||||
## [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)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add support for polls ([#925](https://github.com/discordjs/discord-api-types/issues/925)) ([a36449a](https://github.com/discordjs/discord-api-types/commit/a36449a0283b733c59f5fdc0d6c3f2f786f0514d))
|
||||
|
||||
|
||||
|
||||
## [0.37.79](https://github.com/discordjs/discord-api-types/compare/0.37.78...0.37.79) (2024-04-04)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **ConnectionService:** add bungie connection ([#907](https://github.com/discordjs/discord-api-types/issues/907)) ([22b5f47](https://github.com/discordjs/discord-api-types/commit/22b5f4778778baec7f414c4b253e96b0949de948))
|
||||
|
||||
|
||||
|
||||
## [0.37.78](https://github.com/discordjs/discord-api-types/compare/0.37.77...0.37.78) (2024-04-01)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* bot banners ([#906](https://github.com/discordjs/discord-api-types/issues/906)) ([495148d](https://github.com/discordjs/discord-api-types/commit/495148dc466fcc3cd47ff62377369a97a9cec13d))
|
||||
* **Guild:** add `RESTPostAPIGuildBulkBan` result and json body ([#910](https://github.com/discordjs/discord-api-types/issues/910)) ([61ce329](https://github.com/discordjs/discord-api-types/commit/61ce329f614d5bc923c3ab4d2b318aa2e66c767b))
|
||||
* **RESTJSONErrorCodes:** Add `500_000` ([#908](https://github.com/discordjs/discord-api-types/issues/908)) ([4db44b5](https://github.com/discordjs/discord-api-types/commit/4db44b553d7164415b9f20468716beb5223fcec0))
|
||||
* **Routes:** Add `guildBulkBan()` route ([#909](https://github.com/discordjs/discord-api-types/issues/909)) ([7dcad58](https://github.com/discordjs/discord-api-types/commit/7dcad582ce2fa16ac7bde35f5b158648c2c7c9bf))
|
||||
|
||||
|
||||
|
||||
## [0.37.77](https://github.com/discordjs/discord-api-types/compare/0.37.76...0.37.77) (2024-03-28)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **APIAuditLogChange:** add `APIAuditLogChangeKeySystemChannelFlags` ([#933](https://github.com/discordjs/discord-api-types/issues/933)) ([47c9ad0](https://github.com/discordjs/discord-api-types/commit/47c9ad0e7043c098d103107e95f8a97e67ad3eb4))
|
||||
|
||||
|
||||
|
||||
## [0.37.76](https://github.com/discordjs/discord-api-types/compare/0.37.75...0.37.76) (2024-03-21)
|
||||
|
||||
|
||||
|
||||
## [0.37.75](https://github.com/discordjs/discord-api-types/compare/0.37.74...0.37.75) (2024-03-18)
|
||||
|
||||
|
||||
|
||||
## [0.37.74](https://github.com/discordjs/discord-api-types/compare/0.37.73...0.37.74) (2024-03-14)
|
||||
|
||||
|
||||
|
||||
## [0.37.73](https://github.com/discordjs/discord-api-types/compare/0.37.71...0.37.73) (2024-03-07)
|
||||
|
||||
|
||||
|
||||
## [0.37.72](https://github.com/discordjs/discord-api-types/compare/0.37.71...0.37.72) (2024-03-07)
|
||||
|
||||
|
||||
|
||||
## [0.37.71](https://github.com/discordjs/discord-api-types/compare/0.37.70...0.37.71) (2024-02-26)
|
||||
|
||||
### Features
|
||||
|
||||
- add initial support for super reactions ([#744](https://github.com/discordjs/discord-api-types/issues/744)) ([150dc46](https://github.com/discordjs/discord-api-types/commit/150dc46b8739ca9cf10a46bb48d390f70c679b6e))
|
||||
|
||||
## [0.37.70](https://github.com/discordjs/discord-api-types/compare/0.37.69...0.37.70) (2024-02-15)
|
||||
|
||||
### Features
|
||||
|
||||
- **RESTPostAPIChannelMessageJSONBody:** add enforce_nonce ([#874](https://github.com/discordjs/discord-api-types/issues/874)) ([9564941](https://github.com/discordjs/discord-api-types/commit/9564941b3ae51c8bc9b1f915d66b43775089db18))
|
||||
|
||||
## [0.37.69](https://github.com/discordjs/discord-api-types/compare/0.37.68...0.37.69) (2024-02-08)
|
||||
|
||||
### Features
|
||||
|
||||
- **Locale:** add `SpanishLATAM` ([#859](https://github.com/discordjs/discord-api-types/issues/859)) ([0cfe05d](https://github.com/discordjs/discord-api-types/commit/0cfe05dad8271513a2ef58e4f183c530555c7c2d))
|
||||
|
||||
## [0.37.68](https://github.com/discordjs/discord-api-types/compare/0.37.67...0.37.68) (2024-02-05)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **CDNRoutes:** fix store page wrong extension ([#867](https://github.com/discordjs/discord-api-types/issues/867)) ([6f541d5](https://github.com/discordjs/discord-api-types/commit/6f541d58d278f1e610916250c003c1344831e3ad))
|
||||
- **CDNRoutes:** make format optional and default to png ([#869](https://github.com/discordjs/discord-api-types/issues/869)) ([55efcca](https://github.com/discordjs/discord-api-types/commit/55efcca4f8480f96243d9d802ce632833ac8e3ff))
|
||||
|
||||
## [0.37.67](https://github.com/discordjs/discord-api-types/compare/0.37.66...0.37.67) (2023-12-28)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
@@ -77,25 +77,25 @@ import { APIUser } from 'https://cdn.skypack.dev/discord-api-types/v10?dts';
|
||||
|
||||
The exports of each API version is split into three main parts:
|
||||
|
||||
- Everything exported with the `API` prefix represents a payload you may get from the REST API _or_ the Gateway.
|
||||
- Everything exported with the `API` prefix represents a payload you may get from the REST API _or_ the Gateway.
|
||||
|
||||
- Everything exported with the `Gateway` prefix represents data that ONLY comes from or is directly related to the Gateway.
|
||||
- Everything exported with the `Gateway` prefix represents data that ONLY comes from or is directly related to the Gateway.
|
||||
|
||||
- Everything exported with the `REST` prefix represents data that ONLY comes from or is directly related to the REST API.
|
||||
- Everything exported with the `REST` prefix represents data that ONLY comes from or is directly related to the REST API.
|
||||
|
||||
- For endpoint options, they will follow the following structure: `REST<HTTP Method><Type><Query|(JSON|FormData)Body|Result>` where the type represents what it will return.
|
||||
- For endpoint options, they will follow the following structure: `REST<HTTP Method><Type><Query|(JSON|FormData)Body|Result>` where the type represents what it will return.
|
||||
|
||||
- For example, `RESTPostAPIChannelMessageJSONBody` or `RESTGetAPIGatewayBotInfoResult`.
|
||||
- For example, `RESTPostAPIChannelMessageJSONBody` or `RESTGetAPIGatewayBotInfoResult`.
|
||||
|
||||
- Some exported types (specifically OAuth2 related ones) may not respect this entire structure due to the nature of the fields. They will start with either `RESTOAuth2` or with something similar to `REST<HTTP Method>OAuth2`
|
||||
- Some exported types (specifically OAuth2 related ones) may not respect this entire structure due to the nature of the fields. They will start with either `RESTOAuth2` or with something similar to `REST<HTTP Method>OAuth2`
|
||||
|
||||
- If a type ends with `Result`, then it represents the expected result by calling its accompanying route.
|
||||
- If a type ends with `Result`, then it represents the expected result by calling its accompanying route.
|
||||
|
||||
- Types that are exported as `never` usually mean the result will be a `204 No Content`, so you can safely ignore it. This does **not** account for errors.
|
||||
- Types that are exported as `never` usually mean the result will be a `204 No Content`, so you can safely ignore it. This does **not** account for errors.
|
||||
|
||||
- Anything else that is miscellaneous will be exported based on what it represents (for example the `REST` route object).
|
||||
- Anything else that is miscellaneous will be exported based on what it represents (for example the `REST` route object).
|
||||
|
||||
- There may be types exported that are identical for all versions. These will be exported as is and can be found in the `globals` file. They will still be prefixed accordingly as described above.
|
||||
- There may be types exported that are identical for all versions. These will be exported as is and can be found in the `globals` file. They will still be prefixed accordingly as described above.
|
||||
|
||||
**A note about how types are documented**: This package will add types only for known and documented properties that are present in Discord's [API Documentation repository](https://github.com/discord/discord-api-docs),
|
||||
that are mentioned in an open pull request, or known through other means _and have received the green light to be used_.
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
*/
|
||||
export interface GatewayURLQuery {
|
||||
v: string;
|
||||
encoding: 'json' | 'etf';
|
||||
encoding: 'etf' | 'json';
|
||||
compress?: 'zlib-stream';
|
||||
}
|
||||
|
||||
@@ -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';
|
||||
@@ -203,6 +204,8 @@ export enum GatewayIntentBits {
|
||||
GuildScheduledEvents = 1 << 16,
|
||||
AutoModerationConfiguration = 1 << 20,
|
||||
AutoModerationExecution = 1 << 21,
|
||||
GuildMessagePolls = 1 << 24,
|
||||
DirectMessagePolls = 1 << 25,
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -260,6 +263,8 @@ export enum GatewayDispatchEvents {
|
||||
VoiceServerUpdate = 'VOICE_SERVER_UPDATE',
|
||||
VoiceStateUpdate = 'VOICE_STATE_UPDATE',
|
||||
WebhooksUpdate = 'WEBHOOKS_UPDATE',
|
||||
MessagePollVoteAdd = 'MESSAGE_POLL_VOTE_ADD',
|
||||
MessagePollVoteRemove = 'MESSAGE_POLL_VOTE_REMOVE',
|
||||
GuildScheduledEventCreate = 'GUILD_SCHEDULED_EVENT_CREATE',
|
||||
GuildScheduledEventUpdate = 'GUILD_SCHEDULED_EVENT_UPDATE',
|
||||
GuildScheduledEventDelete = 'GUILD_SCHEDULED_EVENT_DELETE',
|
||||
@@ -278,27 +283,29 @@ export enum GatewayDispatchEvents {
|
||||
export type GatewaySendPayload =
|
||||
| GatewayHeartbeat
|
||||
| GatewayIdentify
|
||||
| GatewayUpdatePresence
|
||||
| GatewayVoiceStateUpdate
|
||||
| GatewayRequestGuildMembers
|
||||
| GatewayResume
|
||||
| GatewayRequestGuildMembers;
|
||||
| GatewayUpdatePresence
|
||||
| GatewayVoiceStateUpdate;
|
||||
|
||||
export type GatewayReceivePayload =
|
||||
| GatewayHello
|
||||
| GatewayHeartbeatRequest
|
||||
| GatewayDispatchPayload
|
||||
| GatewayHeartbeatAck
|
||||
| GatewayHeartbeatRequest
|
||||
| GatewayHello
|
||||
| GatewayInvalidSession
|
||||
| GatewayReconnect
|
||||
| GatewayDispatchPayload;
|
||||
| GatewayReconnect;
|
||||
|
||||
export type GatewayDispatchPayload =
|
||||
| GatewayAutoModerationRuleModifyDispatch
|
||||
| GatewayApplicationCommandPermissionsUpdateDispatch
|
||||
| GatewayAutoModerationActionExecutionDispatch
|
||||
| GatewayAutoModerationRuleCreateDispatch
|
||||
| GatewayAutoModerationRuleDeleteDispatch
|
||||
| GatewayAutoModerationActionExecutionDispatch
|
||||
| GatewayApplicationCommandPermissionsUpdateDispatch
|
||||
| GatewayAutoModerationRuleModifyDispatch
|
||||
| GatewayChannelModifyDispatch
|
||||
| GatewayChannelPinsUpdateDispatch
|
||||
| GatewayEntitlementModifyDispatch
|
||||
| GatewayGuildAuditLogEntryCreateDispatch
|
||||
| GatewayGuildBanModifyDispatch
|
||||
| GatewayGuildCreateDispatch
|
||||
| GatewayGuildDeleteDispatch
|
||||
@@ -312,8 +319,8 @@ export type GatewayDispatchPayload =
|
||||
| GatewayGuildRoleDeleteDispatch
|
||||
| GatewayGuildRoleModifyDispatch
|
||||
| GatewayGuildScheduledEventCreateDispatch
|
||||
| GatewayGuildScheduledEventUpdateDispatch
|
||||
| GatewayGuildScheduledEventDeleteDispatch
|
||||
| GatewayGuildScheduledEventUpdateDispatch
|
||||
| GatewayGuildScheduledEventUserAddDispatch
|
||||
| GatewayGuildScheduledEventUserRemoveDispatch
|
||||
| GatewayGuildStickersUpdateDispatch
|
||||
@@ -326,30 +333,30 @@ export type GatewayDispatchPayload =
|
||||
| GatewayMessageCreateDispatch
|
||||
| GatewayMessageDeleteBulkDispatch
|
||||
| GatewayMessageDeleteDispatch
|
||||
| GatewayMessagePollVoteAddDispatch
|
||||
| GatewayMessagePollVoteRemoveDispatch
|
||||
| GatewayMessageReactionAddDispatch
|
||||
| GatewayMessageReactionRemoveAllDispatch
|
||||
| GatewayMessageReactionRemoveDispatch
|
||||
| GatewayMessageReactionRemoveEmojiDispatch
|
||||
| GatewayMessageUpdateDispatch
|
||||
| GatewayPresenceUpdateDispatch
|
||||
| GatewayReadyDispatch
|
||||
| GatewayResumedDispatch
|
||||
| GatewayStageInstanceCreateDispatch
|
||||
| GatewayStageInstanceDeleteDispatch
|
||||
| GatewayStageInstanceUpdateDispatch
|
||||
| GatewayReadyDispatch
|
||||
| GatewayResumedDispatch
|
||||
| GatewayThreadCreateDispatch
|
||||
| GatewayThreadDeleteDispatch
|
||||
| GatewayThreadListSyncDispatch
|
||||
| GatewayThreadMembersUpdateDispatch
|
||||
| GatewayThreadMemberUpdateDispatch
|
||||
| GatewayThreadCreateDispatch
|
||||
| GatewayThreadUpdateDispatch
|
||||
| GatewayThreadDeleteDispatch
|
||||
| GatewayTypingStartDispatch
|
||||
| GatewayUserUpdateDispatch
|
||||
| GatewayVoiceServerUpdateDispatch
|
||||
| GatewayVoiceStateUpdateDispatch
|
||||
| GatewayWebhooksUpdateDispatch
|
||||
| GatewayGuildAuditLogEntryCreateDispatch
|
||||
| GatewayEntitlementModifyDispatch;
|
||||
| GatewayWebhooksUpdateDispatch;
|
||||
|
||||
// #region Dispatch Payloads
|
||||
|
||||
@@ -454,7 +461,7 @@ export interface GatewayReadyDispatchData {
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/application#application-object
|
||||
*/
|
||||
application: Pick<APIApplication, 'id' | 'flags'>;
|
||||
application: Pick<APIApplication, 'flags' | 'id'>;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -469,8 +476,8 @@ export type GatewayResumedDispatch = DataPayload<GatewayDispatchEvents.Resumed,
|
||||
*/
|
||||
export type GatewayAutoModerationRuleModifyDispatch = DataPayload<
|
||||
| GatewayDispatchEvents.AutoModerationRuleCreate
|
||||
| GatewayDispatchEvents.AutoModerationRuleUpdate
|
||||
| GatewayDispatchEvents.AutoModerationRuleDelete,
|
||||
| GatewayDispatchEvents.AutoModerationRuleDelete
|
||||
| GatewayDispatchEvents.AutoModerationRuleUpdate,
|
||||
GatewayAutoModerationRuleModifyDispatchData
|
||||
>;
|
||||
|
||||
@@ -694,8 +701,8 @@ export type GatewayEntitlementModifyDispatchData = APIEntitlement;
|
||||
*/
|
||||
export type GatewayEntitlementModifyDispatch = DataPayload<
|
||||
| GatewayDispatchEvents.EntitlementCreate
|
||||
| GatewayDispatchEvents.EntitlementUpdate
|
||||
| GatewayDispatchEvents.EntitlementDelete,
|
||||
| GatewayDispatchEvents.EntitlementDelete
|
||||
| GatewayDispatchEvents.EntitlementUpdate,
|
||||
GatewayEntitlementModifyDispatchData
|
||||
>;
|
||||
|
||||
@@ -1014,10 +1021,10 @@ export type GatewayGuildMemberUpdateDispatch = DataPayload<
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#guild-member-update
|
||||
*/
|
||||
export type GatewayGuildMemberUpdateDispatchData = Omit<APIGuildMember, 'deaf' | 'mute' | 'user' | 'joined_at'> &
|
||||
export type GatewayGuildMemberUpdateDispatchData = Nullable<Pick<APIGuildMember, 'joined_at'>> &
|
||||
Omit<APIGuildMember, 'deaf' | 'joined_at' | 'mute' | 'user'> &
|
||||
Partial<Pick<APIGuildMember, 'deaf' | 'mute'>> &
|
||||
Required<Pick<APIGuildMember, 'user'>> &
|
||||
Nullable<Pick<APIGuildMember, 'joined_at'>> & {
|
||||
Required<Pick<APIGuildMember, 'user'>> & {
|
||||
/**
|
||||
* The id of the guild
|
||||
*/
|
||||
@@ -1362,7 +1369,7 @@ export type GatewayMessageCreateDispatch = DataPayload<
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#message-create
|
||||
*/
|
||||
export type GatewayMessageCreateDispatchData = Omit<APIMessage, 'mentions'> & GatewayMessageEventExtraFields;
|
||||
export type GatewayMessageCreateDispatchData = GatewayMessageEventExtraFields & Omit<APIMessage, 'mentions'>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#message-update
|
||||
@@ -1375,8 +1382,8 @@ export type GatewayMessageUpdateDispatch = DataPayload<
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#message-update
|
||||
*/
|
||||
export type GatewayMessageUpdateDispatchData = Omit<Partial<APIMessage>, 'mentions'> &
|
||||
GatewayMessageEventExtraFields & {
|
||||
export type GatewayMessageUpdateDispatchData = GatewayMessageEventExtraFields &
|
||||
Omit<Partial<APIMessage>, 'mentions'> & {
|
||||
/**
|
||||
* ID of the message
|
||||
*/
|
||||
@@ -1480,7 +1487,7 @@ export type GatewayMessageReactionAddDispatchData = GatewayMessageReactionAddDis
|
||||
*/
|
||||
export type GatewayMessageReactionRemoveDispatch = ReactionData<
|
||||
GatewayDispatchEvents.MessageReactionRemove,
|
||||
'member' | 'message_author_id'
|
||||
'burst_colors' | 'member' | 'message_author_id'
|
||||
>;
|
||||
|
||||
/**
|
||||
@@ -1813,6 +1820,45 @@ export interface GatewayGuildAuditLogEntryCreateDispatchData extends APIAuditLog
|
||||
guild_id: Snowflake;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-add
|
||||
*/
|
||||
export type GatewayMessagePollVoteAddDispatch = DataPayload<
|
||||
GatewayDispatchEvents.MessagePollVoteAdd,
|
||||
GatewayMessagePollVoteDispatchData
|
||||
>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-remove
|
||||
*/
|
||||
export type GatewayMessagePollVoteRemoveDispatch = DataPayload<
|
||||
GatewayDispatchEvents.MessagePollVoteRemove,
|
||||
GatewayMessagePollVoteDispatchData
|
||||
>;
|
||||
|
||||
export interface GatewayMessagePollVoteDispatchData {
|
||||
/**
|
||||
* ID of the user
|
||||
*/
|
||||
user_id: Snowflake;
|
||||
/**
|
||||
* ID of the channel
|
||||
*/
|
||||
channel_id: Snowflake;
|
||||
/**
|
||||
* ID of the message
|
||||
*/
|
||||
message_id: Snowflake;
|
||||
/**
|
||||
* ID of the guild
|
||||
*/
|
||||
guild_id?: Snowflake;
|
||||
/**
|
||||
* ID of the answer
|
||||
*/
|
||||
answer_id: number;
|
||||
}
|
||||
|
||||
// #endregion Dispatch Payloads
|
||||
|
||||
// #region Sendable Payloads
|
||||
@@ -1979,8 +2025,8 @@ export interface GatewayRequestGuildMembersDataWithQuery extends GatewayRequestG
|
||||
* https://discord.com/developers/docs/topics/gateway-events#request-guild-members
|
||||
*/
|
||||
export type GatewayRequestGuildMembersData =
|
||||
| GatewayRequestGuildMembersDataWithUserIds
|
||||
| GatewayRequestGuildMembersDataWithQuery;
|
||||
| GatewayRequestGuildMembersDataWithQuery
|
||||
| GatewayRequestGuildMembersDataWithUserIds;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#update-voice-state
|
||||
@@ -2073,7 +2119,7 @@ interface BasePayload {
|
||||
t?: string;
|
||||
}
|
||||
|
||||
type NonDispatchPayload = Omit<BasePayload, 't' | 's'> & {
|
||||
type NonDispatchPayload = Omit<BasePayload, 's' | 't'> & {
|
||||
t: null;
|
||||
s: null;
|
||||
};
|
||||
@@ -2120,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
|
||||
>
|
||||
|
||||
@@ -184,56 +184,56 @@ export enum GatewayDispatchEvents {
|
||||
export type GatewaySendPayload =
|
||||
| GatewayHeartbeat
|
||||
| GatewayIdentify
|
||||
| GatewayUpdatePresence
|
||||
| GatewayVoiceStateUpdate
|
||||
| GatewayRequestGuildMembers
|
||||
| GatewayResume
|
||||
| GatewayRequestGuildMembers;
|
||||
| GatewayUpdatePresence
|
||||
| GatewayVoiceStateUpdate;
|
||||
|
||||
/**
|
||||
* @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8.
|
||||
*/
|
||||
export type GatewayReceivePayload =
|
||||
| GatewayHello
|
||||
| GatewayHeartbeatRequest
|
||||
| GatewayDispatchPayload
|
||||
| GatewayHeartbeatAck
|
||||
| GatewayHeartbeatRequest
|
||||
| GatewayHello
|
||||
| GatewayInvalidSession
|
||||
| GatewayReconnect
|
||||
| GatewayDispatchPayload;
|
||||
| GatewayReconnect;
|
||||
|
||||
/**
|
||||
* @deprecated Gateway v6 is deprecated and the types will not receive further updates, please update to v8.
|
||||
*/
|
||||
export type GatewayDispatchPayload =
|
||||
| GatewayReadyDispatch
|
||||
| GatewayResumedDispatch
|
||||
| GatewayChannelModifyDispatch
|
||||
| GatewayChannelPinsUpdateDispatch
|
||||
| GatewayGuildModifyDispatch
|
||||
| GatewayGuildDeleteDispatch
|
||||
| GatewayGuildBanModifyDispatch
|
||||
| GatewayGuildDeleteDispatch
|
||||
| GatewayGuildEmojisUpdateDispatch
|
||||
| GatewayGuildIntegrationsUpdateDispatch
|
||||
| GatewayGuildMemberAddDispatch
|
||||
| GatewayGuildMemberRemoveDispatch
|
||||
| GatewayGuildMemberUpdateDispatch
|
||||
| GatewayGuildMembersChunkDispatch
|
||||
| GatewayGuildRoleModifyDispatch
|
||||
| GatewayGuildMemberUpdateDispatch
|
||||
| GatewayGuildModifyDispatch
|
||||
| GatewayGuildRoleDeleteDispatch
|
||||
| GatewayGuildRoleModifyDispatch
|
||||
| GatewayInviteCreateDispatch
|
||||
| GatewayInviteDeleteDispatch
|
||||
| GatewayMessageCreateDispatch
|
||||
| GatewayMessageUpdateDispatch
|
||||
| GatewayMessageDeleteDispatch
|
||||
| GatewayMessageDeleteBulkDispatch
|
||||
| GatewayMessageDeleteDispatch
|
||||
| GatewayMessageReactionAddDispatch
|
||||
| GatewayMessageReactionRemoveDispatch
|
||||
| GatewayMessageReactionRemoveAllDispatch
|
||||
| GatewayMessageReactionRemoveDispatch
|
||||
| GatewayMessageReactionRemoveEmojiDispatch
|
||||
| GatewayMessageUpdateDispatch
|
||||
| GatewayPresenceUpdateDispatch
|
||||
| GatewayReadyDispatch
|
||||
| GatewayResumedDispatch
|
||||
| GatewayTypingStartDispatch
|
||||
| GatewayUserUpdateDispatch
|
||||
| GatewayVoiceStateUpdateDispatch
|
||||
| GatewayVoiceServerUpdateDispatch
|
||||
| GatewayVoiceStateUpdateDispatch
|
||||
| GatewayWebhooksUpdateDispatch;
|
||||
|
||||
// #region Dispatch Payloads
|
||||
@@ -571,7 +571,7 @@ export type GatewayMessageCreateDispatch = DataPayload<GatewayDispatchEvents.Mes
|
||||
*/
|
||||
export type GatewayMessageUpdateDispatch = DataPayload<
|
||||
GatewayDispatchEvents.MessageUpdate,
|
||||
{ id: string; channel_id: string } & Partial<APIMessage>
|
||||
Partial<APIMessage> & { id: string; channel_id: string }
|
||||
>;
|
||||
|
||||
/**
|
||||
@@ -768,11 +768,11 @@ export interface GatewayResume {
|
||||
export interface GatewayRequestGuildMembers {
|
||||
op: GatewayOPCodes.RequestGuildMembers;
|
||||
d: {
|
||||
guild_id: string | string[];
|
||||
guild_id: string[] | string;
|
||||
query?: string;
|
||||
limit: number;
|
||||
presences?: boolean;
|
||||
user_ids?: string | string[];
|
||||
user_ids?: string[] | string;
|
||||
nonce?: string;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -258,21 +258,21 @@ export enum GatewayDispatchEvents {
|
||||
export type GatewaySendPayload =
|
||||
| GatewayHeartbeat
|
||||
| GatewayIdentify
|
||||
| GatewayUpdatePresence
|
||||
| GatewayVoiceStateUpdate
|
||||
| GatewayRequestGuildMembers
|
||||
| GatewayResume
|
||||
| GatewayRequestGuildMembers;
|
||||
| GatewayUpdatePresence
|
||||
| GatewayVoiceStateUpdate;
|
||||
|
||||
/**
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type GatewayReceivePayload =
|
||||
| GatewayHello
|
||||
| GatewayHeartbeatRequest
|
||||
| GatewayDispatchPayload
|
||||
| GatewayHeartbeatAck
|
||||
| GatewayHeartbeatRequest
|
||||
| GatewayHello
|
||||
| GatewayInvalidSession
|
||||
| GatewayReconnect
|
||||
| GatewayDispatchPayload;
|
||||
| GatewayReconnect;
|
||||
|
||||
/**
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
@@ -292,8 +292,8 @@ export type GatewayDispatchPayload =
|
||||
| GatewayGuildRoleDeleteDispatch
|
||||
| GatewayGuildRoleModifyDispatch
|
||||
| GatewayGuildScheduledEventCreateDispatch
|
||||
| GatewayGuildScheduledEventUpdateDispatch
|
||||
| GatewayGuildScheduledEventDeleteDispatch
|
||||
| GatewayGuildScheduledEventUpdateDispatch
|
||||
| GatewayGuildScheduledEventUserAddDispatch
|
||||
| GatewayGuildScheduledEventUserRemoveDispatch
|
||||
| GatewayGuildStickersUpdateDispatch
|
||||
@@ -312,11 +312,11 @@ export type GatewayDispatchPayload =
|
||||
| GatewayMessageReactionRemoveEmojiDispatch
|
||||
| GatewayMessageUpdateDispatch
|
||||
| GatewayPresenceUpdateDispatch
|
||||
| GatewayReadyDispatch
|
||||
| GatewayResumedDispatch
|
||||
| GatewayStageInstanceCreateDispatch
|
||||
| GatewayStageInstanceDeleteDispatch
|
||||
| GatewayStageInstanceUpdateDispatch
|
||||
| GatewayReadyDispatch
|
||||
| GatewayResumedDispatch
|
||||
| GatewayTypingStartDispatch
|
||||
| GatewayUserUpdateDispatch
|
||||
| GatewayVoiceServerUpdateDispatch
|
||||
@@ -440,7 +440,7 @@ export interface GatewayReadyDispatchData {
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/application#application-object
|
||||
*/
|
||||
application: Pick<APIApplication, 'id' | 'flags'>;
|
||||
application: Pick<APIApplication, 'flags' | 'id'>;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -805,10 +805,10 @@ export type GatewayGuildMemberUpdateDispatch = DataPayload<
|
||||
*
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type GatewayGuildMemberUpdateDispatchData = Omit<APIGuildMember, 'deaf' | 'mute' | 'user' | 'joined_at'> &
|
||||
export type GatewayGuildMemberUpdateDispatchData = Nullable<Pick<APIGuildMember, 'joined_at'>> &
|
||||
Omit<APIGuildMember, 'deaf' | 'joined_at' | 'mute' | 'user'> &
|
||||
Partial<Pick<APIGuildMember, 'deaf' | 'mute'>> &
|
||||
Required<Pick<APIGuildMember, 'user'>> &
|
||||
Nullable<Pick<APIGuildMember, 'joined_at'>> & {
|
||||
Required<Pick<APIGuildMember, 'user'>> & {
|
||||
/**
|
||||
* The id of the guild
|
||||
*/
|
||||
@@ -1243,10 +1243,10 @@ export type GatewayMessageUpdateDispatch = DataPayload<
|
||||
*
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type GatewayMessageUpdateDispatchData = {
|
||||
export type GatewayMessageUpdateDispatchData = Partial<APIMessage> & {
|
||||
id: Snowflake;
|
||||
channel_id: Snowflake;
|
||||
} & Partial<APIMessage>;
|
||||
};
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway#message-delete
|
||||
@@ -1849,7 +1849,7 @@ interface BasePayload {
|
||||
t?: string;
|
||||
}
|
||||
|
||||
type NonDispatchPayload = Omit<BasePayload, 't' | 's'> & {
|
||||
type NonDispatchPayload = Omit<BasePayload, 's' | 't'> & {
|
||||
t: null;
|
||||
s: null;
|
||||
};
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -202,6 +203,8 @@ export enum GatewayIntentBits {
|
||||
GuildScheduledEvents = 1 << 16,
|
||||
AutoModerationConfiguration = 1 << 20,
|
||||
AutoModerationExecution = 1 << 21,
|
||||
GuildMessagePolls = 1 << 24,
|
||||
DirectMessagePolls = 1 << 25,
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -259,6 +262,8 @@ export enum GatewayDispatchEvents {
|
||||
VoiceServerUpdate = 'VOICE_SERVER_UPDATE',
|
||||
VoiceStateUpdate = 'VOICE_STATE_UPDATE',
|
||||
WebhooksUpdate = 'WEBHOOKS_UPDATE',
|
||||
MessagePollVoteAdd = 'MESSAGE_POLL_VOTE_ADD',
|
||||
MessagePollVoteRemove = 'MESSAGE_POLL_VOTE_REMOVE',
|
||||
GuildScheduledEventCreate = 'GUILD_SCHEDULED_EVENT_CREATE',
|
||||
GuildScheduledEventUpdate = 'GUILD_SCHEDULED_EVENT_UPDATE',
|
||||
GuildScheduledEventDelete = 'GUILD_SCHEDULED_EVENT_DELETE',
|
||||
@@ -277,27 +282,29 @@ export enum GatewayDispatchEvents {
|
||||
export type GatewaySendPayload =
|
||||
| GatewayHeartbeat
|
||||
| GatewayIdentify
|
||||
| GatewayUpdatePresence
|
||||
| GatewayVoiceStateUpdate
|
||||
| GatewayRequestGuildMembers
|
||||
| GatewayResume
|
||||
| GatewayRequestGuildMembers;
|
||||
| GatewayUpdatePresence
|
||||
| GatewayVoiceStateUpdate;
|
||||
|
||||
export type GatewayReceivePayload =
|
||||
| GatewayHello
|
||||
| GatewayHeartbeatRequest
|
||||
| GatewayDispatchPayload
|
||||
| GatewayHeartbeatAck
|
||||
| GatewayHeartbeatRequest
|
||||
| GatewayHello
|
||||
| GatewayInvalidSession
|
||||
| GatewayReconnect
|
||||
| GatewayDispatchPayload;
|
||||
| GatewayReconnect;
|
||||
|
||||
export type GatewayDispatchPayload =
|
||||
| GatewayApplicationCommandPermissionsUpdateDispatch
|
||||
| GatewayAutoModerationRuleModifyDispatch
|
||||
| GatewayAutoModerationActionExecutionDispatch
|
||||
| GatewayAutoModerationRuleCreateDispatch
|
||||
| GatewayAutoModerationRuleDeleteDispatch
|
||||
| GatewayAutoModerationActionExecutionDispatch
|
||||
| GatewayAutoModerationRuleModifyDispatch
|
||||
| GatewayChannelModifyDispatch
|
||||
| GatewayChannelPinsUpdateDispatch
|
||||
| GatewayEntitlementModifyDispatch
|
||||
| GatewayGuildAuditLogEntryCreateDispatch
|
||||
| GatewayGuildBanModifyDispatch
|
||||
| GatewayGuildCreateDispatch
|
||||
| GatewayGuildDeleteDispatch
|
||||
@@ -311,8 +318,8 @@ export type GatewayDispatchPayload =
|
||||
| GatewayGuildRoleDeleteDispatch
|
||||
| GatewayGuildRoleModifyDispatch
|
||||
| GatewayGuildScheduledEventCreateDispatch
|
||||
| GatewayGuildScheduledEventUpdateDispatch
|
||||
| GatewayGuildScheduledEventDeleteDispatch
|
||||
| GatewayGuildScheduledEventUpdateDispatch
|
||||
| GatewayGuildScheduledEventUserAddDispatch
|
||||
| GatewayGuildScheduledEventUserRemoveDispatch
|
||||
| GatewayGuildStickersUpdateDispatch
|
||||
@@ -325,30 +332,30 @@ export type GatewayDispatchPayload =
|
||||
| GatewayMessageCreateDispatch
|
||||
| GatewayMessageDeleteBulkDispatch
|
||||
| GatewayMessageDeleteDispatch
|
||||
| GatewayMessagePollVoteAddDispatch
|
||||
| GatewayMessagePollVoteRemoveDispatch
|
||||
| GatewayMessageReactionAddDispatch
|
||||
| GatewayMessageReactionRemoveAllDispatch
|
||||
| GatewayMessageReactionRemoveDispatch
|
||||
| GatewayMessageReactionRemoveEmojiDispatch
|
||||
| GatewayMessageUpdateDispatch
|
||||
| GatewayPresenceUpdateDispatch
|
||||
| GatewayReadyDispatch
|
||||
| GatewayResumedDispatch
|
||||
| GatewayStageInstanceCreateDispatch
|
||||
| GatewayStageInstanceDeleteDispatch
|
||||
| GatewayStageInstanceUpdateDispatch
|
||||
| GatewayReadyDispatch
|
||||
| GatewayResumedDispatch
|
||||
| GatewayThreadCreateDispatch
|
||||
| GatewayThreadDeleteDispatch
|
||||
| GatewayThreadListSyncDispatch
|
||||
| GatewayThreadMembersUpdateDispatch
|
||||
| GatewayThreadMemberUpdateDispatch
|
||||
| GatewayThreadCreateDispatch
|
||||
| GatewayThreadUpdateDispatch
|
||||
| GatewayThreadDeleteDispatch
|
||||
| GatewayTypingStartDispatch
|
||||
| GatewayUserUpdateDispatch
|
||||
| GatewayVoiceServerUpdateDispatch
|
||||
| GatewayVoiceStateUpdateDispatch
|
||||
| GatewayWebhooksUpdateDispatch
|
||||
| GatewayGuildAuditLogEntryCreateDispatch
|
||||
| GatewayEntitlementModifyDispatch;
|
||||
| GatewayWebhooksUpdateDispatch;
|
||||
|
||||
// #region Dispatch Payloads
|
||||
|
||||
@@ -453,7 +460,7 @@ export interface GatewayReadyDispatchData {
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/application#application-object
|
||||
*/
|
||||
application: Pick<APIApplication, 'id' | 'flags'>;
|
||||
application: Pick<APIApplication, 'flags' | 'id'>;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -468,8 +475,8 @@ export type GatewayResumedDispatch = DataPayload<GatewayDispatchEvents.Resumed,
|
||||
*/
|
||||
export type GatewayAutoModerationRuleModifyDispatch = DataPayload<
|
||||
| GatewayDispatchEvents.AutoModerationRuleCreate
|
||||
| GatewayDispatchEvents.AutoModerationRuleUpdate
|
||||
| GatewayDispatchEvents.AutoModerationRuleDelete,
|
||||
| GatewayDispatchEvents.AutoModerationRuleDelete
|
||||
| GatewayDispatchEvents.AutoModerationRuleUpdate,
|
||||
GatewayAutoModerationRuleModifyDispatchData
|
||||
>;
|
||||
|
||||
@@ -693,8 +700,8 @@ export type GatewayEntitlementModifyDispatchData = APIEntitlement;
|
||||
*/
|
||||
export type GatewayEntitlementModifyDispatch = DataPayload<
|
||||
| GatewayDispatchEvents.EntitlementCreate
|
||||
| GatewayDispatchEvents.EntitlementUpdate
|
||||
| GatewayDispatchEvents.EntitlementDelete,
|
||||
| GatewayDispatchEvents.EntitlementDelete
|
||||
| GatewayDispatchEvents.EntitlementUpdate,
|
||||
GatewayEntitlementModifyDispatchData
|
||||
>;
|
||||
|
||||
@@ -1013,10 +1020,10 @@ export type GatewayGuildMemberUpdateDispatch = DataPayload<
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#guild-member-update
|
||||
*/
|
||||
export type GatewayGuildMemberUpdateDispatchData = Omit<APIGuildMember, 'deaf' | 'mute' | 'user' | 'joined_at'> &
|
||||
export type GatewayGuildMemberUpdateDispatchData = Nullable<Pick<APIGuildMember, 'joined_at'>> &
|
||||
Omit<APIGuildMember, 'deaf' | 'joined_at' | 'mute' | 'user'> &
|
||||
Partial<Pick<APIGuildMember, 'deaf' | 'mute'>> &
|
||||
Required<Pick<APIGuildMember, 'user'>> &
|
||||
Nullable<Pick<APIGuildMember, 'joined_at'>> & {
|
||||
Required<Pick<APIGuildMember, 'user'>> & {
|
||||
/**
|
||||
* The id of the guild
|
||||
*/
|
||||
@@ -1361,7 +1368,7 @@ export type GatewayMessageCreateDispatch = DataPayload<
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#message-create
|
||||
*/
|
||||
export type GatewayMessageCreateDispatchData = Omit<APIMessage, 'mentions'> & GatewayMessageEventExtraFields;
|
||||
export type GatewayMessageCreateDispatchData = GatewayMessageEventExtraFields & Omit<APIMessage, 'mentions'>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#message-update
|
||||
@@ -1374,8 +1381,8 @@ export type GatewayMessageUpdateDispatch = DataPayload<
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#message-update
|
||||
*/
|
||||
export type GatewayMessageUpdateDispatchData = Omit<Partial<APIMessage>, 'mentions'> &
|
||||
GatewayMessageEventExtraFields & {
|
||||
export type GatewayMessageUpdateDispatchData = GatewayMessageEventExtraFields &
|
||||
Omit<Partial<APIMessage>, 'mentions'> & {
|
||||
/**
|
||||
* ID of the message
|
||||
*/
|
||||
@@ -1479,7 +1486,7 @@ export type GatewayMessageReactionAddDispatchData = GatewayMessageReactionAddDis
|
||||
*/
|
||||
export type GatewayMessageReactionRemoveDispatch = ReactionData<
|
||||
GatewayDispatchEvents.MessageReactionRemove,
|
||||
'member' | 'message_author_id'
|
||||
'burst_colors' | 'member' | 'message_author_id'
|
||||
>;
|
||||
|
||||
/**
|
||||
@@ -1812,6 +1819,45 @@ export interface GatewayGuildAuditLogEntryCreateDispatchData extends APIAuditLog
|
||||
guild_id: Snowflake;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-add
|
||||
*/
|
||||
export type GatewayMessagePollVoteAddDispatch = DataPayload<
|
||||
GatewayDispatchEvents.MessagePollVoteAdd,
|
||||
GatewayMessagePollVoteDispatchData
|
||||
>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#message-poll-vote-remove
|
||||
*/
|
||||
export type GatewayMessagePollVoteRemoveDispatch = DataPayload<
|
||||
GatewayDispatchEvents.MessagePollVoteRemove,
|
||||
GatewayMessagePollVoteDispatchData
|
||||
>;
|
||||
|
||||
export interface GatewayMessagePollVoteDispatchData {
|
||||
/**
|
||||
* ID of the user
|
||||
*/
|
||||
user_id: Snowflake;
|
||||
/**
|
||||
* ID of the channel
|
||||
*/
|
||||
channel_id: Snowflake;
|
||||
/**
|
||||
* ID of the message
|
||||
*/
|
||||
message_id: Snowflake;
|
||||
/**
|
||||
* ID of the guild
|
||||
*/
|
||||
guild_id?: Snowflake;
|
||||
/**
|
||||
* ID of the answer
|
||||
*/
|
||||
answer_id: number;
|
||||
}
|
||||
|
||||
// #endregion Dispatch Payloads
|
||||
|
||||
// #region Sendable Payloads
|
||||
@@ -1978,8 +2024,8 @@ export interface GatewayRequestGuildMembersDataWithQuery extends GatewayRequestG
|
||||
* https://discord.com/developers/docs/topics/gateway-events#request-guild-members
|
||||
*/
|
||||
export type GatewayRequestGuildMembersData =
|
||||
| GatewayRequestGuildMembersDataWithUserIds
|
||||
| GatewayRequestGuildMembersDataWithQuery;
|
||||
| GatewayRequestGuildMembersDataWithQuery
|
||||
| GatewayRequestGuildMembersDataWithUserIds;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#update-voice-state
|
||||
@@ -2072,7 +2118,7 @@ interface BasePayload {
|
||||
t?: string;
|
||||
}
|
||||
|
||||
type NonDispatchPayload = Omit<BasePayload, 't' | 's'> & {
|
||||
type NonDispatchPayload = Omit<BasePayload, 's' | 't'> & {
|
||||
t: null;
|
||||
s: null;
|
||||
};
|
||||
@@ -2119,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
|
||||
>
|
||||
|
||||
@@ -276,6 +276,12 @@ export const PermissionFlagsBits = {
|
||||
* Applies to channel types: Text, Voice, Stage
|
||||
*/
|
||||
SendVoiceMessages: 1n << 46n,
|
||||
/**
|
||||
* Allows sending polls
|
||||
*
|
||||
* Applies to channel types: Text, Voice, Stage
|
||||
*/
|
||||
SendPolls: 1n << 49n,
|
||||
} as const;
|
||||
|
||||
/**
|
||||
@@ -305,7 +311,7 @@ export interface RESTErrorGroupWrapper {
|
||||
_errors: RESTErrorData[];
|
||||
}
|
||||
|
||||
export type RESTErrorData = RESTErrorGroupWrapper | RESTErrorFieldInformation | { [k: string]: RESTErrorData } | string;
|
||||
export type RESTErrorData = RESTErrorFieldInformation | RESTErrorGroupWrapper | string | { [k: string]: RESTErrorData };
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/rate-limits#exceeding-a-rate-limit-rate-limit-response-structure
|
||||
|
||||
@@ -20,7 +20,7 @@ export enum ApplicationCommandOptionType {
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-choice-structure
|
||||
*/
|
||||
export interface APIApplicationCommandOptionChoice<ValueType = string | number> {
|
||||
export interface APIApplicationCommandOptionChoice<ValueType = number | string> {
|
||||
name: string;
|
||||
name_localizations?: LocalizationMap | null;
|
||||
value: ValueType;
|
||||
|
||||
@@ -65,42 +65,42 @@ export * from './_chatInput/user.ts';
|
||||
* https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-structure
|
||||
*/
|
||||
export type APIApplicationCommandBasicOption =
|
||||
| APIApplicationCommandStringOption
|
||||
| APIApplicationCommandIntegerOption
|
||||
| APIApplicationCommandAttachmentOption
|
||||
| APIApplicationCommandBooleanOption
|
||||
| APIApplicationCommandUserOption
|
||||
| APIApplicationCommandChannelOption
|
||||
| APIApplicationCommandRoleOption
|
||||
| APIApplicationCommandIntegerOption
|
||||
| APIApplicationCommandMentionableOption
|
||||
| APIApplicationCommandNumberOption
|
||||
| APIApplicationCommandAttachmentOption;
|
||||
| APIApplicationCommandRoleOption
|
||||
| APIApplicationCommandStringOption
|
||||
| APIApplicationCommandUserOption;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-structure
|
||||
*/
|
||||
export type APIApplicationCommandOption =
|
||||
| APIApplicationCommandSubcommandOption
|
||||
| APIApplicationCommandBasicOption
|
||||
| APIApplicationCommandSubcommandGroupOption
|
||||
| APIApplicationCommandBasicOption;
|
||||
| APIApplicationCommandSubcommandOption;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-interaction-data-option-structure
|
||||
*/
|
||||
export type APIApplicationCommandInteractionDataOption =
|
||||
| APIApplicationCommandInteractionDataSubcommandOption
|
||||
| APIApplicationCommandInteractionDataBasicOption
|
||||
| APIApplicationCommandInteractionDataSubcommandGroupOption
|
||||
| APIApplicationCommandInteractionDataBasicOption;
|
||||
| APIApplicationCommandInteractionDataSubcommandOption;
|
||||
|
||||
export type APIApplicationCommandInteractionDataBasicOption =
|
||||
| APIApplicationCommandInteractionDataStringOption
|
||||
| APIApplicationCommandInteractionDataIntegerOption
|
||||
| APIApplicationCommandInteractionDataAttachmentOption
|
||||
| APIApplicationCommandInteractionDataBooleanOption
|
||||
| APIApplicationCommandInteractionDataUserOption
|
||||
| APIApplicationCommandInteractionDataChannelOption
|
||||
| APIApplicationCommandInteractionDataRoleOption
|
||||
| APIApplicationCommandInteractionDataIntegerOption
|
||||
| APIApplicationCommandInteractionDataMentionableOption
|
||||
| APIApplicationCommandInteractionDataNumberOption
|
||||
| APIApplicationCommandInteractionDataAttachmentOption;
|
||||
| APIApplicationCommandInteractionDataRoleOption
|
||||
| APIApplicationCommandInteractionDataStringOption
|
||||
| APIApplicationCommandInteractionDataUserOption;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data
|
||||
|
||||
@@ -33,8 +33,8 @@ export interface APIMessageApplicationCommandInteractionDataResolved {
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data
|
||||
*/
|
||||
export type APIContextMenuInteractionData =
|
||||
| APIUserApplicationCommandInteractionData
|
||||
| APIMessageApplicationCommandInteractionData;
|
||||
| APIMessageApplicationCommandInteractionData
|
||||
| APIUserApplicationCommandInteractionData;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
@@ -74,18 +74,18 @@ export type APIMessageApplicationCommandGuildInteraction =
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
*/
|
||||
export type APIContextMenuInteraction = APIUserApplicationCommandInteraction | APIMessageApplicationCommandInteraction;
|
||||
export type APIContextMenuInteraction = APIMessageApplicationCommandInteraction | APIUserApplicationCommandInteraction;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
*/
|
||||
export type APIContextMenuDMInteraction =
|
||||
| APIUserApplicationCommandDMInteraction
|
||||
| APIMessageApplicationCommandDMInteraction;
|
||||
| APIMessageApplicationCommandDMInteraction
|
||||
| APIUserApplicationCommandDMInteraction;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
*/
|
||||
export type APIContextMenuGuildInteraction =
|
||||
| APIUserApplicationCommandGuildInteraction
|
||||
| APIMessageApplicationCommandGuildInteraction;
|
||||
| APIMessageApplicationCommandGuildInteraction
|
||||
| APIUserApplicationCommandGuildInteraction;
|
||||
|
||||
@@ -54,6 +54,6 @@ export enum ApplicationCommandPermissionType {
|
||||
*/
|
||||
export const APIApplicationCommandPermissionsConstant = {
|
||||
// eslint-disable-next-line unicorn/prefer-native-coercion-functions
|
||||
Everyone: (guildId: string | bigint): Snowflake => String(guildId),
|
||||
AllChannels: (guildId: string | bigint): Snowflake => String(BigInt(guildId) - 1n),
|
||||
Everyone: (guildId: bigint | string): Snowflake => String(guildId),
|
||||
AllChannels: (guildId: bigint | string): Snowflake => String(BigInt(guildId) - 1n),
|
||||
};
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
@@ -118,7 +164,7 @@ export type APIApplicationCommandInteractionWrapper<Data extends APIApplicationC
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.ApplicationCommand, Data>,
|
||||
'channel' | 'channel_id' | 'data' | 'app_permissions'
|
||||
'app_permissions' | 'channel_id' | 'channel' | 'data'
|
||||
>
|
||||
>;
|
||||
|
||||
|
||||
@@ -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,17 +14,51 @@ 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,
|
||||
| 'roles'
|
||||
| 'premium_since'
|
||||
| 'pending'
|
||||
| 'nick'
|
||||
| 'mute'
|
||||
| 'joined_at'
|
||||
| 'deaf'
|
||||
| 'communication_disabled_until'
|
||||
| 'avatar'
|
||||
| 'communication_disabled_until'
|
||||
| 'deaf'
|
||||
| 'joined_at'
|
||||
| 'mute'
|
||||
| 'nick'
|
||||
| 'pending'
|
||||
| 'premium_since'
|
||||
| 'roles'
|
||||
>;
|
||||
|
||||
/**
|
||||
@@ -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,11 +169,23 @@ 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,
|
||||
'member' | 'guild_id'
|
||||
'guild_id' | 'member'
|
||||
> &
|
||||
Required<Pick<Original, 'user'>>;
|
||||
|
||||
@@ -147,7 +193,7 @@ export type APIGuildInteractionWrapper<Original extends APIBaseInteraction<Inter
|
||||
Original,
|
||||
'user'
|
||||
> &
|
||||
Required<Pick<Original, 'member' | 'guild_id'>>;
|
||||
Required<Pick<Original, 'guild_id' | 'member'>>;
|
||||
|
||||
export interface APIInteractionDataResolvedChannelBase<T extends ChannelType> extends Required<APIPartialChannel> {
|
||||
type: T;
|
||||
@@ -160,12 +206,12 @@ export interface APIInteractionDataResolvedChannelBase<T extends ChannelType> ex
|
||||
export type APIInteractionDataResolvedChannel =
|
||||
| APIInteractionDataResolvedChannelBase<Exclude<ChannelType, ThreadChannelType>>
|
||||
| (APIInteractionDataResolvedChannelBase<ThreadChannelType> &
|
||||
Pick<APIThreadChannel, 'thread_metadata' | 'parent_id'>);
|
||||
Pick<APIThreadChannel, 'parent_id' | 'thread_metadata'>);
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#guild-member-object
|
||||
*/
|
||||
export interface APIInteractionDataResolvedGuildMember extends Omit<APIGuildMember, 'user' | 'deaf' | 'mute'> {
|
||||
export interface APIInteractionDataResolvedGuildMember extends Omit<APIGuildMember, 'deaf' | 'mute' | 'user'> {
|
||||
permissions: Permissions;
|
||||
}
|
||||
|
||||
@@ -188,8 +234,8 @@ export type APIChatInputApplicationCommandInteractionDataResolved = APIInteracti
|
||||
/**
|
||||
* `users` and optional `members` from APIInteractionDataResolved, for user commands and user selects
|
||||
*/
|
||||
export type APIUserInteractionDataResolved = Required<Pick<APIInteractionDataResolved, 'users'>> &
|
||||
Pick<APIInteractionDataResolved, 'members'>;
|
||||
export type APIUserInteractionDataResolved = Pick<APIInteractionDataResolved, 'members'> &
|
||||
Required<Pick<APIInteractionDataResolved, 'users'>>;
|
||||
|
||||
/**
|
||||
* @deprecated Renamed to `APIUserInteractionDataResolved`
|
||||
|
||||
@@ -15,7 +15,7 @@ export type APIMessageComponentInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageComponentInteractionData>,
|
||||
'channel' | 'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
'app_permissions' | 'channel_id' | 'channel' | 'data' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
@@ -26,7 +26,7 @@ export type APIMessageComponentButtonInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageButtonInteractionData>,
|
||||
'channel' | 'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
'app_permissions' | 'channel_id' | 'channel' | 'data' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
@@ -37,7 +37,7 @@ export type APIMessageComponentSelectMenuInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageSelectMenuInteractionData>,
|
||||
'channel' | 'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
'app_permissions' | 'channel_id' | 'channel' | 'data' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
@@ -76,7 +76,7 @@ export interface APIMessageRoleSelectInteractionData
|
||||
export interface APIMessageMentionableSelectInteractionData
|
||||
extends APIMessageComponentBaseInteractionData<ComponentType.MentionableSelect> {
|
||||
values: Snowflake[];
|
||||
resolved: Pick<APIInteractionDataResolved, 'users' | 'members' | 'roles'>;
|
||||
resolved: Pick<APIInteractionDataResolved, 'members' | 'roles' | 'users'>;
|
||||
}
|
||||
|
||||
export interface APIMessageChannelSelectInteractionData
|
||||
@@ -86,11 +86,11 @@ export interface APIMessageChannelSelectInteractionData
|
||||
}
|
||||
|
||||
export type APIMessageSelectMenuInteractionData =
|
||||
| APIMessageStringSelectInteractionData
|
||||
| APIMessageUserSelectInteractionData
|
||||
| APIMessageRoleSelectInteractionData
|
||||
| APIMessageChannelSelectInteractionData
|
||||
| APIMessageMentionableSelectInteractionData
|
||||
| APIMessageChannelSelectInteractionData;
|
||||
| APIMessageRoleSelectInteractionData
|
||||
| APIMessageStringSelectInteractionData
|
||||
| APIMessageUserSelectInteractionData;
|
||||
|
||||
export type APIMessageComponentDMInteraction = APIDMInteractionWrapper<APIMessageComponentInteraction>;
|
||||
|
||||
|
||||
@@ -18,12 +18,12 @@ export enum InteractionType {
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-response-object
|
||||
*/
|
||||
export type APIInteractionResponse =
|
||||
| APIInteractionResponsePong
|
||||
| APIApplicationCommandAutocompleteResponse
|
||||
| APIInteractionResponseChannelMessageWithSource
|
||||
| APIInteractionResponseDeferredChannelMessageWithSource
|
||||
| APIInteractionResponseDeferredMessageUpdate
|
||||
| APIInteractionResponsePong
|
||||
| APIInteractionResponseUpdateMessage
|
||||
| APIApplicationCommandAutocompleteResponse
|
||||
| APIModalInteractionResponse
|
||||
| APIPremiumRequiredInteractionResponse;
|
||||
|
||||
@@ -107,7 +107,7 @@ export enum InteractionResponseType {
|
||||
*/
|
||||
export type APIInteractionResponseCallbackData = Omit<
|
||||
RESTPostAPIWebhookWithTokenJSONBody,
|
||||
'username' | 'avatar_url'
|
||||
'avatar_url' | 'username'
|
||||
> & { flags?: MessageFlags };
|
||||
|
||||
export interface APICommandAutocompleteInteractionResponseCallbackData {
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -10,13 +10,14 @@ 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,
|
||||
GuildDefaultMessageNotifications,
|
||||
GuildExplicitContentFilter,
|
||||
GuildMFALevel,
|
||||
GuildSystemChannelFlags,
|
||||
GuildVerificationLevel,
|
||||
IntegrationExpireBehavior,
|
||||
} from './guild.ts';
|
||||
@@ -204,6 +205,12 @@ export enum AuditLogEvent {
|
||||
|
||||
CreatorMonetizationRequestCreated = 150,
|
||||
CreatorMonetizationTermsAccepted,
|
||||
|
||||
OnboardingPromptCreate = 163,
|
||||
OnboardingPromptUpdate,
|
||||
OnboardingPromptDelete,
|
||||
OnboardingCreate,
|
||||
OnboardingUpdate,
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -335,82 +342,87 @@ export type AuditLogRuleTriggerType = `${AutoModerationRuleTriggerType}`;
|
||||
* https://discord.com/developers/docs/resources/audit-log#audit-log-change-object-audit-log-change-structure
|
||||
*/
|
||||
export type APIAuditLogChange =
|
||||
| APIAuditLogChangeKeyName
|
||||
| APIAuditLogChangeKeyDescription
|
||||
| APIAuditLogChangeKeyIconHash
|
||||
| APIAuditLogChangeKeyImageHash
|
||||
| APIAuditLogChangeKeySplashHash
|
||||
| APIAuditLogChangeKeyDiscoverySplashHash
|
||||
| APIAuditLogChangeKeyBannerHash
|
||||
| APIAuditLogChangeKeyOwnerId
|
||||
| APIAuditLogChangeKeyRegion
|
||||
| APIAuditLogChangeKeyPreferredLocale
|
||||
| APIAuditLogChangeKeyAFKChannelId
|
||||
| APIAuditLogChangeKeyAFKTimeout
|
||||
| APIAuditLogChangeKeyRulesChannelId
|
||||
| APIAuditLogChangeKeyPublicUpdatesChannelId
|
||||
| APIAuditLogChangeKeyMFALevel
|
||||
| APIAuditLogChangeKeyVerificationLevel
|
||||
| APIAuditLogChangeKeyExplicitContentFilter
|
||||
| APIAuditLogChangeKeyDefaultMessageNotifications
|
||||
| APIAuditLogChangeKeyVanityURLCode
|
||||
| APIAuditLogChangeKey$Add
|
||||
| APIAuditLogChangeKey$Remove
|
||||
| APIAuditLogChangeKeyPruneDeleteDays
|
||||
| APIAuditLogChangeKeyWidgetEnabled
|
||||
| APIAuditLogChangeKeyWidgetChannelId
|
||||
| APIAuditLogChangeKeySystemChannelId
|
||||
| APIAuditLogChangeKeyPosition
|
||||
| APIAuditLogChangeKeyTopic
|
||||
| APIAuditLogChangeKeyBitrate
|
||||
| APIAuditLogChangeKeyPermissionOverwrites
|
||||
| APIAuditLogChangeKeyNSFW
|
||||
| APIAuditLogChangeKeyApplicationId
|
||||
| APIAuditLogChangeKeyRateLimitPerUser
|
||||
| APIAuditLogChangeKeyPermissions
|
||||
| APIAuditLogChangeKeyColor
|
||||
| APIAuditLogChangeKeyHoist
|
||||
| APIAuditLogChangeKeyMentionable
|
||||
| APIAuditLogChangeKeyActions
|
||||
| APIAuditLogChangeKeyAFKChannelId
|
||||
| APIAuditLogChangeKeyAFKTimeout
|
||||
| APIAuditLogChangeKeyAllow
|
||||
| APIAuditLogChangeKeyDeny
|
||||
| APIAuditLogChangeKeyCode
|
||||
| APIAuditLogChangeKeyChannelId
|
||||
| APIAuditLogChangeKeyInviterId
|
||||
| APIAuditLogChangeKeyMaxUses
|
||||
| APIAuditLogChangeKeyUses
|
||||
| APIAuditLogChangeKeyMaxAge
|
||||
| APIAuditLogChangeKeyTemporary
|
||||
| APIAuditLogChangeKeyDeaf
|
||||
| APIAuditLogChangeKeyMute
|
||||
| APIAuditLogChangeKeyNick
|
||||
| APIAuditLogChangeKeyApplicationId
|
||||
| APIAuditLogChangeKeyArchived
|
||||
| APIAuditLogChangeKeyAsset
|
||||
| APIAuditLogChangeKeyAutoArchiveDuration
|
||||
| APIAuditLogChangeKeyAvailable
|
||||
| APIAuditLogChangeKeyAvailableTags
|
||||
| APIAuditLogChangeKeyAvatarHash
|
||||
| APIAuditLogChangeKeyId
|
||||
| APIAuditLogChangeKeyType
|
||||
| APIAuditLogChangeKeyBannerHash
|
||||
| APIAuditLogChangeKeyBitrate
|
||||
| APIAuditLogChangeKeyChannelId
|
||||
| APIAuditLogChangeKeyCode
|
||||
| APIAuditLogChangeKeyColor
|
||||
| APIAuditLogChangeKeyCommunicationDisabledUntil
|
||||
| APIAuditLogChangeKeyDeaf
|
||||
| APIAuditLogChangeKeyDefaultAutoArchiveDuration
|
||||
| APIAuditLogChangeKeyDefaultMessageNotifications
|
||||
| APIAuditLogChangeKeyDefaultReactionEmoji
|
||||
| APIAuditLogChangeKeyDefaultThreadRateLimitPerUser
|
||||
| APIAuditLogChangeKeyDeny
|
||||
| APIAuditLogChangeKeyDescription
|
||||
| APIAuditLogChangeKeyDiscoverySplashHash
|
||||
| APIAuditLogChangeKeyEnabled
|
||||
| APIAuditLogChangeKeyEnableEmoticons
|
||||
| APIAuditLogChangeKeyEntityType
|
||||
| APIAuditLogChangeKeyEventType
|
||||
| APIAuditLogChangeKeyExemptChannels
|
||||
| APIAuditLogChangeKeyExemptRoles
|
||||
| APIAuditLogChangeKeyExpireBehavior
|
||||
| APIAuditLogChangeKeyExpireGracePeriod
|
||||
| APIAuditLogChangeKeyUserLimit
|
||||
| APIAuditLogChangeKeyPrivacyLevel
|
||||
| APIAuditLogChangeKeyTags
|
||||
| APIAuditLogChangeKeyExplicitContentFilter
|
||||
| APIAuditLogChangeKeyFlags
|
||||
| APIAuditLogChangeKeyFormatType
|
||||
| APIAuditLogChangeKeyAsset
|
||||
| APIAuditLogChangeKeyAvailable
|
||||
| APIAuditLogChangeKeyGuildId
|
||||
| APIAuditLogChangeKeyArchived
|
||||
| APIAuditLogChangeKeyLocked
|
||||
| APIAuditLogChangeKeyAutoArchiveDuration
|
||||
| APIAuditLogChangeKeyDefaultAutoArchiveDuration
|
||||
| APIAuditLogChangeKeyEntityType
|
||||
| APIAuditLogChangeKeyStatus
|
||||
| APIAuditLogChangeKeyHoist
|
||||
| APIAuditLogChangeKeyIconHash
|
||||
| APIAuditLogChangeKeyId
|
||||
| APIAuditLogChangeKeyImageHash
|
||||
| APIAuditLogChangeKeyInviterId
|
||||
| APIAuditLogChangeKeyLocation
|
||||
| APIAuditLogChangeKeyCommunicationDisabledUntil
|
||||
| APIAuditLogChangeKeyTriggerType
|
||||
| APIAuditLogChangeKeyEventType
|
||||
| APIAuditLogChangeKeyLocked
|
||||
| APIAuditLogChangeKeyMaxAge
|
||||
| APIAuditLogChangeKeyMaxUses
|
||||
| APIAuditLogChangeKeyMentionable
|
||||
| APIAuditLogChangeKeyMFALevel
|
||||
| APIAuditLogChangeKeyMute
|
||||
| APIAuditLogChangeKeyName
|
||||
| APIAuditLogChangeKeyNick
|
||||
| APIAuditLogChangeKeyNSFW
|
||||
| APIAuditLogChangeKeyOwnerId
|
||||
| APIAuditLogChangeKeyPermissionOverwrites
|
||||
| APIAuditLogChangeKeyPermissions
|
||||
| APIAuditLogChangeKeyPosition
|
||||
| APIAuditLogChangeKeyPreferredLocale
|
||||
| APIAuditLogChangeKeyPrivacyLevel
|
||||
| APIAuditLogChangeKeyPruneDeleteDays
|
||||
| APIAuditLogChangeKeyPublicUpdatesChannelId
|
||||
| APIAuditLogChangeKeyRateLimitPerUser
|
||||
| APIAuditLogChangeKeyRegion
|
||||
| APIAuditLogChangeKeyRulesChannelId
|
||||
| APIAuditLogChangeKeySplashHash
|
||||
| APIAuditLogChangeKeyStatus
|
||||
| APIAuditLogChangeKeySystemChannelFlags
|
||||
| APIAuditLogChangeKeySystemChannelId
|
||||
| APIAuditLogChangeKeyTags
|
||||
| APIAuditLogChangeKeyTemporary
|
||||
| APIAuditLogChangeKeyTopic
|
||||
| APIAuditLogChangeKeyTriggerMetadata
|
||||
| APIAuditLogChangeKeyActions
|
||||
| APIAuditLogChangeKeyEnabled
|
||||
| APIAuditLogChangeKeyExemptRoles
|
||||
| APIAuditLogChangeKeyExemptChannels;
|
||||
| APIAuditLogChangeKeyTriggerType
|
||||
| APIAuditLogChangeKeyType
|
||||
| APIAuditLogChangeKeyUserLimit
|
||||
| APIAuditLogChangeKeyUses
|
||||
| APIAuditLogChangeKeyVanityURLCode
|
||||
| APIAuditLogChangeKeyVerificationLevel
|
||||
| APIAuditLogChangeKeyWidgetChannelId
|
||||
| APIAuditLogChangeKeyWidgetEnabled;
|
||||
|
||||
/**
|
||||
* Returned when an entity's name is changed
|
||||
@@ -521,12 +533,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
|
||||
@@ -543,6 +555,14 @@ export type APIAuditLogChangeKeyWidgetEnabled = AuditLogChangeData<'widget_enabl
|
||||
*/
|
||||
export type APIAuditLogChangeKeyWidgetChannelId = AuditLogChangeData<'widget_channel_id', Snowflake>;
|
||||
|
||||
/**
|
||||
* Returned when a guild's system_channel_flags is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeySystemChannelFlags = AuditLogChangeData<
|
||||
'system_channel_flags',
|
||||
GuildSystemChannelFlags
|
||||
>;
|
||||
|
||||
/**
|
||||
* Returned when a guild's system_channel_id is changed
|
||||
*/
|
||||
@@ -816,6 +836,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;
|
||||
/**
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -6,8 +6,9 @@ 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';
|
||||
import type { APIUser } from './user.ts';
|
||||
|
||||
@@ -41,15 +42,15 @@ export interface APIChannelBase<T extends ChannelType> extends APIPartialChannel
|
||||
}
|
||||
|
||||
export type TextChannelType =
|
||||
| ChannelType.AnnouncementThread
|
||||
| ChannelType.DM
|
||||
| ChannelType.GroupDM
|
||||
| ChannelType.GuildAnnouncement
|
||||
| ChannelType.PublicThread
|
||||
| ChannelType.PrivateThread
|
||||
| ChannelType.AnnouncementThread
|
||||
| ChannelType.GuildStageVoice
|
||||
| ChannelType.GuildText
|
||||
| ChannelType.GuildVoice
|
||||
| ChannelType.GuildStageVoice;
|
||||
| ChannelType.PrivateThread
|
||||
| ChannelType.PublicThread;
|
||||
|
||||
export type GuildChannelType = Exclude<ChannelType, ChannelType.DM | ChannelType.GroupDM>;
|
||||
|
||||
@@ -110,7 +111,7 @@ export interface APIGuildChannel<T extends ChannelType> extends Omit<APIChannelB
|
||||
|
||||
export type GuildTextChannelType = Exclude<TextChannelType, ChannelType.DM | ChannelType.GroupDM>;
|
||||
|
||||
export interface APIGuildTextChannel<T extends GuildTextChannelType | ChannelType.GuildForum | ChannelType.GuildMedia>
|
||||
export interface APIGuildTextChannel<T extends ChannelType.GuildForum | ChannelType.GuildMedia | GuildTextChannelType>
|
||||
extends Omit<APITextBasedChannel<T>, 'name'>,
|
||||
APIGuildChannel<T> {
|
||||
/**
|
||||
@@ -134,7 +135,7 @@ export type APIGuildCategoryChannel = APIGuildChannel<ChannelType.GuildCategory>
|
||||
|
||||
export interface APIVoiceChannelBase<T extends ChannelType>
|
||||
extends APIGuildChannel<T>,
|
||||
Omit<APITextBasedChannel<T>, 'name' | 'last_pin_timestamp'> {
|
||||
Omit<APITextBasedChannel<T>, 'last_pin_timestamp' | 'name'> {
|
||||
/**
|
||||
* The bitrate (in bits) of the voice or stage channel
|
||||
*/
|
||||
@@ -204,7 +205,7 @@ export interface APIGroupDMChannel extends Omit<APIDMChannelBase<ChannelType.Gro
|
||||
managed?: boolean;
|
||||
}
|
||||
|
||||
export type ThreadChannelType = ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread;
|
||||
export type ThreadChannelType = ChannelType.AnnouncementThread | ChannelType.PrivateThread | ChannelType.PublicThread;
|
||||
|
||||
export interface APIThreadChannel
|
||||
extends Omit<APITextBasedChannel<ThreadChannelType>, 'name'>,
|
||||
@@ -373,16 +374,16 @@ export type APIGuildMediaChannel = APIThreadOnlyChannel<ChannelType.GuildMedia>;
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-structure
|
||||
*/
|
||||
export type APIChannel =
|
||||
| APIGroupDMChannel
|
||||
| APIDMChannel
|
||||
| APITextChannel
|
||||
| APINewsChannel
|
||||
| APIGuildVoiceChannel
|
||||
| APIGuildStageVoiceChannel
|
||||
| APIGroupDMChannel
|
||||
| APIGuildCategoryChannel
|
||||
| APIThreadChannel
|
||||
| APIGuildForumChannel
|
||||
| APIGuildMediaChannel;
|
||||
| APIGuildMediaChannel
|
||||
| APIGuildStageVoiceChannel
|
||||
| APIGuildVoiceChannel
|
||||
| APINewsChannel
|
||||
| APITextChannel
|
||||
| APIThreadChannel;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-types
|
||||
@@ -607,7 +608,7 @@ export interface APIMessage {
|
||||
* **You will not receive this from further fetches. This is received only once from a `MESSAGE_CREATE`
|
||||
* event to ensure it got sent**
|
||||
*/
|
||||
nonce?: string | number;
|
||||
nonce?: number | string;
|
||||
/**
|
||||
* Whether this message is pinned
|
||||
*/
|
||||
@@ -666,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;
|
||||
/**
|
||||
@@ -715,6 +724,21 @@ export interface APIMessage {
|
||||
* See https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-resolved-data-structure
|
||||
*/
|
||||
resolved?: APIInteractionDataResolved;
|
||||
/**
|
||||
* A poll!
|
||||
*
|
||||
* The `MESSAGE_CONTENT` privileged gateway intent is required for verified applications to receive a non-empty value from this field
|
||||
*
|
||||
* In the Discord Developers Portal, you need to enable the toggle of this intent of your application in **Bot > Privileged Gateway Intents**.
|
||||
* You also need to specify the intent bit value (`1 << 15`) if you are connecting to the gateway
|
||||
*
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
poll?: APIPoll;
|
||||
/**
|
||||
* The call associated with the message
|
||||
*/
|
||||
call?: APIMessageCall;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -859,6 +883,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
|
||||
*/
|
||||
@@ -900,19 +938,45 @@ export interface APIFollowedChannel {
|
||||
*/
|
||||
export interface APIReaction {
|
||||
/**
|
||||
* Times this emoji has been used to react
|
||||
* Total number of times this emoji has been used to react (including super reacts)
|
||||
*/
|
||||
count: number;
|
||||
/**
|
||||
* An object detailing the individual reaction counts for different types of reactions
|
||||
*/
|
||||
count_details: APIReactionCountDetails;
|
||||
/**
|
||||
* Whether the current user reacted using this emoji
|
||||
*/
|
||||
me: boolean;
|
||||
/**
|
||||
* Whether the current user super-reacted using this emoji
|
||||
*/
|
||||
me_burst: boolean;
|
||||
/**
|
||||
* Emoji information
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/emoji#emoji-object
|
||||
*/
|
||||
emoji: APIPartialEmoji;
|
||||
/**
|
||||
* Hexadecimal colors used for this super reaction
|
||||
*/
|
||||
burst_colors: string[];
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#reaction-count-details-object-reaction-count-details-structure
|
||||
*/
|
||||
export interface APIReactionCountDetails {
|
||||
/**
|
||||
* Count of super reactions
|
||||
*/
|
||||
burst: number;
|
||||
/**
|
||||
* Count of normal reactions
|
||||
*/
|
||||
normal: number;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1568,7 +1632,7 @@ export interface APIMessageComponentEmoji {
|
||||
|
||||
export interface APIButtonComponentWithCustomId
|
||||
extends APIButtonComponentBase<
|
||||
ButtonStyle.Primary | ButtonStyle.Secondary | ButtonStyle.Success | ButtonStyle.Danger
|
||||
ButtonStyle.Danger | ButtonStyle.Primary | ButtonStyle.Secondary | ButtonStyle.Success
|
||||
> {
|
||||
/**
|
||||
* The custom_id to be sent in the interaction when clicked
|
||||
@@ -1609,11 +1673,11 @@ export enum TextInputStyle {
|
||||
*/
|
||||
export interface APIBaseSelectMenuComponent<
|
||||
T extends
|
||||
| ComponentType.StringSelect
|
||||
| ComponentType.UserSelect
|
||||
| ComponentType.RoleSelect
|
||||
| ComponentType.ChannelSelect
|
||||
| ComponentType.MentionableSelect
|
||||
| ComponentType.ChannelSelect,
|
||||
| ComponentType.RoleSelect
|
||||
| ComponentType.StringSelect
|
||||
| ComponentType.UserSelect,
|
||||
> extends APIBaseComponent<T> {
|
||||
/**
|
||||
* A developer-defined identifier for the select menu, max 100 characters
|
||||
@@ -1645,10 +1709,10 @@ export interface APIBaseSelectMenuComponent<
|
||||
|
||||
export interface APIBaseAutoPopulatedSelectMenuComponent<
|
||||
T extends
|
||||
| ComponentType.UserSelect
|
||||
| ComponentType.RoleSelect
|
||||
| ComponentType.ChannelSelect
|
||||
| ComponentType.MentionableSelect
|
||||
| ComponentType.ChannelSelect,
|
||||
| ComponentType.RoleSelect
|
||||
| ComponentType.UserSelect,
|
||||
D extends SelectMenuDefaultValueType,
|
||||
> extends APIBaseSelectMenuComponent<T> {
|
||||
/**
|
||||
@@ -1688,7 +1752,7 @@ export type APIRoleSelectComponent = APIBaseAutoPopulatedSelectMenuComponent<
|
||||
*/
|
||||
export type APIMentionableSelectComponent = APIBaseAutoPopulatedSelectMenuComponent<
|
||||
ComponentType.MentionableSelect,
|
||||
SelectMenuDefaultValueType.User | SelectMenuDefaultValueType.Role
|
||||
SelectMenuDefaultValueType.Role | SelectMenuDefaultValueType.User
|
||||
>;
|
||||
|
||||
/**
|
||||
@@ -1729,18 +1793,18 @@ export type APIAutoPopulatedSelectMenuComponent =
|
||||
* https://discord.com/developers/docs/interactions/message-components#select-menus
|
||||
*/
|
||||
export type APISelectMenuComponent =
|
||||
| APIStringSelectComponent
|
||||
| APIUserSelectComponent
|
||||
| APIRoleSelectComponent
|
||||
| APIChannelSelectComponent
|
||||
| APIMentionableSelectComponent
|
||||
| APIChannelSelectComponent;
|
||||
| APIRoleSelectComponent
|
||||
| APIStringSelectComponent
|
||||
| APIUserSelectComponent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/message-components#select-menu-object-select-option-structure
|
||||
*/
|
||||
export interface APISelectMenuOption {
|
||||
/**
|
||||
* The user-facing name of the option (max 25 chars)
|
||||
* The user-facing name of the option (max 100 chars)
|
||||
*/
|
||||
label: string;
|
||||
/**
|
||||
@@ -1748,7 +1812,7 @@ export interface APISelectMenuOption {
|
||||
*/
|
||||
value: string;
|
||||
/**
|
||||
* An additional description of the option (max 50 chars)
|
||||
* An additional description of the option (max 100 chars)
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
@@ -1845,8 +1909,8 @@ export enum ChannelFlags {
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/message-components#message-components
|
||||
*/
|
||||
export type APIMessageComponent = APIMessageActionRowComponent | APIActionRowComponent<APIMessageActionRowComponent>;
|
||||
export type APIModalComponent = APIModalActionRowComponent | APIActionRowComponent<APIModalActionRowComponent>;
|
||||
export type APIMessageComponent = APIActionRowComponent<APIMessageActionRowComponent> | APIMessageActionRowComponent;
|
||||
export type APIModalComponent = APIActionRowComponent<APIModalActionRowComponent> | APIModalActionRowComponent;
|
||||
|
||||
export type APIActionRowComponentTypes = APIMessageActionRowComponent | APIModalActionRowComponent;
|
||||
|
||||
|
||||
@@ -227,7 +227,7 @@ export interface GatewayActivity {
|
||||
/**
|
||||
* The custom buttons shown in the Rich Presence (max 2)
|
||||
*/
|
||||
buttons?: string[] | GatewayActivityButton[];
|
||||
buttons?: GatewayActivityButton[] | string[];
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -292,7 +292,7 @@ export interface GatewayActivityTimestamps {
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-emoji
|
||||
*/
|
||||
export type GatewayActivityEmoji = Partial<Pick<APIEmoji, 'id' | 'animated'>> & Pick<APIEmoji, 'name'>;
|
||||
export type GatewayActivityEmoji = Partial<Pick<APIEmoji, 'animated' | 'id'>> & Pick<APIEmoji, 'name'>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-party
|
||||
@@ -318,7 +318,7 @@ export type GatewayActivityAssets = Partial<
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-secrets
|
||||
*/
|
||||
export type GatewayActivitySecrets = Partial<Record<'join' | 'spectate' | 'match', string>>;
|
||||
export type GatewayActivitySecrets = Partial<Record<'join' | 'match' | 'spectate', string>>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-flags
|
||||
|
||||
@@ -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
|
||||
@@ -121,7 +121,7 @@ export interface APIGuild extends APIPartialGuild {
|
||||
/**
|
||||
* afk timeout in seconds, can be set to: `60`, `300`, `900`, `1800`, `3600`
|
||||
*/
|
||||
afk_timeout: 60 | 300 | 900 | 1_800 | 3_600;
|
||||
afk_timeout: 1_800 | 3_600 | 60 | 300 | 900;
|
||||
/**
|
||||
* `true` if the guild widget is enabled
|
||||
*/
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -806,7 +812,7 @@ export interface APIGuildIntegration {
|
||||
scopes?: OAuth2Scopes[];
|
||||
}
|
||||
|
||||
export type APIGuildIntegrationType = 'twitch' | 'youtube' | 'discord' | 'guild_subscription';
|
||||
export type APIGuildIntegrationType = 'discord' | 'guild_subscription' | 'twitch' | 'youtube';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#integration-object-integration-expire-behaviors
|
||||
|
||||
@@ -90,9 +90,9 @@ export interface APIExternalGuildScheduledEvent
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-structure
|
||||
*/
|
||||
export type APIGuildScheduledEvent =
|
||||
| APIExternalGuildScheduledEvent
|
||||
| APIStageInstanceGuildScheduledEvent
|
||||
| APIVoiceGuildScheduledEvent
|
||||
| APIExternalGuildScheduledEvent;
|
||||
| APIVoiceGuildScheduledEvent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-metadata
|
||||
|
||||
@@ -32,26 +32,26 @@ export * from './_interactions/responses.ts';
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
*/
|
||||
export type APIInteraction =
|
||||
| APIPingInteraction
|
||||
| APIApplicationCommandAutocompleteInteraction
|
||||
| APIApplicationCommandInteraction
|
||||
| APIMessageComponentInteraction
|
||||
| APIApplicationCommandAutocompleteInteraction
|
||||
| APIModalSubmitInteraction;
|
||||
| APIModalSubmitInteraction
|
||||
| APIPingInteraction;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
*/
|
||||
export type APIDMInteraction =
|
||||
| APIApplicationCommandAutocompleteDMInteraction
|
||||
| APIApplicationCommandDMInteraction
|
||||
| APIMessageComponentDMInteraction
|
||||
| APIApplicationCommandAutocompleteDMInteraction
|
||||
| APIModalSubmitDMInteraction;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
*/
|
||||
export type APIGuildInteraction =
|
||||
| APIApplicationCommandAutocompleteGuildInteraction
|
||||
| APIApplicationCommandGuildInteraction
|
||||
| APIMessageComponentGuildInteraction
|
||||
| APIApplicationCommandAutocompleteGuildInteraction
|
||||
| APIModalSubmitGuildInteraction;
|
||||
|
||||
@@ -11,17 +11,17 @@ import type { APIUser } from './user.ts';
|
||||
|
||||
export type APIInviteGuild = Pick<
|
||||
APIGuild,
|
||||
| 'id'
|
||||
| 'name'
|
||||
| 'splash'
|
||||
| 'banner'
|
||||
| 'icon'
|
||||
| 'vanity_url_code'
|
||||
| 'description'
|
||||
| 'features'
|
||||
| 'verification_level'
|
||||
| 'icon'
|
||||
| 'id'
|
||||
| 'name'
|
||||
| 'nsfw_level'
|
||||
| 'premium_subscription_count'
|
||||
| 'splash'
|
||||
| 'vanity_url_code'
|
||||
| 'verification_level'
|
||||
>;
|
||||
|
||||
/**
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -10,6 +10,7 @@ export * from './guildScheduledEvent.ts';
|
||||
export * from './interactions.ts';
|
||||
export * from './invite.ts';
|
||||
export * from './oauth2.ts';
|
||||
export * from './poll.ts';
|
||||
export * from './permissions.ts';
|
||||
export * from './stageInstance.ts';
|
||||
export * from './sticker.ts';
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
107
deno/payloads/v10/poll.ts
Normal file
107
deno/payloads/v10/poll.ts
Normal file
@@ -0,0 +1,107 @@
|
||||
/**
|
||||
* Types extracted from https://discord.com/developers/docs/resources/poll
|
||||
*/
|
||||
|
||||
import type { APIPartialEmoji } from './emoji.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/poll#poll-object-poll-object-structure
|
||||
*/
|
||||
export interface APIPoll {
|
||||
/**
|
||||
* The question of the poll
|
||||
*/
|
||||
question: APIPollMedia;
|
||||
/**
|
||||
* Each of the answers available in the poll, up to 10
|
||||
*/
|
||||
answers: APIPollAnswer[];
|
||||
/**
|
||||
* The time when the poll ends (IS08601 timestamp)
|
||||
*/
|
||||
expiry: string;
|
||||
/**
|
||||
* Whether a user can select multiple answers
|
||||
*/
|
||||
allow_multiselect: boolean;
|
||||
/**
|
||||
* The layout type of the poll
|
||||
*/
|
||||
layout_type: PollLayoutType;
|
||||
/**
|
||||
* The results of the poll
|
||||
*/
|
||||
results?: APIPollResults;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/poll#layout-type
|
||||
*/
|
||||
export enum PollLayoutType {
|
||||
/**
|
||||
* The, uhm, default layout type
|
||||
*/
|
||||
Default = 1,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/poll#poll-media-object-poll-media-object-structure
|
||||
*/
|
||||
export interface APIPollMedia {
|
||||
/**
|
||||
* The text of the field
|
||||
*
|
||||
* The maximum length is `300` for the question, and `55` for any answer
|
||||
*/
|
||||
text?: string;
|
||||
/**
|
||||
* The emoji of the field
|
||||
*/
|
||||
emoji?: APIPartialEmoji;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/poll#poll-answer-object-poll-answer-object-structure
|
||||
*/
|
||||
export interface APIPollAnswer {
|
||||
/**
|
||||
* The ID of the answer. Starts at `1` for the first answer and goes up sequentially
|
||||
*/
|
||||
answer_id: number;
|
||||
/**
|
||||
* The data of the answer
|
||||
*/
|
||||
poll_media: APIPollMedia;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/poll#poll-results-object-poll-results-object-structure
|
||||
*/
|
||||
export interface APIPollResults {
|
||||
/**
|
||||
* Whether the votes have been precisely counted
|
||||
*/
|
||||
is_finalized: boolean;
|
||||
/**
|
||||
* The counts for each answer
|
||||
*/
|
||||
answer_counts: APIPollAnswerCount[];
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/poll#poll-results-object-poll-answer-count-object-structure
|
||||
*/
|
||||
export interface APIPollAnswerCount {
|
||||
/**
|
||||
* The `answer_id`
|
||||
*/
|
||||
id: number;
|
||||
/**
|
||||
* The number of votes for this answer
|
||||
*/
|
||||
count: number;
|
||||
/**
|
||||
* Whether the current user voted for this answer
|
||||
*/
|
||||
me_voted: boolean;
|
||||
}
|
||||
@@ -45,6 +45,8 @@ export interface APIStageInstance {
|
||||
export enum StageInstancePrivacyLevel {
|
||||
/**
|
||||
* The stage instance is visible publicly, such as on stage discovery
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
Public = 1,
|
||||
/**
|
||||
|
||||
@@ -92,7 +92,7 @@ export enum StickerFormatType {
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#sticker-item-object
|
||||
*/
|
||||
export type APIStickerItem = Pick<APISticker, 'id' | 'name' | 'format_type'>;
|
||||
export type APIStickerItem = Pick<APISticker, 'format_type' | 'id' | 'name'>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#sticker-pack-object
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -266,6 +274,8 @@ export interface APIConnection {
|
||||
|
||||
export enum ConnectionService {
|
||||
BattleNet = 'battlenet',
|
||||
BungieNet = 'bungie',
|
||||
Domain = 'domain',
|
||||
eBay = 'ebay',
|
||||
EpicGames = 'epicgames',
|
||||
Facebook = 'facebook',
|
||||
@@ -316,5 +326,21 @@ export interface APIApplicationRoleConnection {
|
||||
/**
|
||||
* Object mapping application role connection metadata keys to their `string`-ified value (max 100 characters) for the user on the platform a bot has connected
|
||||
*/
|
||||
metadata: Record<string, string | number>;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -176,56 +176,56 @@ export enum AuditLogOptionsType {
|
||||
* @deprecated API and Gateway v6 are deprecated and the types will not receive further updates, please update to v8.
|
||||
*/
|
||||
export type APIAuditLogChange =
|
||||
| APIAuditLogChangeKeyName
|
||||
| APIAuditLogChangeKeyIconHash
|
||||
| APIAuditLogChangeKeySplashHash
|
||||
| APIAuditLogChangeKeyOwnerID
|
||||
| APIAuditLogChangeKeyRegion
|
||||
| APIAuditLogChangeKeyAFKChannelID
|
||||
| APIAuditLogChangeKeyAFKTimeout
|
||||
| APIAuditLogChangeKeyMFALevel
|
||||
| APIAuditLogChangeKeyVerificationLevel
|
||||
| APIAuditLogChangeKeyExplicitContentFilter
|
||||
| APIAuditLogChangeKeyDefaultMessageNotifications
|
||||
| APIAuditLogChangeKeyVanityURLCode
|
||||
| APIAuditLogChangeKey$Add
|
||||
| APIAuditLogChangeKey$Remove
|
||||
| APIAuditLogChangeKeyPruneDeleteDays
|
||||
| APIAuditLogChangeKeyWidgetEnabled
|
||||
| APIAuditLogChangeKeyWidgetChannelID
|
||||
| APIAuditLogChangeKeySystemChannelID
|
||||
| APIAuditLogChangeKeyPosition
|
||||
| APIAuditLogChangeKeyTopic
|
||||
| APIAuditLogChangeKeyBitrate
|
||||
| APIAuditLogChangeKeyPermissionOverwrites
|
||||
| APIAuditLogChangeKeyNSFW
|
||||
| APIAuditLogChangeKeyApplicationID
|
||||
| APIAuditLogChangeKeyRateLimitPerUser
|
||||
| APIAuditLogChangeKeyPermissions
|
||||
| APIAuditLogChangeKeyPermissionsNew
|
||||
| APIAuditLogChangeKeyColor
|
||||
| APIAuditLogChangeKeyHoist
|
||||
| APIAuditLogChangeKeyMentionable
|
||||
| APIAuditLogChangeKeyAFKChannelID
|
||||
| APIAuditLogChangeKeyAFKTimeout
|
||||
| APIAuditLogChangeKeyAllow
|
||||
| APIAuditLogChangeKeyAllowNew
|
||||
| APIAuditLogChangeKeyApplicationID
|
||||
| APIAuditLogChangeKeyAvatarHash
|
||||
| APIAuditLogChangeKeyBitrate
|
||||
| APIAuditLogChangeKeyChannelID
|
||||
| APIAuditLogChangeKeyCode
|
||||
| APIAuditLogChangeKeyColor
|
||||
| APIAuditLogChangeKeyDeaf
|
||||
| APIAuditLogChangeKeyDefaultMessageNotifications
|
||||
| APIAuditLogChangeKeyDeny
|
||||
| APIAuditLogChangeKeyDenyNew
|
||||
| APIAuditLogChangeKeyCode
|
||||
| APIAuditLogChangeKeyChannelID
|
||||
| APIAuditLogChangeKeyInviterID
|
||||
| APIAuditLogChangeKeyMaxUses
|
||||
| APIAuditLogChangeKeyUses
|
||||
| APIAuditLogChangeKeyMaxAge
|
||||
| APIAuditLogChangeKeyTemporary
|
||||
| APIAuditLogChangeKeyDeaf
|
||||
| APIAuditLogChangeKeyMute
|
||||
| APIAuditLogChangeKeyNick
|
||||
| APIAuditLogChangeKeyAvatarHash
|
||||
| APIAuditLogChangeKeyID
|
||||
| APIAuditLogChangeKeyType
|
||||
| APIAuditLogChangeKeyEnableEmoticons
|
||||
| APIAuditLogChangeKeyExpireBehavior
|
||||
| APIAuditLogChangeKeyExpireGracePeriod;
|
||||
| APIAuditLogChangeKeyExpireGracePeriod
|
||||
| APIAuditLogChangeKeyExplicitContentFilter
|
||||
| APIAuditLogChangeKeyHoist
|
||||
| APIAuditLogChangeKeyIconHash
|
||||
| APIAuditLogChangeKeyID
|
||||
| APIAuditLogChangeKeyInviterID
|
||||
| APIAuditLogChangeKeyMaxAge
|
||||
| APIAuditLogChangeKeyMaxUses
|
||||
| APIAuditLogChangeKeyMentionable
|
||||
| APIAuditLogChangeKeyMFALevel
|
||||
| APIAuditLogChangeKeyMute
|
||||
| APIAuditLogChangeKeyName
|
||||
| APIAuditLogChangeKeyNick
|
||||
| APIAuditLogChangeKeyNSFW
|
||||
| APIAuditLogChangeKeyOwnerID
|
||||
| APIAuditLogChangeKeyPermissionOverwrites
|
||||
| APIAuditLogChangeKeyPermissions
|
||||
| APIAuditLogChangeKeyPermissionsNew
|
||||
| APIAuditLogChangeKeyPosition
|
||||
| APIAuditLogChangeKeyPruneDeleteDays
|
||||
| APIAuditLogChangeKeyRateLimitPerUser
|
||||
| APIAuditLogChangeKeyRegion
|
||||
| APIAuditLogChangeKeySplashHash
|
||||
| APIAuditLogChangeKeySystemChannelID
|
||||
| APIAuditLogChangeKeyTemporary
|
||||
| APIAuditLogChangeKeyTopic
|
||||
| APIAuditLogChangeKeyType
|
||||
| APIAuditLogChangeKeyUses
|
||||
| APIAuditLogChangeKeyVanityURLCode
|
||||
| APIAuditLogChangeKeyVerificationLevel
|
||||
| APIAuditLogChangeKeyWidgetChannelID
|
||||
| APIAuditLogChangeKeyWidgetEnabled;
|
||||
|
||||
/**
|
||||
* Returned when a guild's name is changed
|
||||
|
||||
@@ -78,7 +78,7 @@ export interface APIMessage {
|
||||
attachments: APIAttachment[];
|
||||
embeds: APIEmbed[];
|
||||
reactions?: APIReaction[];
|
||||
nonce?: string | number;
|
||||
nonce?: number | string;
|
||||
pinned: boolean;
|
||||
webhook_id?: string;
|
||||
type: MessageType;
|
||||
|
||||
@@ -123,7 +123,7 @@ export interface GatewayActivityTimestamps {
|
||||
*
|
||||
* @deprecated API and Gateway v6 are deprecated and the types will not receive further updates, please update to v8.
|
||||
*/
|
||||
export type GatewayActivityEmoji = Partial<Pick<APIEmoji, 'name' | 'animated'>> & Pick<APIEmoji, 'id'>;
|
||||
export type GatewayActivityEmoji = Partial<Pick<APIEmoji, 'animated' | 'name'>> & Pick<APIEmoji, 'id'>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway#activity-object-activity-party
|
||||
@@ -149,7 +149,7 @@ export type GatewayActivityAssets = Partial<
|
||||
*
|
||||
* @deprecated API and Gateway v6 are deprecated and the types will not receive further updates, please update to v8.
|
||||
*/
|
||||
export type GatewayActivitySecrets = Partial<Record<'join' | 'spectate' | 'match', string>>;
|
||||
export type GatewayActivitySecrets = Partial<Record<'join' | 'match' | 'spectate', string>>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway#activity-object-activity-flags
|
||||
|
||||
@@ -22,7 +22,7 @@ export enum ApplicationCommandOptionType {
|
||||
*
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export interface APIApplicationCommandOptionChoice<ValueType = string | number> {
|
||||
export interface APIApplicationCommandOptionChoice<ValueType = number | string> {
|
||||
name: string;
|
||||
value: ValueType;
|
||||
}
|
||||
|
||||
@@ -72,15 +72,15 @@ export * from './_chatInput/user.ts';
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIApplicationCommandBasicOption =
|
||||
| APIApplicationCommandStringOption
|
||||
| APIApplicationCommandIntegerOption
|
||||
| APIApplicationCommandAttachmentOption
|
||||
| APIApplicationCommandBooleanOption
|
||||
| APIApplicationCommandUserOption
|
||||
| APIApplicationCommandChannelOption
|
||||
| APIApplicationCommandRoleOption
|
||||
| APIApplicationCommandIntegerOption
|
||||
| APIApplicationCommandMentionableOption
|
||||
| APIApplicationCommandNumberOption
|
||||
| APIApplicationCommandAttachmentOption;
|
||||
| APIApplicationCommandRoleOption
|
||||
| APIApplicationCommandStringOption
|
||||
| APIApplicationCommandUserOption;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-structure
|
||||
@@ -88,9 +88,9 @@ export type APIApplicationCommandBasicOption =
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIApplicationCommandOption =
|
||||
| APIApplicationCommandSubcommandOption
|
||||
| APIApplicationCommandBasicOption
|
||||
| APIApplicationCommandSubcommandGroupOption
|
||||
| APIApplicationCommandBasicOption;
|
||||
| APIApplicationCommandSubcommandOption;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-interaction-data-option-structure
|
||||
@@ -98,23 +98,23 @@ export type APIApplicationCommandOption =
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIApplicationCommandInteractionDataOption =
|
||||
| APIApplicationCommandInteractionDataSubcommandOption
|
||||
| APIApplicationCommandInteractionDataBasicOption
|
||||
| APIApplicationCommandInteractionDataSubcommandGroupOption
|
||||
| APIApplicationCommandInteractionDataBasicOption;
|
||||
| APIApplicationCommandInteractionDataSubcommandOption;
|
||||
|
||||
/**
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIApplicationCommandInteractionDataBasicOption =
|
||||
| APIApplicationCommandInteractionDataStringOption
|
||||
| APIApplicationCommandInteractionDataIntegerOption
|
||||
| APIApplicationCommandInteractionDataAttachmentOption
|
||||
| APIApplicationCommandInteractionDataBooleanOption
|
||||
| APIApplicationCommandInteractionDataUserOption
|
||||
| APIApplicationCommandInteractionDataChannelOption
|
||||
| APIApplicationCommandInteractionDataRoleOption
|
||||
| APIApplicationCommandInteractionDataIntegerOption
|
||||
| APIApplicationCommandInteractionDataMentionableOption
|
||||
| APIApplicationCommandInteractionDataNumberOption
|
||||
| APIApplicationCommandInteractionDataAttachmentOption;
|
||||
| APIApplicationCommandInteractionDataRoleOption
|
||||
| APIApplicationCommandInteractionDataStringOption
|
||||
| APIApplicationCommandInteractionDataUserOption;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data-structure
|
||||
|
||||
@@ -56,8 +56,8 @@ export interface APIMessageApplicationCommandInteractionDataResolved {
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIContextMenuInteractionData =
|
||||
| APIUserApplicationCommandInteractionData
|
||||
| APIMessageApplicationCommandInteractionData;
|
||||
| APIMessageApplicationCommandInteractionData
|
||||
| APIUserApplicationCommandInteractionData;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
@@ -111,7 +111,7 @@ export type APIMessageApplicationCommandGuildInteraction =
|
||||
*
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIContextMenuInteraction = APIUserApplicationCommandInteraction | APIMessageApplicationCommandInteraction;
|
||||
export type APIContextMenuInteraction = APIMessageApplicationCommandInteraction | APIUserApplicationCommandInteraction;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
@@ -119,8 +119,8 @@ export type APIContextMenuInteraction = APIUserApplicationCommandInteraction | A
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIContextMenuDMInteraction =
|
||||
| APIUserApplicationCommandDMInteraction
|
||||
| APIMessageApplicationCommandDMInteraction;
|
||||
| APIMessageApplicationCommandDMInteraction
|
||||
| APIUserApplicationCommandDMInteraction;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
@@ -128,5 +128,5 @@ export type APIContextMenuDMInteraction =
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIContextMenuGuildInteraction =
|
||||
| APIUserApplicationCommandGuildInteraction
|
||||
| APIMessageApplicationCommandGuildInteraction;
|
||||
| APIMessageApplicationCommandGuildInteraction
|
||||
| APIUserApplicationCommandGuildInteraction;
|
||||
|
||||
@@ -101,7 +101,7 @@ export interface APIInteractionDataResolvedChannel extends Required<APIPartialCh
|
||||
*
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export interface APIInteractionDataResolvedGuildMember extends Omit<APIGuildMember, 'user' | 'deaf' | 'mute'> {
|
||||
export interface APIInteractionDataResolvedGuildMember extends Omit<APIGuildMember, 'deaf' | 'mute' | 'user'> {
|
||||
permissions: Permissions;
|
||||
}
|
||||
|
||||
|
||||
@@ -10,15 +10,15 @@ import type { InteractionType } from './responses.ts';
|
||||
*/
|
||||
export type PartialAPIMessageInteractionGuildMember = Pick<
|
||||
APIGuildMember,
|
||||
| 'roles'
|
||||
| 'premium_since'
|
||||
| 'pending'
|
||||
| 'nick'
|
||||
| 'mute'
|
||||
| 'joined_at'
|
||||
| 'deaf'
|
||||
| 'communication_disabled_until'
|
||||
| 'avatar'
|
||||
| 'communication_disabled_until'
|
||||
| 'deaf'
|
||||
| 'joined_at'
|
||||
| 'mute'
|
||||
| 'nick'
|
||||
| 'pending'
|
||||
| 'premium_since'
|
||||
| 'roles'
|
||||
>;
|
||||
|
||||
/**
|
||||
@@ -128,7 +128,7 @@ export interface APIBaseInteraction<Type extends InteractionType, Data> {
|
||||
*/
|
||||
export type APIDMInteractionWrapper<Original extends APIBaseInteraction<InteractionType, unknown>> = Omit<
|
||||
Original,
|
||||
'member' | 'guild_id'
|
||||
'guild_id' | 'member'
|
||||
> &
|
||||
Required<Pick<Original, 'user'>>;
|
||||
|
||||
@@ -139,4 +139,4 @@ export type APIGuildInteractionWrapper<Original extends APIBaseInteraction<Inter
|
||||
Original,
|
||||
'user'
|
||||
> &
|
||||
Required<Pick<Original, 'member' | 'guild_id'>>;
|
||||
Required<Pick<Original, 'guild_id' | 'member'>>;
|
||||
|
||||
@@ -22,12 +22,12 @@ export enum InteractionType {
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIInteractionResponse =
|
||||
| APIInteractionResponsePong
|
||||
| APIApplicationCommandAutocompleteResponse
|
||||
| APIInteractionResponseChannelMessageWithSource
|
||||
| APIInteractionResponseDeferredChannelMessageWithSource
|
||||
| APIInteractionResponseDeferredMessageUpdate
|
||||
| APIInteractionResponsePong
|
||||
| APIInteractionResponseUpdateMessage
|
||||
| APIApplicationCommandAutocompleteResponse
|
||||
| APIModalInteractionResponse;
|
||||
|
||||
/**
|
||||
@@ -127,7 +127,7 @@ export enum InteractionResponseType {
|
||||
*/
|
||||
export type APIInteractionResponseCallbackData = Omit<
|
||||
RESTPostAPIWebhookWithTokenJSONBody,
|
||||
'username' | 'avatar_url'
|
||||
'avatar_url' | 'username'
|
||||
> & { flags?: MessageFlags };
|
||||
|
||||
/**
|
||||
|
||||
@@ -271,70 +271,70 @@ export enum AuditLogOptionsType {
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIAuditLogChange =
|
||||
| APIAuditLogChangeKeyName
|
||||
| APIAuditLogChangeKeyDescription
|
||||
| APIAuditLogChangeKeyIconHash
|
||||
| APIAuditLogChangeKeySplashHash
|
||||
| APIAuditLogChangeKeyDiscoverySplashHash
|
||||
| APIAuditLogChangeKeyBannerHash
|
||||
| APIAuditLogChangeKeyOwnerId
|
||||
| APIAuditLogChangeKeyRegion
|
||||
| APIAuditLogChangeKeyPreferredLocale
|
||||
| APIAuditLogChangeKeyAFKChannelId
|
||||
| APIAuditLogChangeKeyAFKTimeout
|
||||
| APIAuditLogChangeKeyRulesChannelId
|
||||
| APIAuditLogChangeKeyPublicUpdatesChannelId
|
||||
| APIAuditLogChangeKeyMFALevel
|
||||
| APIAuditLogChangeKeyVerificationLevel
|
||||
| APIAuditLogChangeKeyExplicitContentFilter
|
||||
| APIAuditLogChangeKeyDefaultMessageNotifications
|
||||
| APIAuditLogChangeKeyVanityURLCode
|
||||
| APIAuditLogChangeKey$Add
|
||||
| APIAuditLogChangeKey$Remove
|
||||
| APIAuditLogChangeKeyPruneDeleteDays
|
||||
| APIAuditLogChangeKeyWidgetEnabled
|
||||
| APIAuditLogChangeKeyWidgetChannelId
|
||||
| APIAuditLogChangeKeySystemChannelId
|
||||
| APIAuditLogChangeKeyPosition
|
||||
| APIAuditLogChangeKeyTopic
|
||||
| APIAuditLogChangeKeyBitrate
|
||||
| APIAuditLogChangeKeyPermissionOverwrites
|
||||
| APIAuditLogChangeKeyNSFW
|
||||
| APIAuditLogChangeKeyApplicationId
|
||||
| APIAuditLogChangeKeyRateLimitPerUser
|
||||
| APIAuditLogChangeKeyPermissions
|
||||
| APIAuditLogChangeKeyColor
|
||||
| APIAuditLogChangeKeyHoist
|
||||
| APIAuditLogChangeKeyMentionable
|
||||
| APIAuditLogChangeKeyAFKChannelId
|
||||
| APIAuditLogChangeKeyAFKTimeout
|
||||
| APIAuditLogChangeKeyAllow
|
||||
| APIAuditLogChangeKeyDeny
|
||||
| APIAuditLogChangeKeyCode
|
||||
| APIAuditLogChangeKeyChannelId
|
||||
| APIAuditLogChangeKeyInviterId
|
||||
| APIAuditLogChangeKeyMaxUses
|
||||
| APIAuditLogChangeKeyUses
|
||||
| APIAuditLogChangeKeyMaxAge
|
||||
| APIAuditLogChangeKeyTemporary
|
||||
| APIAuditLogChangeKeyDeaf
|
||||
| APIAuditLogChangeKeyMute
|
||||
| APIAuditLogChangeKeyNick
|
||||
| APIAuditLogChangeKeyAvatarHash
|
||||
| APIAuditLogChangeKeyId
|
||||
| APIAuditLogChangeKeyType
|
||||
| APIAuditLogChangeKeyEnableEmoticons
|
||||
| APIAuditLogChangeKeyExpireBehavior
|
||||
| APIAuditLogChangeKeyExpireGracePeriod
|
||||
| APIAuditLogChangeKeyUserLimit
|
||||
| APIAuditLogChangeKeyPrivacyLevel
|
||||
| APIAuditLogChangeKeyTags
|
||||
| APIAuditLogChangeKeyFormatType
|
||||
| APIAuditLogChangeKeyApplicationId
|
||||
| APIAuditLogChangeKeyAsset
|
||||
| APIAuditLogChangeKeyAvailable
|
||||
| APIAuditLogChangeKeyGuildId
|
||||
| APIAuditLogChangeKeyAvatarHash
|
||||
| APIAuditLogChangeKeyBannerHash
|
||||
| APIAuditLogChangeKeyBitrate
|
||||
| APIAuditLogChangeKeyChannelId
|
||||
| APIAuditLogChangeKeyCode
|
||||
| APIAuditLogChangeKeyColor
|
||||
| APIAuditLogChangeKeyCommunicationDisabledUntil
|
||||
| APIAuditLogChangeKeyDeaf
|
||||
| APIAuditLogChangeKeyDefaultMessageNotifications
|
||||
| APIAuditLogChangeKeyDeny
|
||||
| APIAuditLogChangeKeyDescription
|
||||
| APIAuditLogChangeKeyDiscoverySplashHash
|
||||
| APIAuditLogChangeKeyEnableEmoticons
|
||||
| APIAuditLogChangeKeyEntityType
|
||||
| APIAuditLogChangeKeyStatus
|
||||
| APIAuditLogChangeKeyExpireBehavior
|
||||
| APIAuditLogChangeKeyExpireGracePeriod
|
||||
| APIAuditLogChangeKeyExplicitContentFilter
|
||||
| APIAuditLogChangeKeyFormatType
|
||||
| APIAuditLogChangeKeyGuildId
|
||||
| APIAuditLogChangeKeyHoist
|
||||
| APIAuditLogChangeKeyIconHash
|
||||
| APIAuditLogChangeKeyId
|
||||
| APIAuditLogChangeKeyInviterId
|
||||
| APIAuditLogChangeKeyLocation
|
||||
| APIAuditLogChangeKeyCommunicationDisabledUntil;
|
||||
| APIAuditLogChangeKeyMaxAge
|
||||
| APIAuditLogChangeKeyMaxUses
|
||||
| APIAuditLogChangeKeyMentionable
|
||||
| APIAuditLogChangeKeyMFALevel
|
||||
| APIAuditLogChangeKeyMute
|
||||
| APIAuditLogChangeKeyName
|
||||
| APIAuditLogChangeKeyNick
|
||||
| APIAuditLogChangeKeyNSFW
|
||||
| APIAuditLogChangeKeyOwnerId
|
||||
| APIAuditLogChangeKeyPermissionOverwrites
|
||||
| APIAuditLogChangeKeyPermissions
|
||||
| APIAuditLogChangeKeyPosition
|
||||
| APIAuditLogChangeKeyPreferredLocale
|
||||
| APIAuditLogChangeKeyPrivacyLevel
|
||||
| APIAuditLogChangeKeyPruneDeleteDays
|
||||
| APIAuditLogChangeKeyPublicUpdatesChannelId
|
||||
| APIAuditLogChangeKeyRateLimitPerUser
|
||||
| APIAuditLogChangeKeyRegion
|
||||
| APIAuditLogChangeKeyRulesChannelId
|
||||
| APIAuditLogChangeKeySplashHash
|
||||
| APIAuditLogChangeKeyStatus
|
||||
| APIAuditLogChangeKeySystemChannelId
|
||||
| APIAuditLogChangeKeyTags
|
||||
| APIAuditLogChangeKeyTemporary
|
||||
| APIAuditLogChangeKeyTopic
|
||||
| APIAuditLogChangeKeyType
|
||||
| APIAuditLogChangeKeyUserLimit
|
||||
| APIAuditLogChangeKeyUses
|
||||
| APIAuditLogChangeKeyVanityURLCode
|
||||
| APIAuditLogChangeKeyVerificationLevel
|
||||
| APIAuditLogChangeKeyWidgetChannelId
|
||||
| APIAuditLogChangeKeyWidgetEnabled;
|
||||
|
||||
/**
|
||||
* Returned when an entity's name is changed
|
||||
|
||||
@@ -53,11 +53,11 @@ export type TextChannelType = ChannelType.DM | ChannelType.GroupDM | ChannelType
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type GuildChannelType = Exclude<
|
||||
| TextChannelType
|
||||
| ChannelType.GuildVoice
|
||||
| ChannelType.GuildStageVoice
|
||||
| ChannelType.GuildNews
|
||||
| ChannelType.GuildStore,
|
||||
| ChannelType.GuildStageVoice
|
||||
| ChannelType.GuildStore
|
||||
| ChannelType.GuildVoice
|
||||
| TextChannelType,
|
||||
ChannelType.DM | ChannelType.GroupDM
|
||||
>;
|
||||
|
||||
@@ -218,14 +218,14 @@ export interface APIGroupDMChannel extends APIDMChannelBase<ChannelType.GroupDM>
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIChannel =
|
||||
| APIGroupDMChannel
|
||||
| APIDMChannel
|
||||
| APITextChannel
|
||||
| APINewsChannel
|
||||
| APIGuildStoreChannel
|
||||
| APIVoiceChannel
|
||||
| APIGroupDMChannel
|
||||
| APIGuildCategoryChannel
|
||||
| APINewsChannel;
|
||||
| APIGuildStoreChannel
|
||||
| APINewsChannel
|
||||
| APINewsChannel
|
||||
| APITextChannel
|
||||
| APIVoiceChannel;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-types
|
||||
@@ -397,7 +397,7 @@ export interface APIMessage {
|
||||
* **You will not receive this from further fetches. This is received only once from a `MESSAGE_CREATE`
|
||||
* event to ensure it got sent**
|
||||
*/
|
||||
nonce?: string | number;
|
||||
nonce?: number | string;
|
||||
/**
|
||||
* Whether this message is pinned
|
||||
*/
|
||||
@@ -1170,7 +1170,7 @@ export interface APIMessageComponentEmoji {
|
||||
*/
|
||||
export interface APIButtonComponentWithCustomId
|
||||
extends APIButtonComponentBase<
|
||||
ButtonStyle.Primary | ButtonStyle.Secondary | ButtonStyle.Success | ButtonStyle.Danger
|
||||
ButtonStyle.Danger | ButtonStyle.Primary | ButtonStyle.Secondary | ButtonStyle.Success
|
||||
> {
|
||||
/**
|
||||
* The custom_id to be sent in the interaction when clicked
|
||||
@@ -1327,11 +1327,11 @@ export interface APITextInputComponent extends APIBaseComponent<ComponentType.Te
|
||||
*
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIMessageComponent = APIMessageActionRowComponent | APIActionRowComponent<APIMessageActionRowComponent>;
|
||||
export type APIMessageComponent = APIActionRowComponent<APIMessageActionRowComponent> | APIMessageActionRowComponent;
|
||||
/**
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIModalComponent = APIModalActionRowComponent | APIActionRowComponent<APIModalActionRowComponent>;
|
||||
export type APIModalComponent = APIActionRowComponent<APIModalActionRowComponent> | APIModalActionRowComponent;
|
||||
|
||||
/**
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
|
||||
@@ -219,7 +219,7 @@ export interface GatewayActivity {
|
||||
/**
|
||||
* The custom buttons shown in the Rich Presence (max 2)
|
||||
*/
|
||||
buttons?: string[] | GatewayActivityButton[];
|
||||
buttons?: GatewayActivityButton[] | string[];
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -284,7 +284,7 @@ export interface GatewayActivityTimestamps {
|
||||
*
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type GatewayActivityEmoji = Partial<Pick<APIEmoji, 'id' | 'animated'>> & Pick<APIEmoji, 'name'>;
|
||||
export type GatewayActivityEmoji = Partial<Pick<APIEmoji, 'animated' | 'id'>> & Pick<APIEmoji, 'name'>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway#activity-object-activity-party
|
||||
@@ -316,7 +316,7 @@ export type GatewayActivityAssets = Partial<
|
||||
*
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type GatewayActivitySecrets = Partial<Record<'join' | 'spectate' | 'match', string>>;
|
||||
export type GatewayActivitySecrets = Partial<Record<'join' | 'match' | 'spectate', string>>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway#activity-object-activity-flags
|
||||
|
||||
@@ -790,7 +790,7 @@ export interface APIGuildIntegration {
|
||||
/**
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIGuildInteractionType = 'twitch' | 'youtube' | 'discord';
|
||||
export type APIGuildInteractionType = 'discord' | 'twitch' | 'youtube';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#integration-object-integration-expire-behaviors
|
||||
|
||||
@@ -104,9 +104,9 @@ export interface APIExternalGuildScheduledEvent
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIGuildScheduledEvent =
|
||||
| APIExternalGuildScheduledEvent
|
||||
| APIStageInstanceGuildScheduledEvent
|
||||
| APIVoiceGuildScheduledEvent
|
||||
| APIExternalGuildScheduledEvent;
|
||||
| APIVoiceGuildScheduledEvent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-metadata
|
||||
|
||||
@@ -34,11 +34,11 @@ export * from './_interactions/responses.ts';
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIInteraction =
|
||||
| APIPingInteraction
|
||||
| APIApplicationCommandAutocompleteInteraction
|
||||
| APIApplicationCommandInteraction
|
||||
| APIMessageComponentInteraction
|
||||
| APIApplicationCommandAutocompleteInteraction
|
||||
| APIModalSubmitInteraction;
|
||||
| APIModalSubmitInteraction
|
||||
| APIPingInteraction;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
@@ -46,9 +46,9 @@ export type APIInteraction =
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIDMInteraction =
|
||||
| APIApplicationCommandAutocompleteDMInteraction
|
||||
| APIApplicationCommandDMInteraction
|
||||
| APIMessageComponentDMInteraction
|
||||
| APIApplicationCommandAutocompleteDMInteraction
|
||||
| APIModalSubmitDMInteraction;
|
||||
|
||||
/**
|
||||
@@ -57,7 +57,7 @@ export type APIDMInteraction =
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIGuildInteraction =
|
||||
| APIApplicationCommandAutocompleteGuildInteraction
|
||||
| APIApplicationCommandGuildInteraction
|
||||
| APIMessageComponentGuildInteraction
|
||||
| APIApplicationCommandAutocompleteGuildInteraction
|
||||
| APIModalSubmitGuildInteraction;
|
||||
|
||||
@@ -11,17 +11,17 @@ import type { APIUser } from './user.ts';
|
||||
|
||||
export type APIInviteGuild = Pick<
|
||||
APIGuild,
|
||||
| 'id'
|
||||
| 'name'
|
||||
| 'splash'
|
||||
| 'banner'
|
||||
| 'icon'
|
||||
| 'vanity_url_code'
|
||||
| 'description'
|
||||
| 'features'
|
||||
| 'verification_level'
|
||||
| 'icon'
|
||||
| 'id'
|
||||
| 'name'
|
||||
| 'nsfw_level'
|
||||
| 'premium_subscription_count'
|
||||
| 'splash'
|
||||
| 'vanity_url_code'
|
||||
| 'verification_level'
|
||||
>;
|
||||
|
||||
/**
|
||||
|
||||
@@ -99,7 +99,7 @@ export enum StickerFormatType {
|
||||
*
|
||||
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
|
||||
*/
|
||||
export type APIStickerItem = Pick<APISticker, 'id' | 'name' | 'format_type'>;
|
||||
export type APIStickerItem = Pick<APISticker, 'format_type' | 'id' | 'name'>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#sticker-pack-object
|
||||
|
||||
@@ -20,7 +20,7 @@ export enum ApplicationCommandOptionType {
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-choice-structure
|
||||
*/
|
||||
export interface APIApplicationCommandOptionChoice<ValueType = string | number> {
|
||||
export interface APIApplicationCommandOptionChoice<ValueType = number | string> {
|
||||
name: string;
|
||||
name_localizations?: LocalizationMap | null;
|
||||
value: ValueType;
|
||||
|
||||
@@ -65,42 +65,42 @@ export * from './_chatInput/user.ts';
|
||||
* https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-structure
|
||||
*/
|
||||
export type APIApplicationCommandBasicOption =
|
||||
| APIApplicationCommandStringOption
|
||||
| APIApplicationCommandIntegerOption
|
||||
| APIApplicationCommandAttachmentOption
|
||||
| APIApplicationCommandBooleanOption
|
||||
| APIApplicationCommandUserOption
|
||||
| APIApplicationCommandChannelOption
|
||||
| APIApplicationCommandRoleOption
|
||||
| APIApplicationCommandIntegerOption
|
||||
| APIApplicationCommandMentionableOption
|
||||
| APIApplicationCommandNumberOption
|
||||
| APIApplicationCommandAttachmentOption;
|
||||
| APIApplicationCommandRoleOption
|
||||
| APIApplicationCommandStringOption
|
||||
| APIApplicationCommandUserOption;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-structure
|
||||
*/
|
||||
export type APIApplicationCommandOption =
|
||||
| APIApplicationCommandSubcommandOption
|
||||
| APIApplicationCommandBasicOption
|
||||
| APIApplicationCommandSubcommandGroupOption
|
||||
| APIApplicationCommandBasicOption;
|
||||
| APIApplicationCommandSubcommandOption;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-interaction-data-option-structure
|
||||
*/
|
||||
export type APIApplicationCommandInteractionDataOption =
|
||||
| APIApplicationCommandInteractionDataSubcommandOption
|
||||
| APIApplicationCommandInteractionDataBasicOption
|
||||
| APIApplicationCommandInteractionDataSubcommandGroupOption
|
||||
| APIApplicationCommandInteractionDataBasicOption;
|
||||
| APIApplicationCommandInteractionDataSubcommandOption;
|
||||
|
||||
export type APIApplicationCommandInteractionDataBasicOption =
|
||||
| APIApplicationCommandInteractionDataStringOption
|
||||
| APIApplicationCommandInteractionDataIntegerOption
|
||||
| APIApplicationCommandInteractionDataAttachmentOption
|
||||
| APIApplicationCommandInteractionDataBooleanOption
|
||||
| APIApplicationCommandInteractionDataUserOption
|
||||
| APIApplicationCommandInteractionDataChannelOption
|
||||
| APIApplicationCommandInteractionDataRoleOption
|
||||
| APIApplicationCommandInteractionDataIntegerOption
|
||||
| APIApplicationCommandInteractionDataMentionableOption
|
||||
| APIApplicationCommandInteractionDataNumberOption
|
||||
| APIApplicationCommandInteractionDataAttachmentOption;
|
||||
| APIApplicationCommandInteractionDataRoleOption
|
||||
| APIApplicationCommandInteractionDataStringOption
|
||||
| APIApplicationCommandInteractionDataUserOption;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data
|
||||
|
||||
@@ -33,8 +33,8 @@ export interface APIMessageApplicationCommandInteractionDataResolved {
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-data
|
||||
*/
|
||||
export type APIContextMenuInteractionData =
|
||||
| APIUserApplicationCommandInteractionData
|
||||
| APIMessageApplicationCommandInteractionData;
|
||||
| APIMessageApplicationCommandInteractionData
|
||||
| APIUserApplicationCommandInteractionData;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
@@ -74,18 +74,18 @@ export type APIMessageApplicationCommandGuildInteraction =
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
*/
|
||||
export type APIContextMenuInteraction = APIUserApplicationCommandInteraction | APIMessageApplicationCommandInteraction;
|
||||
export type APIContextMenuInteraction = APIMessageApplicationCommandInteraction | APIUserApplicationCommandInteraction;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
*/
|
||||
export type APIContextMenuDMInteraction =
|
||||
| APIUserApplicationCommandDMInteraction
|
||||
| APIMessageApplicationCommandDMInteraction;
|
||||
| APIMessageApplicationCommandDMInteraction
|
||||
| APIUserApplicationCommandDMInteraction;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
*/
|
||||
export type APIContextMenuGuildInteraction =
|
||||
| APIUserApplicationCommandGuildInteraction
|
||||
| APIMessageApplicationCommandGuildInteraction;
|
||||
| APIMessageApplicationCommandGuildInteraction
|
||||
| APIUserApplicationCommandGuildInteraction;
|
||||
|
||||
@@ -54,6 +54,6 @@ export enum ApplicationCommandPermissionType {
|
||||
*/
|
||||
export const APIApplicationCommandPermissionsConstant = {
|
||||
// eslint-disable-next-line unicorn/prefer-native-coercion-functions
|
||||
Everyone: (guildId: string | bigint): Snowflake => String(guildId),
|
||||
AllChannels: (guildId: string | bigint): Snowflake => String(BigInt(guildId) - 1n),
|
||||
Everyone: (guildId: bigint | string): Snowflake => String(guildId),
|
||||
AllChannels: (guildId: bigint | string): Snowflake => String(BigInt(guildId) - 1n),
|
||||
};
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
@@ -118,7 +164,7 @@ export type APIApplicationCommandInteractionWrapper<Data extends APIApplicationC
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.ApplicationCommand, Data>,
|
||||
'channel' | 'channel_id' | 'data' | 'app_permissions'
|
||||
'app_permissions' | 'channel_id' | 'channel' | 'data'
|
||||
>
|
||||
>;
|
||||
|
||||
|
||||
@@ -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,17 +14,51 @@ 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,
|
||||
| 'roles'
|
||||
| 'premium_since'
|
||||
| 'pending'
|
||||
| 'nick'
|
||||
| 'mute'
|
||||
| 'joined_at'
|
||||
| 'deaf'
|
||||
| 'communication_disabled_until'
|
||||
| 'avatar'
|
||||
| 'communication_disabled_until'
|
||||
| 'deaf'
|
||||
| 'joined_at'
|
||||
| 'mute'
|
||||
| 'nick'
|
||||
| 'pending'
|
||||
| 'premium_since'
|
||||
| 'roles'
|
||||
>;
|
||||
|
||||
/**
|
||||
@@ -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,11 +169,23 @@ 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,
|
||||
'member' | 'guild_id'
|
||||
'guild_id' | 'member'
|
||||
> &
|
||||
Required<Pick<Original, 'user'>>;
|
||||
|
||||
@@ -147,7 +193,7 @@ export type APIGuildInteractionWrapper<Original extends APIBaseInteraction<Inter
|
||||
Original,
|
||||
'user'
|
||||
> &
|
||||
Required<Pick<Original, 'member' | 'guild_id'>>;
|
||||
Required<Pick<Original, 'guild_id' | 'member'>>;
|
||||
|
||||
export interface APIInteractionDataResolvedChannelBase<T extends ChannelType> extends Required<APIPartialChannel> {
|
||||
type: T;
|
||||
@@ -160,12 +206,12 @@ export interface APIInteractionDataResolvedChannelBase<T extends ChannelType> ex
|
||||
export type APIInteractionDataResolvedChannel =
|
||||
| APIInteractionDataResolvedChannelBase<Exclude<ChannelType, ThreadChannelType>>
|
||||
| (APIInteractionDataResolvedChannelBase<ThreadChannelType> &
|
||||
Pick<APIThreadChannel, 'thread_metadata' | 'parent_id'>);
|
||||
Pick<APIThreadChannel, 'parent_id' | 'thread_metadata'>);
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#guild-member-object
|
||||
*/
|
||||
export interface APIInteractionDataResolvedGuildMember extends Omit<APIGuildMember, 'user' | 'deaf' | 'mute'> {
|
||||
export interface APIInteractionDataResolvedGuildMember extends Omit<APIGuildMember, 'deaf' | 'mute' | 'user'> {
|
||||
permissions: Permissions;
|
||||
}
|
||||
|
||||
@@ -188,8 +234,8 @@ export type APIChatInputApplicationCommandInteractionDataResolved = APIInteracti
|
||||
/**
|
||||
* `users` and optional `members` from APIInteractionDataResolved, for user commands and user selects
|
||||
*/
|
||||
export type APIUserInteractionDataResolved = Required<Pick<APIInteractionDataResolved, 'users'>> &
|
||||
Pick<APIInteractionDataResolved, 'members'>;
|
||||
export type APIUserInteractionDataResolved = Pick<APIInteractionDataResolved, 'members'> &
|
||||
Required<Pick<APIInteractionDataResolved, 'users'>>;
|
||||
|
||||
/**
|
||||
* @deprecated Renamed to `APIUserInteractionDataResolved`
|
||||
|
||||
@@ -15,7 +15,7 @@ export type APIMessageComponentInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageComponentInteractionData>,
|
||||
'channel' | 'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
'app_permissions' | 'channel_id' | 'channel' | 'data' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
@@ -26,7 +26,7 @@ export type APIMessageComponentButtonInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageButtonInteractionData>,
|
||||
'channel' | 'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
'app_permissions' | 'channel_id' | 'channel' | 'data' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
@@ -37,7 +37,7 @@ export type APIMessageComponentSelectMenuInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageSelectMenuInteractionData>,
|
||||
'channel' | 'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
'app_permissions' | 'channel_id' | 'channel' | 'data' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
@@ -76,7 +76,7 @@ export interface APIMessageRoleSelectInteractionData
|
||||
export interface APIMessageMentionableSelectInteractionData
|
||||
extends APIMessageComponentBaseInteractionData<ComponentType.MentionableSelect> {
|
||||
values: Snowflake[];
|
||||
resolved: Pick<APIInteractionDataResolved, 'users' | 'members' | 'roles'>;
|
||||
resolved: Pick<APIInteractionDataResolved, 'members' | 'roles' | 'users'>;
|
||||
}
|
||||
|
||||
export interface APIMessageChannelSelectInteractionData
|
||||
@@ -86,11 +86,11 @@ export interface APIMessageChannelSelectInteractionData
|
||||
}
|
||||
|
||||
export type APIMessageSelectMenuInteractionData =
|
||||
| APIMessageStringSelectInteractionData
|
||||
| APIMessageUserSelectInteractionData
|
||||
| APIMessageRoleSelectInteractionData
|
||||
| APIMessageChannelSelectInteractionData
|
||||
| APIMessageMentionableSelectInteractionData
|
||||
| APIMessageChannelSelectInteractionData;
|
||||
| APIMessageRoleSelectInteractionData
|
||||
| APIMessageStringSelectInteractionData
|
||||
| APIMessageUserSelectInteractionData;
|
||||
|
||||
export type APIMessageComponentDMInteraction = APIDMInteractionWrapper<APIMessageComponentInteraction>;
|
||||
|
||||
|
||||
@@ -18,12 +18,12 @@ export enum InteractionType {
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-response-object
|
||||
*/
|
||||
export type APIInteractionResponse =
|
||||
| APIInteractionResponsePong
|
||||
| APIApplicationCommandAutocompleteResponse
|
||||
| APIInteractionResponseChannelMessageWithSource
|
||||
| APIInteractionResponseDeferredChannelMessageWithSource
|
||||
| APIInteractionResponseDeferredMessageUpdate
|
||||
| APIInteractionResponsePong
|
||||
| APIInteractionResponseUpdateMessage
|
||||
| APIApplicationCommandAutocompleteResponse
|
||||
| APIModalInteractionResponse
|
||||
| APIPremiumRequiredInteractionResponse;
|
||||
|
||||
@@ -107,7 +107,7 @@ export enum InteractionResponseType {
|
||||
*/
|
||||
export type APIInteractionResponseCallbackData = Omit<
|
||||
RESTPostAPIWebhookWithTokenJSONBody,
|
||||
'username' | 'avatar_url'
|
||||
'avatar_url' | 'username'
|
||||
> & { flags?: MessageFlags };
|
||||
|
||||
export interface APICommandAutocompleteInteractionResponseCallbackData {
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -10,13 +10,14 @@ 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,
|
||||
GuildDefaultMessageNotifications,
|
||||
GuildExplicitContentFilter,
|
||||
GuildMFALevel,
|
||||
GuildSystemChannelFlags,
|
||||
GuildVerificationLevel,
|
||||
IntegrationExpireBehavior,
|
||||
} from './guild.ts';
|
||||
@@ -204,6 +205,12 @@ export enum AuditLogEvent {
|
||||
|
||||
CreatorMonetizationRequestCreated = 150,
|
||||
CreatorMonetizationTermsAccepted,
|
||||
|
||||
OnboardingPromptCreate = 163,
|
||||
OnboardingPromptUpdate,
|
||||
OnboardingPromptDelete,
|
||||
OnboardingCreate,
|
||||
OnboardingUpdate,
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -335,82 +342,87 @@ export type AuditLogRuleTriggerType = `${AutoModerationRuleTriggerType}`;
|
||||
* https://discord.com/developers/docs/resources/audit-log#audit-log-change-object-audit-log-change-structure
|
||||
*/
|
||||
export type APIAuditLogChange =
|
||||
| APIAuditLogChangeKeyName
|
||||
| APIAuditLogChangeKeyDescription
|
||||
| APIAuditLogChangeKeyIconHash
|
||||
| APIAuditLogChangeKeyImageHash
|
||||
| APIAuditLogChangeKeySplashHash
|
||||
| APIAuditLogChangeKeyDiscoverySplashHash
|
||||
| APIAuditLogChangeKeyBannerHash
|
||||
| APIAuditLogChangeKeyOwnerId
|
||||
| APIAuditLogChangeKeyRegion
|
||||
| APIAuditLogChangeKeyPreferredLocale
|
||||
| APIAuditLogChangeKeyAFKChannelId
|
||||
| APIAuditLogChangeKeyAFKTimeout
|
||||
| APIAuditLogChangeKeyRulesChannelId
|
||||
| APIAuditLogChangeKeyPublicUpdatesChannelId
|
||||
| APIAuditLogChangeKeyMFALevel
|
||||
| APIAuditLogChangeKeyVerificationLevel
|
||||
| APIAuditLogChangeKeyExplicitContentFilter
|
||||
| APIAuditLogChangeKeyDefaultMessageNotifications
|
||||
| APIAuditLogChangeKeyVanityURLCode
|
||||
| APIAuditLogChangeKey$Add
|
||||
| APIAuditLogChangeKey$Remove
|
||||
| APIAuditLogChangeKeyPruneDeleteDays
|
||||
| APIAuditLogChangeKeyWidgetEnabled
|
||||
| APIAuditLogChangeKeyWidgetChannelId
|
||||
| APIAuditLogChangeKeySystemChannelId
|
||||
| APIAuditLogChangeKeyPosition
|
||||
| APIAuditLogChangeKeyTopic
|
||||
| APIAuditLogChangeKeyBitrate
|
||||
| APIAuditLogChangeKeyPermissionOverwrites
|
||||
| APIAuditLogChangeKeyNSFW
|
||||
| APIAuditLogChangeKeyApplicationId
|
||||
| APIAuditLogChangeKeyRateLimitPerUser
|
||||
| APIAuditLogChangeKeyPermissions
|
||||
| APIAuditLogChangeKeyColor
|
||||
| APIAuditLogChangeKeyHoist
|
||||
| APIAuditLogChangeKeyMentionable
|
||||
| APIAuditLogChangeKeyActions
|
||||
| APIAuditLogChangeKeyAFKChannelId
|
||||
| APIAuditLogChangeKeyAFKTimeout
|
||||
| APIAuditLogChangeKeyAllow
|
||||
| APIAuditLogChangeKeyDeny
|
||||
| APIAuditLogChangeKeyCode
|
||||
| APIAuditLogChangeKeyChannelId
|
||||
| APIAuditLogChangeKeyInviterId
|
||||
| APIAuditLogChangeKeyMaxUses
|
||||
| APIAuditLogChangeKeyUses
|
||||
| APIAuditLogChangeKeyMaxAge
|
||||
| APIAuditLogChangeKeyTemporary
|
||||
| APIAuditLogChangeKeyDeaf
|
||||
| APIAuditLogChangeKeyMute
|
||||
| APIAuditLogChangeKeyNick
|
||||
| APIAuditLogChangeKeyApplicationId
|
||||
| APIAuditLogChangeKeyArchived
|
||||
| APIAuditLogChangeKeyAsset
|
||||
| APIAuditLogChangeKeyAutoArchiveDuration
|
||||
| APIAuditLogChangeKeyAvailable
|
||||
| APIAuditLogChangeKeyAvailableTags
|
||||
| APIAuditLogChangeKeyAvatarHash
|
||||
| APIAuditLogChangeKeyId
|
||||
| APIAuditLogChangeKeyType
|
||||
| APIAuditLogChangeKeyBannerHash
|
||||
| APIAuditLogChangeKeyBitrate
|
||||
| APIAuditLogChangeKeyChannelId
|
||||
| APIAuditLogChangeKeyCode
|
||||
| APIAuditLogChangeKeyColor
|
||||
| APIAuditLogChangeKeyCommunicationDisabledUntil
|
||||
| APIAuditLogChangeKeyDeaf
|
||||
| APIAuditLogChangeKeyDefaultAutoArchiveDuration
|
||||
| APIAuditLogChangeKeyDefaultMessageNotifications
|
||||
| APIAuditLogChangeKeyDefaultReactionEmoji
|
||||
| APIAuditLogChangeKeyDefaultThreadRateLimitPerUser
|
||||
| APIAuditLogChangeKeyDeny
|
||||
| APIAuditLogChangeKeyDescription
|
||||
| APIAuditLogChangeKeyDiscoverySplashHash
|
||||
| APIAuditLogChangeKeyEnabled
|
||||
| APIAuditLogChangeKeyEnableEmoticons
|
||||
| APIAuditLogChangeKeyEntityType
|
||||
| APIAuditLogChangeKeyEventType
|
||||
| APIAuditLogChangeKeyExemptChannels
|
||||
| APIAuditLogChangeKeyExemptRoles
|
||||
| APIAuditLogChangeKeyExpireBehavior
|
||||
| APIAuditLogChangeKeyExpireGracePeriod
|
||||
| APIAuditLogChangeKeyUserLimit
|
||||
| APIAuditLogChangeKeyPrivacyLevel
|
||||
| APIAuditLogChangeKeyTags
|
||||
| APIAuditLogChangeKeyExplicitContentFilter
|
||||
| APIAuditLogChangeKeyFlags
|
||||
| APIAuditLogChangeKeyFormatType
|
||||
| APIAuditLogChangeKeyAsset
|
||||
| APIAuditLogChangeKeyAvailable
|
||||
| APIAuditLogChangeKeyGuildId
|
||||
| APIAuditLogChangeKeyArchived
|
||||
| APIAuditLogChangeKeyLocked
|
||||
| APIAuditLogChangeKeyAutoArchiveDuration
|
||||
| APIAuditLogChangeKeyDefaultAutoArchiveDuration
|
||||
| APIAuditLogChangeKeyEntityType
|
||||
| APIAuditLogChangeKeyStatus
|
||||
| APIAuditLogChangeKeyHoist
|
||||
| APIAuditLogChangeKeyIconHash
|
||||
| APIAuditLogChangeKeyId
|
||||
| APIAuditLogChangeKeyImageHash
|
||||
| APIAuditLogChangeKeyInviterId
|
||||
| APIAuditLogChangeKeyLocation
|
||||
| APIAuditLogChangeKeyCommunicationDisabledUntil
|
||||
| APIAuditLogChangeKeyTriggerType
|
||||
| APIAuditLogChangeKeyEventType
|
||||
| APIAuditLogChangeKeyLocked
|
||||
| APIAuditLogChangeKeyMaxAge
|
||||
| APIAuditLogChangeKeyMaxUses
|
||||
| APIAuditLogChangeKeyMentionable
|
||||
| APIAuditLogChangeKeyMFALevel
|
||||
| APIAuditLogChangeKeyMute
|
||||
| APIAuditLogChangeKeyName
|
||||
| APIAuditLogChangeKeyNick
|
||||
| APIAuditLogChangeKeyNSFW
|
||||
| APIAuditLogChangeKeyOwnerId
|
||||
| APIAuditLogChangeKeyPermissionOverwrites
|
||||
| APIAuditLogChangeKeyPermissions
|
||||
| APIAuditLogChangeKeyPosition
|
||||
| APIAuditLogChangeKeyPreferredLocale
|
||||
| APIAuditLogChangeKeyPrivacyLevel
|
||||
| APIAuditLogChangeKeyPruneDeleteDays
|
||||
| APIAuditLogChangeKeyPublicUpdatesChannelId
|
||||
| APIAuditLogChangeKeyRateLimitPerUser
|
||||
| APIAuditLogChangeKeyRegion
|
||||
| APIAuditLogChangeKeyRulesChannelId
|
||||
| APIAuditLogChangeKeySplashHash
|
||||
| APIAuditLogChangeKeyStatus
|
||||
| APIAuditLogChangeKeySystemChannelFlags
|
||||
| APIAuditLogChangeKeySystemChannelId
|
||||
| APIAuditLogChangeKeyTags
|
||||
| APIAuditLogChangeKeyTemporary
|
||||
| APIAuditLogChangeKeyTopic
|
||||
| APIAuditLogChangeKeyTriggerMetadata
|
||||
| APIAuditLogChangeKeyActions
|
||||
| APIAuditLogChangeKeyEnabled
|
||||
| APIAuditLogChangeKeyExemptRoles
|
||||
| APIAuditLogChangeKeyExemptChannels;
|
||||
| APIAuditLogChangeKeyTriggerType
|
||||
| APIAuditLogChangeKeyType
|
||||
| APIAuditLogChangeKeyUserLimit
|
||||
| APIAuditLogChangeKeyUses
|
||||
| APIAuditLogChangeKeyVanityURLCode
|
||||
| APIAuditLogChangeKeyVerificationLevel
|
||||
| APIAuditLogChangeKeyWidgetChannelId
|
||||
| APIAuditLogChangeKeyWidgetEnabled;
|
||||
|
||||
/**
|
||||
* Returned when an entity's name is changed
|
||||
@@ -521,12 +533,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
|
||||
@@ -543,6 +555,14 @@ export type APIAuditLogChangeKeyWidgetEnabled = AuditLogChangeData<'widget_enabl
|
||||
*/
|
||||
export type APIAuditLogChangeKeyWidgetChannelId = AuditLogChangeData<'widget_channel_id', Snowflake>;
|
||||
|
||||
/**
|
||||
* Returned when a guild's system_channel_flags is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeySystemChannelFlags = AuditLogChangeData<
|
||||
'system_channel_flags',
|
||||
GuildSystemChannelFlags
|
||||
>;
|
||||
|
||||
/**
|
||||
* Returned when a guild's system_channel_id is changed
|
||||
*/
|
||||
@@ -816,6 +836,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;
|
||||
/**
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -6,8 +6,9 @@ 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';
|
||||
import type { APIUser } from './user.ts';
|
||||
|
||||
@@ -41,15 +42,15 @@ export interface APIChannelBase<T extends ChannelType> extends APIPartialChannel
|
||||
}
|
||||
|
||||
export type TextChannelType =
|
||||
| ChannelType.AnnouncementThread
|
||||
| ChannelType.DM
|
||||
| ChannelType.GroupDM
|
||||
| ChannelType.GuildAnnouncement
|
||||
| ChannelType.PublicThread
|
||||
| ChannelType.PrivateThread
|
||||
| ChannelType.AnnouncementThread
|
||||
| ChannelType.GuildStageVoice
|
||||
| ChannelType.GuildText
|
||||
| ChannelType.GuildVoice
|
||||
| ChannelType.GuildStageVoice;
|
||||
| ChannelType.PrivateThread
|
||||
| ChannelType.PublicThread;
|
||||
|
||||
export type GuildChannelType = Exclude<ChannelType, ChannelType.DM | ChannelType.GroupDM>;
|
||||
|
||||
@@ -110,7 +111,7 @@ export interface APIGuildChannel<T extends ChannelType> extends Omit<APIChannelB
|
||||
|
||||
export type GuildTextChannelType = Exclude<TextChannelType, ChannelType.DM | ChannelType.GroupDM>;
|
||||
|
||||
export interface APIGuildTextChannel<T extends GuildTextChannelType | ChannelType.GuildForum | ChannelType.GuildMedia>
|
||||
export interface APIGuildTextChannel<T extends ChannelType.GuildForum | ChannelType.GuildMedia | GuildTextChannelType>
|
||||
extends Omit<APITextBasedChannel<T>, 'name'>,
|
||||
APIGuildChannel<T> {
|
||||
/**
|
||||
@@ -134,7 +135,7 @@ export type APIGuildCategoryChannel = APIGuildChannel<ChannelType.GuildCategory>
|
||||
|
||||
export interface APIVoiceChannelBase<T extends ChannelType>
|
||||
extends APIGuildChannel<T>,
|
||||
Omit<APITextBasedChannel<T>, 'name' | 'last_pin_timestamp'> {
|
||||
Omit<APITextBasedChannel<T>, 'last_pin_timestamp' | 'name'> {
|
||||
/**
|
||||
* The bitrate (in bits) of the voice or stage channel
|
||||
*/
|
||||
@@ -200,7 +201,7 @@ export interface APIGroupDMChannel extends Omit<APIDMChannelBase<ChannelType.Gro
|
||||
managed?: boolean;
|
||||
}
|
||||
|
||||
export type ThreadChannelType = ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread;
|
||||
export type ThreadChannelType = ChannelType.AnnouncementThread | ChannelType.PrivateThread | ChannelType.PublicThread;
|
||||
|
||||
export interface APIThreadChannel
|
||||
extends Omit<APITextBasedChannel<ThreadChannelType>, 'name'>,
|
||||
@@ -369,16 +370,16 @@ export type APIGuildMediaChannel = APIThreadOnlyChannel<ChannelType.GuildMedia>;
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-structure
|
||||
*/
|
||||
export type APIChannel =
|
||||
| APIGroupDMChannel
|
||||
| APIDMChannel
|
||||
| APITextChannel
|
||||
| APINewsChannel
|
||||
| APIGuildVoiceChannel
|
||||
| APIGuildStageVoiceChannel
|
||||
| APIGroupDMChannel
|
||||
| APIGuildCategoryChannel
|
||||
| APIThreadChannel
|
||||
| APIGuildForumChannel
|
||||
| APIGuildMediaChannel;
|
||||
| APIGuildMediaChannel
|
||||
| APIGuildStageVoiceChannel
|
||||
| APIGuildVoiceChannel
|
||||
| APINewsChannel
|
||||
| APITextChannel
|
||||
| APIThreadChannel;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#channel-object-channel-types
|
||||
@@ -599,7 +600,7 @@ export interface APIMessage {
|
||||
* **You will not receive this from further fetches. This is received only once from a `MESSAGE_CREATE`
|
||||
* event to ensure it got sent**
|
||||
*/
|
||||
nonce?: string | number;
|
||||
nonce?: number | string;
|
||||
/**
|
||||
* Whether this message is pinned
|
||||
*/
|
||||
@@ -658,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
|
||||
*/
|
||||
@@ -702,6 +709,21 @@ export interface APIMessage {
|
||||
* See https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-resolved-data-structure
|
||||
*/
|
||||
resolved?: APIInteractionDataResolved;
|
||||
/**
|
||||
* A poll!
|
||||
*
|
||||
* The `MESSAGE_CONTENT` privileged gateway intent is required for verified applications to receive a non-empty value from this field
|
||||
*
|
||||
* In the Discord Developers Portal, you need to enable the toggle of this intent of your application in **Bot > Privileged Gateway Intents**.
|
||||
* You also need to specify the intent bit value (`1 << 15`) if you are connecting to the gateway
|
||||
*
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
poll?: APIPoll;
|
||||
/**
|
||||
* The call associated with the message
|
||||
*/
|
||||
call?: APIMessageCall;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -846,6 +868,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
|
||||
*/
|
||||
@@ -865,19 +901,45 @@ export interface APIFollowedChannel {
|
||||
*/
|
||||
export interface APIReaction {
|
||||
/**
|
||||
* Times this emoji has been used to react
|
||||
* Total number of times this emoji has been used to react (including super reacts)
|
||||
*/
|
||||
count: number;
|
||||
/**
|
||||
* An object detailing the individual reaction counts for different types of reactions
|
||||
*/
|
||||
count_details: APIReactionCountDetails;
|
||||
/**
|
||||
* Whether the current user reacted using this emoji
|
||||
*/
|
||||
me: boolean;
|
||||
/**
|
||||
* Whether the current user super-reacted using this emoji
|
||||
*/
|
||||
me_burst: boolean;
|
||||
/**
|
||||
* Emoji information
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/emoji#emoji-object
|
||||
*/
|
||||
emoji: APIPartialEmoji;
|
||||
/**
|
||||
* Hexadecimal colors used for this super reaction
|
||||
*/
|
||||
burst_colors: string[];
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#reaction-count-details-object-reaction-count-details-structure
|
||||
*/
|
||||
export interface APIReactionCountDetails {
|
||||
/**
|
||||
* Count of super reactions
|
||||
*/
|
||||
burst: number;
|
||||
/**
|
||||
* Count of normal reactions
|
||||
*/
|
||||
normal: number;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1537,7 +1599,7 @@ export interface APIMessageComponentEmoji {
|
||||
|
||||
export interface APIButtonComponentWithCustomId
|
||||
extends APIButtonComponentBase<
|
||||
ButtonStyle.Primary | ButtonStyle.Secondary | ButtonStyle.Success | ButtonStyle.Danger
|
||||
ButtonStyle.Danger | ButtonStyle.Primary | ButtonStyle.Secondary | ButtonStyle.Success
|
||||
> {
|
||||
/**
|
||||
* The custom_id to be sent in the interaction when clicked
|
||||
@@ -1578,11 +1640,11 @@ export enum TextInputStyle {
|
||||
*/
|
||||
export interface APIBaseSelectMenuComponent<
|
||||
T extends
|
||||
| ComponentType.StringSelect
|
||||
| ComponentType.UserSelect
|
||||
| ComponentType.RoleSelect
|
||||
| ComponentType.ChannelSelect
|
||||
| ComponentType.MentionableSelect
|
||||
| ComponentType.ChannelSelect,
|
||||
| ComponentType.RoleSelect
|
||||
| ComponentType.StringSelect
|
||||
| ComponentType.UserSelect,
|
||||
> extends APIBaseComponent<T> {
|
||||
/**
|
||||
* A developer-defined identifier for the select menu, max 100 characters
|
||||
@@ -1614,10 +1676,10 @@ export interface APIBaseSelectMenuComponent<
|
||||
|
||||
export interface APIBaseAutoPopulatedSelectMenuComponent<
|
||||
T extends
|
||||
| ComponentType.UserSelect
|
||||
| ComponentType.RoleSelect
|
||||
| ComponentType.ChannelSelect
|
||||
| ComponentType.MentionableSelect
|
||||
| ComponentType.ChannelSelect,
|
||||
| ComponentType.RoleSelect
|
||||
| ComponentType.UserSelect,
|
||||
D extends SelectMenuDefaultValueType,
|
||||
> extends APIBaseSelectMenuComponent<T> {
|
||||
/**
|
||||
@@ -1657,7 +1719,7 @@ export type APIRoleSelectComponent = APIBaseAutoPopulatedSelectMenuComponent<
|
||||
*/
|
||||
export type APIMentionableSelectComponent = APIBaseAutoPopulatedSelectMenuComponent<
|
||||
ComponentType.MentionableSelect,
|
||||
SelectMenuDefaultValueType.User | SelectMenuDefaultValueType.Role
|
||||
SelectMenuDefaultValueType.Role | SelectMenuDefaultValueType.User
|
||||
>;
|
||||
|
||||
/**
|
||||
@@ -1698,18 +1760,18 @@ export type APIAutoPopulatedSelectMenuComponent =
|
||||
* https://discord.com/developers/docs/interactions/message-components#select-menus
|
||||
*/
|
||||
export type APISelectMenuComponent =
|
||||
| APIStringSelectComponent
|
||||
| APIUserSelectComponent
|
||||
| APIRoleSelectComponent
|
||||
| APIChannelSelectComponent
|
||||
| APIMentionableSelectComponent
|
||||
| APIChannelSelectComponent;
|
||||
| APIRoleSelectComponent
|
||||
| APIStringSelectComponent
|
||||
| APIUserSelectComponent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/message-components#select-menu-object-select-option-structure
|
||||
*/
|
||||
export interface APISelectMenuOption {
|
||||
/**
|
||||
* The user-facing name of the option (max 25 chars)
|
||||
* The user-facing name of the option (max 100 chars)
|
||||
*/
|
||||
label: string;
|
||||
/**
|
||||
@@ -1717,7 +1779,7 @@ export interface APISelectMenuOption {
|
||||
*/
|
||||
value: string;
|
||||
/**
|
||||
* An additional description of the option (max 50 chars)
|
||||
* An additional description of the option (max 100 chars)
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
@@ -1814,8 +1876,8 @@ export enum ChannelFlags {
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/message-components#message-components
|
||||
*/
|
||||
export type APIMessageComponent = APIMessageActionRowComponent | APIActionRowComponent<APIMessageActionRowComponent>;
|
||||
export type APIModalComponent = APIModalActionRowComponent | APIActionRowComponent<APIModalActionRowComponent>;
|
||||
export type APIMessageComponent = APIActionRowComponent<APIMessageActionRowComponent> | APIMessageActionRowComponent;
|
||||
export type APIModalComponent = APIActionRowComponent<APIModalActionRowComponent> | APIModalActionRowComponent;
|
||||
|
||||
export type APIActionRowComponentTypes = APIMessageActionRowComponent | APIModalActionRowComponent;
|
||||
|
||||
|
||||
@@ -215,7 +215,7 @@ export interface GatewayActivity {
|
||||
/**
|
||||
* The custom buttons shown in the Rich Presence (max 2)
|
||||
*/
|
||||
buttons?: string[] | GatewayActivityButton[];
|
||||
buttons?: GatewayActivityButton[] | string[];
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -280,7 +280,7 @@ export interface GatewayActivityTimestamps {
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-emoji
|
||||
*/
|
||||
export type GatewayActivityEmoji = Partial<Pick<APIEmoji, 'id' | 'animated'>> & Pick<APIEmoji, 'name'>;
|
||||
export type GatewayActivityEmoji = Partial<Pick<APIEmoji, 'animated' | 'id'>> & Pick<APIEmoji, 'name'>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-party
|
||||
@@ -306,7 +306,7 @@ export type GatewayActivityAssets = Partial<
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-secrets
|
||||
*/
|
||||
export type GatewayActivitySecrets = Partial<Record<'join' | 'spectate' | 'match', string>>;
|
||||
export type GatewayActivitySecrets = Partial<Record<'join' | 'match' | 'spectate', string>>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-flags
|
||||
|
||||
@@ -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
|
||||
@@ -121,7 +121,7 @@ export interface APIGuild extends APIPartialGuild {
|
||||
/**
|
||||
* afk timeout in seconds, can be set to: `60`, `300`, `900`, `1800`, `3600`
|
||||
*/
|
||||
afk_timeout: 60 | 300 | 900 | 1_800 | 3_600;
|
||||
afk_timeout: 1_800 | 3_600 | 60 | 300 | 900;
|
||||
/**
|
||||
* `true` if the guild widget is enabled
|
||||
*/
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -798,7 +804,7 @@ export interface APIGuildIntegration {
|
||||
scopes?: OAuth2Scopes[];
|
||||
}
|
||||
|
||||
export type APIGuildIntegrationType = 'twitch' | 'youtube' | 'discord' | 'guild_subscription';
|
||||
export type APIGuildIntegrationType = 'discord' | 'guild_subscription' | 'twitch' | 'youtube';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#integration-object-integration-expire-behaviors
|
||||
|
||||
@@ -90,9 +90,9 @@ export interface APIExternalGuildScheduledEvent
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-structure
|
||||
*/
|
||||
export type APIGuildScheduledEvent =
|
||||
| APIExternalGuildScheduledEvent
|
||||
| APIStageInstanceGuildScheduledEvent
|
||||
| APIVoiceGuildScheduledEvent
|
||||
| APIExternalGuildScheduledEvent;
|
||||
| APIVoiceGuildScheduledEvent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-metadata
|
||||
|
||||
@@ -32,26 +32,26 @@ export * from './_interactions/responses.ts';
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
*/
|
||||
export type APIInteraction =
|
||||
| APIPingInteraction
|
||||
| APIApplicationCommandAutocompleteInteraction
|
||||
| APIApplicationCommandInteraction
|
||||
| APIMessageComponentInteraction
|
||||
| APIApplicationCommandAutocompleteInteraction
|
||||
| APIModalSubmitInteraction;
|
||||
| APIModalSubmitInteraction
|
||||
| APIPingInteraction;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
*/
|
||||
export type APIDMInteraction =
|
||||
| APIApplicationCommandAutocompleteDMInteraction
|
||||
| APIApplicationCommandDMInteraction
|
||||
| APIMessageComponentDMInteraction
|
||||
| APIApplicationCommandAutocompleteDMInteraction
|
||||
| APIModalSubmitDMInteraction;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
*/
|
||||
export type APIGuildInteraction =
|
||||
| APIApplicationCommandAutocompleteGuildInteraction
|
||||
| APIApplicationCommandGuildInteraction
|
||||
| APIMessageComponentGuildInteraction
|
||||
| APIApplicationCommandAutocompleteGuildInteraction
|
||||
| APIModalSubmitGuildInteraction;
|
||||
|
||||
@@ -11,17 +11,17 @@ import type { APIUser } from './user.ts';
|
||||
|
||||
export type APIInviteGuild = Pick<
|
||||
APIGuild,
|
||||
| 'id'
|
||||
| 'name'
|
||||
| 'splash'
|
||||
| 'banner'
|
||||
| 'icon'
|
||||
| 'vanity_url_code'
|
||||
| 'description'
|
||||
| 'features'
|
||||
| 'verification_level'
|
||||
| 'icon'
|
||||
| 'id'
|
||||
| 'name'
|
||||
| 'nsfw_level'
|
||||
| 'premium_subscription_count'
|
||||
| 'splash'
|
||||
| 'vanity_url_code'
|
||||
| 'verification_level'
|
||||
>;
|
||||
|
||||
/**
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -10,6 +10,7 @@ export * from './guildScheduledEvent.ts';
|
||||
export * from './interactions.ts';
|
||||
export * from './invite.ts';
|
||||
export * from './oauth2.ts';
|
||||
export * from './poll.ts';
|
||||
export * from './permissions.ts';
|
||||
export * from './stageInstance.ts';
|
||||
export * from './sticker.ts';
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
107
deno/payloads/v9/poll.ts
Normal file
107
deno/payloads/v9/poll.ts
Normal file
@@ -0,0 +1,107 @@
|
||||
/**
|
||||
* Types extracted from https://discord.com/developers/docs/resources/poll
|
||||
*/
|
||||
|
||||
import type { APIPartialEmoji } from './emoji.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/poll#poll-object-poll-object-structure
|
||||
*/
|
||||
export interface APIPoll {
|
||||
/**
|
||||
* The question of the poll
|
||||
*/
|
||||
question: APIPollMedia;
|
||||
/**
|
||||
* Each of the answers available in the poll, up to 10
|
||||
*/
|
||||
answers: APIPollAnswer[];
|
||||
/**
|
||||
* The time when the poll ends (IS08601 timestamp)
|
||||
*/
|
||||
expiry: string;
|
||||
/**
|
||||
* Whether a user can select multiple answers
|
||||
*/
|
||||
allow_multiselect: boolean;
|
||||
/**
|
||||
* The layout type of the poll
|
||||
*/
|
||||
layout_type: PollLayoutType;
|
||||
/**
|
||||
* The results of the poll
|
||||
*/
|
||||
results?: APIPollResults;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/poll#layout-type
|
||||
*/
|
||||
export enum PollLayoutType {
|
||||
/**
|
||||
* The, uhm, default layout type
|
||||
*/
|
||||
Default = 1,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/poll#poll-media-object-poll-media-object-structure
|
||||
*/
|
||||
export interface APIPollMedia {
|
||||
/**
|
||||
* The text of the field
|
||||
*
|
||||
* The maximum length is `300` for the question, and `55` for any answer
|
||||
*/
|
||||
text?: string;
|
||||
/**
|
||||
* The emoji of the field
|
||||
*/
|
||||
emoji?: APIPartialEmoji;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/poll#poll-answer-object-poll-answer-object-structure
|
||||
*/
|
||||
export interface APIPollAnswer {
|
||||
/**
|
||||
* The ID of the answer. Starts at `1` for the first answer and goes up sequentially
|
||||
*/
|
||||
answer_id: number;
|
||||
/**
|
||||
* The data of the answer
|
||||
*/
|
||||
poll_media: APIPollMedia;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/poll#poll-results-object-poll-results-object-structure
|
||||
*/
|
||||
export interface APIPollResults {
|
||||
/**
|
||||
* Whether the votes have been precisely counted
|
||||
*/
|
||||
is_finalized: boolean;
|
||||
/**
|
||||
* The counts for each answer
|
||||
*/
|
||||
answer_counts: APIPollAnswerCount[];
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/poll#poll-results-object-poll-answer-count-object-structure
|
||||
*/
|
||||
export interface APIPollAnswerCount {
|
||||
/**
|
||||
* The `answer_id`
|
||||
*/
|
||||
id: number;
|
||||
/**
|
||||
* The number of votes for this answer
|
||||
*/
|
||||
count: number;
|
||||
/**
|
||||
* Whether the current user voted for this answer
|
||||
*/
|
||||
me_voted: boolean;
|
||||
}
|
||||
@@ -92,7 +92,7 @@ export enum StickerFormatType {
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#sticker-item-object
|
||||
*/
|
||||
export type APIStickerItem = Pick<APISticker, 'id' | 'name' | 'format_type'>;
|
||||
export type APIStickerItem = Pick<APISticker, 'format_type' | 'id' | 'name'>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/sticker#sticker-pack-object
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -266,6 +274,8 @@ export interface APIConnection {
|
||||
|
||||
export enum ConnectionService {
|
||||
BattleNet = 'battlenet',
|
||||
BungieNet = 'bungie',
|
||||
Domain = 'domain',
|
||||
eBay = 'ebay',
|
||||
EpicGames = 'epicgames',
|
||||
Facebook = 'facebook',
|
||||
@@ -316,5 +326,21 @@ export interface APIApplicationRoleConnection {
|
||||
/**
|
||||
* Object mapping application role connection metadata keys to their `string`-ified value (max 100 characters) for the user on the platform a bot has connected
|
||||
*/
|
||||
metadata: Record<string, string | number>;
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -156,6 +156,8 @@ export enum RESTJSONErrorCodes {
|
||||
|
||||
AnEntitlementHasAlreadyBeenGrantedForThisResource = 40_074,
|
||||
|
||||
CloudflareIsBlockingYourRequest = 40_333,
|
||||
|
||||
MissingAccess = 50_001,
|
||||
InvalidAccountType,
|
||||
CannotExecuteActionOnDMChannel,
|
||||
@@ -254,6 +256,7 @@ export enum RESTJSONErrorCodes {
|
||||
NoUsersWithDiscordTagExist = 80_004,
|
||||
|
||||
ReactionWasBlocked = 90_001,
|
||||
UserCannotUseBurstReactions,
|
||||
|
||||
ApplicationNotYetAvailable = 110_001,
|
||||
|
||||
@@ -292,6 +295,16 @@ export enum RESTJSONErrorCodes {
|
||||
|
||||
CannotEnableOnboardingRequirementsAreNotMet = 350_000,
|
||||
CannotUpdateOnboardingWhileBelowRequirements,
|
||||
|
||||
FailedToBanUsers = 500_000,
|
||||
|
||||
PollVotingBlocked = 520_000,
|
||||
PollExpired,
|
||||
InvalidChannelTypeForPollCreation,
|
||||
CannotEditAPollMessage,
|
||||
CannotUseAnEmojiIncludedWithThePoll,
|
||||
|
||||
CannotExpireANonPollMessage = 520_006,
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -324,6 +337,7 @@ export enum Locale {
|
||||
Romanian = 'ro',
|
||||
Russian = 'ru',
|
||||
SpanishES = 'es-ES',
|
||||
SpanishLATAM = 'es-419',
|
||||
Swedish = 'sv-SE',
|
||||
Thai = 'th',
|
||||
Turkish = 'tr',
|
||||
|
||||
@@ -25,17 +25,18 @@ export type RESTGetCurrentApplicationResult = APIApplication;
|
||||
* https://discord.com/developers/docs/resources/application#edit-current-application
|
||||
*/
|
||||
export type RESTPatchCurrentApplicationJSONBody = StrictPartial<
|
||||
Pick<
|
||||
APIApplication,
|
||||
| 'custom_install_url'
|
||||
| 'description'
|
||||
| 'flags'
|
||||
| 'role_connections_verification_url'
|
||||
| 'install_params'
|
||||
| 'interactions_endpoint_url'
|
||||
| 'tags'
|
||||
> &
|
||||
Nullable<Pick<APIApplication, 'icon' | 'cover_image'>>
|
||||
Nullable<Pick<APIApplication, 'cover_image' | 'icon'>> &
|
||||
Pick<
|
||||
APIApplication,
|
||||
| 'custom_install_url'
|
||||
| 'description'
|
||||
| 'flags'
|
||||
| 'install_params'
|
||||
| 'integration_types_config'
|
||||
| 'interactions_endpoint_url'
|
||||
| 'role_connections_verification_url'
|
||||
| 'tags'
|
||||
>
|
||||
>;
|
||||
|
||||
/**
|
||||
|
||||
@@ -26,6 +26,7 @@ import type {
|
||||
ChannelFlags,
|
||||
} from '../../payloads/v10/mod.ts';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface, StrictPartial } from '../../utils/internals.ts';
|
||||
import type { RESTAPIPollCreate } from './poll.ts';
|
||||
|
||||
export interface APIChannelPatchOverwrite extends RESTPutAPIChannelPermissionJSONBody {
|
||||
id: Snowflake;
|
||||
@@ -236,8 +237,10 @@ export type RESTGetAPIChannelMessageResult = APIMessage;
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#message-reference-object-message-reference-structure
|
||||
*/
|
||||
export type APIMessageReferenceSend = StrictPartial<APIMessageReference> &
|
||||
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<Required<Pick<APIMessageReference, 'message_id'>>> & {
|
||||
export type APIMessageReferenceSend = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
|
||||
Required<Pick<APIMessageReference, 'message_id'>>
|
||||
> &
|
||||
StrictPartial<APIMessageReference> & {
|
||||
/**
|
||||
* Whether to error if the referenced message doesn't exist instead of sending as a normal (non-reply) message
|
||||
*
|
||||
@@ -309,7 +312,7 @@ export interface RESTPostAPIChannelMessageJSONBody {
|
||||
*
|
||||
* See https://discord.com/developers/docs/resources/sticker#sticker-object
|
||||
*/
|
||||
sticker_ids?: [Snowflake] | [Snowflake, Snowflake] | [Snowflake, Snowflake, Snowflake] | undefined;
|
||||
sticker_ids?: [Snowflake, Snowflake, Snowflake] | [Snowflake, Snowflake] | [Snowflake] | undefined;
|
||||
/**
|
||||
* Attachment objects with filename and description
|
||||
*/
|
||||
@@ -318,19 +321,28 @@ export interface RESTPostAPIChannelMessageJSONBody {
|
||||
* Message flags combined as a bitfield
|
||||
*/
|
||||
flags?: MessageFlags | undefined;
|
||||
/**
|
||||
* If `true` and nonce is present, it will be checked for uniqueness in the past few minutes.
|
||||
* If another message was created by the same author with the same nonce, that message will be returned and no new message will be created.
|
||||
*/
|
||||
enforce_nonce?: boolean | undefined;
|
||||
/**
|
||||
* A poll!
|
||||
*/
|
||||
poll?: RESTAPIPollCreate | undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#create-message
|
||||
*/
|
||||
export type RESTPostAPIChannelMessageFormDataBody =
|
||||
| ({
|
||||
| (Record<`files[${bigint}]`, unknown> & {
|
||||
/**
|
||||
* JSON stringified message body
|
||||
*/
|
||||
payload_json?: string | undefined;
|
||||
} & Record<`files[${bigint}]`, unknown>)
|
||||
| (RESTPostAPIChannelMessageJSONBody & Record<`files[${bigint}]`, unknown>);
|
||||
})
|
||||
| (Record<`files[${bigint}]`, unknown> & RESTPostAPIChannelMessageJSONBody);
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#create-message
|
||||
@@ -361,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
|
||||
*/
|
||||
@@ -373,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
|
||||
*/
|
||||
@@ -437,13 +461,13 @@ export interface RESTPatchAPIChannelMessageJSONBody {
|
||||
* https://discord.com/developers/docs/resources/channel#edit-message
|
||||
*/
|
||||
export type RESTPatchAPIChannelMessageFormDataBody =
|
||||
| ({
|
||||
| (Record<`files[${bigint}]`, unknown> & {
|
||||
/**
|
||||
* JSON stringified message body
|
||||
*/
|
||||
payload_json?: string | undefined;
|
||||
} & Record<`files[${bigint}]`, unknown>)
|
||||
| (RESTPatchAPIChannelMessageJSONBody & Record<`files[${bigint}]`, unknown>);
|
||||
})
|
||||
| (Record<`files[${bigint}]`, unknown> & RESTPatchAPIChannelMessageJSONBody);
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel#edit-message
|
||||
|
||||
@@ -45,22 +45,22 @@ export type APIGuildChannelResolvable = Exclude<APIChannel, APIDMChannel | APIGr
|
||||
export type APIGuildCreatePartialChannel = StrictPartial<
|
||||
DistributivePick<
|
||||
APIGuildChannelResolvable,
|
||||
| 'type'
|
||||
| 'topic'
|
||||
| 'nsfw'
|
||||
| 'bitrate'
|
||||
| 'user_limit'
|
||||
| 'rate_limit_per_user'
|
||||
| 'default_auto_archive_duration'
|
||||
| 'position'
|
||||
| 'rtc_region'
|
||||
| 'video_quality_mode'
|
||||
| 'flags'
|
||||
| 'default_reaction_emoji'
|
||||
| 'available_tags'
|
||||
| 'default_sort_order'
|
||||
| 'bitrate'
|
||||
| 'default_auto_archive_duration'
|
||||
| 'default_forum_layout'
|
||||
| 'default_reaction_emoji'
|
||||
| 'default_sort_order'
|
||||
| 'default_thread_rate_limit_per_user'
|
||||
| 'flags'
|
||||
| 'nsfw'
|
||||
| 'position'
|
||||
| 'rate_limit_per_user'
|
||||
| 'rtc_region'
|
||||
| 'topic'
|
||||
| 'type'
|
||||
| 'user_limit'
|
||||
| 'video_quality_mode'
|
||||
>
|
||||
> & {
|
||||
name: string;
|
||||
@@ -142,15 +142,15 @@ export interface RESTPostAPIGuildsJSONBody {
|
||||
/**
|
||||
* ID for afk channel
|
||||
*/
|
||||
afk_channel_id?: number | Snowflake | null | undefined;
|
||||
afk_channel_id?: Snowflake | number | null | undefined;
|
||||
/**
|
||||
* afk timeout in seconds, can be set to: `60`, `300`, `900`, `1800`, `3600`
|
||||
*/
|
||||
afk_timeout?: 60 | 300 | 900 | 1_800 | 3_600 | undefined;
|
||||
afk_timeout?: 1_800 | 3_600 | 60 | 300 | 900 | undefined;
|
||||
/**
|
||||
* The id of the channel where guild notices such as welcome messages and boost events are posted
|
||||
*/
|
||||
system_channel_id?: number | Snowflake | null | undefined;
|
||||
system_channel_id?: Snowflake | number | null | undefined;
|
||||
/**
|
||||
* System channel flags
|
||||
*
|
||||
@@ -246,7 +246,7 @@ export interface RESTPatchAPIGuildJSONBody {
|
||||
/**
|
||||
* afk timeout in seconds, can be set to: `60`, `300`, `900`, `1800`, `3600`
|
||||
*/
|
||||
afk_timeout?: 60 | 300 | 900 | 1_800 | 3_600 | undefined;
|
||||
afk_timeout?: 1_800 | 3_600 | 60 | 300 | 900 | undefined;
|
||||
/**
|
||||
* base64 1024x1024 png/jpeg/gif image for the guild icon (can be animated gif when the guild has `ANIMATED_ICON` feature)
|
||||
*
|
||||
@@ -604,6 +604,34 @@ export type RESTPutAPIGuildBanResult = never;
|
||||
*/
|
||||
export type RESTDeleteAPIGuildBanResult = never;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#bulk-guild-ban
|
||||
*/
|
||||
export interface RESTPostAPIGuildBulkBanJSONBody {
|
||||
/**
|
||||
* List of user ids to ban (max 200)
|
||||
*/
|
||||
user_ids: Snowflake[];
|
||||
/**
|
||||
* Number of seconds to delete messages for, between 0 and 604800 (7 days)
|
||||
*/
|
||||
delete_message_seconds?: number | undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#bulk-guild-ban
|
||||
*/
|
||||
export interface RESTPostAPIGuildBulkBanResult {
|
||||
/**
|
||||
* List of user ids, that were successfully banned
|
||||
*/
|
||||
banned_users: Snowflake[];
|
||||
/**
|
||||
* List of user ids, that were not banned
|
||||
*/
|
||||
failed_users: Snowflake[];
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#get-guild-roles
|
||||
*/
|
||||
@@ -942,20 +970,20 @@ export type RESTPutAPIGuildOnboardingJSONBody = AddUndefinedToPossiblyUndefinedP
|
||||
prompts?: RESTAPIModifyGuildOnboardingPromptData[] | undefined;
|
||||
};
|
||||
|
||||
export type RESTAPIModifyGuildOnboardingPromptData = Pick<APIGuildOnboardingPrompt, 'id' | 'title'> &
|
||||
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
|
||||
Partial<Omit<APIGuildOnboardingPrompt, 'id' | 'title' | 'options' | 'guild_id'>>
|
||||
> & {
|
||||
export type RESTAPIModifyGuildOnboardingPromptData = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
|
||||
Partial<Omit<APIGuildOnboardingPrompt, 'guild_id' | 'id' | 'options' | 'title'>>
|
||||
> &
|
||||
Pick<APIGuildOnboardingPrompt, 'id' | 'title'> & {
|
||||
/**
|
||||
* Options available within the prompt
|
||||
*/
|
||||
options: RESTAPIModifyGuildOnboardingPromptOptionData[];
|
||||
};
|
||||
|
||||
export type RESTAPIModifyGuildOnboardingPromptOptionData = Pick<APIGuildOnboardingPromptOption, 'title'> &
|
||||
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
|
||||
Partial<Omit<APIGuildOnboardingPromptOption, 'title' | 'emoji' | 'guild_id'>>
|
||||
> & {
|
||||
export type RESTAPIModifyGuildOnboardingPromptOptionData = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
|
||||
Partial<Omit<APIGuildOnboardingPromptOption, 'emoji' | 'guild_id' | 'title'>>
|
||||
> &
|
||||
Pick<APIGuildOnboardingPromptOption, 'title'> & {
|
||||
/**
|
||||
* Emoji id
|
||||
*/
|
||||
|
||||
@@ -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,
|
||||
@@ -42,17 +46,22 @@ export type RESTGetAPIApplicationCommandResult = APIApplicationCommand;
|
||||
type RESTPostAPIBaseApplicationCommandsJSONBody = AddUndefinedToPossiblyUndefinedPropertiesOfInterface<
|
||||
Omit<
|
||||
APIApplicationCommand,
|
||||
| 'id'
|
||||
| 'application_id'
|
||||
| 'contexts'
|
||||
| 'default_member_permissions'
|
||||
| 'description_localized'
|
||||
| 'description'
|
||||
| 'guild_id'
|
||||
| 'id'
|
||||
| 'integration_types'
|
||||
| 'name_localized'
|
||||
| 'type'
|
||||
| 'version'
|
||||
| 'guild_id'
|
||||
| 'name_localized'
|
||||
| 'description_localized'
|
||||
| 'default_member_permissions'
|
||||
> &
|
||||
Partial<Pick<APIApplicationCommand, 'default_member_permissions'>>
|
||||
Partial<
|
||||
NonNullableFields<Pick<APIApplicationCommand, 'contexts'>> &
|
||||
Pick<APIApplicationCommand, 'default_member_permissions' | 'integration_types'>
|
||||
>
|
||||
>;
|
||||
|
||||
/**
|
||||
@@ -67,7 +76,7 @@ export interface RESTPostAPIChatInputApplicationCommandsJSONBody extends RESTPos
|
||||
* https://discord.com/developers/docs/interactions/application-commands#create-global-application-command
|
||||
*/
|
||||
export interface RESTPostAPIContextMenuApplicationCommandsJSONBody extends RESTPostAPIBaseApplicationCommandsJSONBody {
|
||||
type: ApplicationCommandType.User | ApplicationCommandType.Message;
|
||||
type: ApplicationCommandType.Message | ApplicationCommandType.User;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -166,13 +175,13 @@ export type RESTPostAPIInteractionCallbackJSONBody = APIInteractionResponse;
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#create-interaction-response
|
||||
*/
|
||||
export type RESTPostAPIInteractionCallbackFormDataBody =
|
||||
| ({
|
||||
| (Record<`files[${bigint}]`, unknown> & {
|
||||
/**
|
||||
* JSON stringified message body
|
||||
*/
|
||||
payload_json?: string | undefined;
|
||||
} & Record<`files[${bigint}]`, unknown>)
|
||||
| (RESTPostAPIInteractionCallbackJSONBody & Record<`files[${bigint}]`, unknown>);
|
||||
})
|
||||
| (Record<`files[${bigint}]`, unknown> & RESTPostAPIInteractionCallbackJSONBody);
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#get-original-interaction-response
|
||||
@@ -208,13 +217,13 @@ export type RESTPostAPIInteractionFollowupJSONBody = APIInteractionResponseCallb
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#create-followup-message
|
||||
*/
|
||||
export type RESTPostAPIInteractionFollowupFormDataBody =
|
||||
| ({
|
||||
| (Record<`files[${bigint}]`, unknown> & {
|
||||
/**
|
||||
* JSON stringified message body
|
||||
*/
|
||||
payload_json?: string | undefined;
|
||||
} & Record<`files[${bigint}]`, unknown>)
|
||||
| (RESTPostAPIInteractionFollowupJSONBody & Record<`files[${bigint}]`, unknown>);
|
||||
})
|
||||
| (Record<`files[${bigint}]`, unknown> & RESTPostAPIInteractionFollowupJSONBody);
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#create-followup-message
|
||||
|
||||
@@ -12,6 +12,7 @@ export * from './guildScheduledEvent.ts';
|
||||
export * from './interactions.ts';
|
||||
export * from './invite.ts';
|
||||
export * from './oauth2.ts';
|
||||
export * from './poll.ts';
|
||||
export * from './stageInstance.ts';
|
||||
export * from './sticker.ts';
|
||||
export * from './template.ts';
|
||||
@@ -461,6 +462,22 @@ export const Routes = {
|
||||
return `/guilds/${guildId}/templates/${code}` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/channels/{channel.id}/polls/{message.id}/answers/{answer_id}`
|
||||
*/
|
||||
pollAnswerVoters(channelId: Snowflake, messageId: Snowflake, answerId: number) {
|
||||
return `/channels/${channelId}/polls/${messageId}/answers/${answerId}` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - POST `/channels/{channel.id}/polls/{message.id}/expire`
|
||||
*/
|
||||
expirePoll(channelId: Snowflake, messageId: Snowflake) {
|
||||
return `/channels/${channelId}/polls/${messageId}/expire` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - POST `/channels/{channel.id}/threads`
|
||||
@@ -473,7 +490,9 @@ export const Routes = {
|
||||
|
||||
parts.push('threads');
|
||||
|
||||
return parts.join('/') as `/channels/${Snowflake}/threads` | `/channels/${Snowflake}/messages/${Snowflake}/threads`;
|
||||
return parts.join('/') as
|
||||
| `/channels/${Snowflake}/messages/${Snowflake}/threads`
|
||||
| `/channels/${Snowflake}/threads`;
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -489,7 +508,7 @@ export const Routes = {
|
||||
* - GET `/channels/{channel.id}/threads/archived/public`
|
||||
* - GET `/channels/{channel.id}/threads/archived/private`
|
||||
*/
|
||||
channelThreads(channelId: Snowflake, archivedStatus: 'public' | 'private') {
|
||||
channelThreads(channelId: Snowflake, archivedStatus: 'private' | 'public') {
|
||||
return `/channels/${channelId}/threads/archived/${archivedStatus}` as const;
|
||||
},
|
||||
|
||||
@@ -516,8 +535,8 @@ export const Routes = {
|
||||
if (userId) parts.push(userId);
|
||||
|
||||
return parts.join('/') as
|
||||
| `/channels/${Snowflake}/thread-members`
|
||||
| `/channels/${Snowflake}/thread-members/${Snowflake | '@me'}`;
|
||||
| `/channels/${Snowflake}/thread-members/${Snowflake | '@me'}`
|
||||
| `/channels/${Snowflake}/thread-members`;
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -623,7 +642,7 @@ export const Routes = {
|
||||
|
||||
if (webhookToken) parts.push(webhookToken);
|
||||
|
||||
return parts.join('/') as `/webhooks/${Snowflake}` | `/webhooks/${Snowflake}/${string}`;
|
||||
return parts.join('/') as `/webhooks/${Snowflake}/${string}` | `/webhooks/${Snowflake}`;
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -908,6 +927,7 @@ export const Routes = {
|
||||
currentApplication() {
|
||||
return '/applications/@me' as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/applications/{application.id}/entitlements`
|
||||
@@ -916,6 +936,7 @@ export const Routes = {
|
||||
entitlements(applicationId: Snowflake) {
|
||||
return `/applications/${applicationId}/entitlements` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - DELETE `/applications/{application.id}/entitlements/{entitlement.id}`
|
||||
@@ -923,6 +944,7 @@ export const Routes = {
|
||||
entitlement(applicationId: Snowflake, entitlementId: Snowflake) {
|
||||
return `/applications/${applicationId}/entitlements/${entitlementId}` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/applications/{application.id}/skus`
|
||||
@@ -930,10 +952,34 @@ export const Routes = {
|
||||
skus(applicationId: Snowflake) {
|
||||
return `/applications/${applicationId}/skus` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - POST `/guilds/{guild.id}/bulk-ban`
|
||||
*/
|
||||
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';
|
||||
|
||||
export enum ImageFormat {
|
||||
JPEG = 'jpeg',
|
||||
PNG = 'png',
|
||||
WebP = 'webp',
|
||||
GIF = 'gif',
|
||||
Lottie = 'json',
|
||||
}
|
||||
|
||||
export const CDNRoutes = {
|
||||
/**
|
||||
* Route for:
|
||||
@@ -943,7 +989,7 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP, GIF
|
||||
*/
|
||||
emoji(emojiId: Snowflake, format: EmojiFormat) {
|
||||
emoji<Format extends EmojiFormat>(emojiId: Snowflake, format: Format) {
|
||||
return `/emojis/${emojiId}.${format}` as const;
|
||||
},
|
||||
|
||||
@@ -955,7 +1001,7 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP, GIF
|
||||
*/
|
||||
guildIcon(guildId: Snowflake, guildIcon: string, format: GuildIconFormat) {
|
||||
guildIcon<Format extends GuildIconFormat>(guildId: Snowflake, guildIcon: string, format: Format) {
|
||||
return `icons/${guildId}/${guildIcon}.${format}` as const;
|
||||
},
|
||||
|
||||
@@ -965,7 +1011,7 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP
|
||||
*/
|
||||
guildSplash(guildId: Snowflake, guildSplash: string, format: GuildSplashFormat) {
|
||||
guildSplash<Format extends GuildSplashFormat>(guildId: Snowflake, guildSplash: string, format: Format) {
|
||||
return `/splashes/${guildId}/${guildSplash}.${format}` as const;
|
||||
},
|
||||
|
||||
@@ -975,7 +1021,11 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP
|
||||
*/
|
||||
guildDiscoverySplash(guildId: Snowflake, guildDiscoverySplash: string, format: GuildDiscoverySplashFormat) {
|
||||
guildDiscoverySplash<Format extends GuildDiscoverySplashFormat>(
|
||||
guildId: Snowflake,
|
||||
guildDiscoverySplash: string,
|
||||
format: Format,
|
||||
) {
|
||||
return `/discovery-splashes/${guildId}/${guildDiscoverySplash}.${format}` as const;
|
||||
},
|
||||
|
||||
@@ -987,7 +1037,7 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP, GIF
|
||||
*/
|
||||
guildBanner(guildId: Snowflake, guildBanner: string, format: GuildBannerFormat) {
|
||||
guildBanner<Format extends GuildBannerFormat>(guildId: Snowflake, guildBanner: string, format: Format) {
|
||||
return `/banners/${guildId}/${guildBanner}.${format}` as const;
|
||||
},
|
||||
|
||||
@@ -999,7 +1049,7 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP, GIF
|
||||
*/
|
||||
userBanner(userId: Snowflake, userBanner: string, format: UserBannerFormat) {
|
||||
userBanner<Format extends UserBannerFormat>(userId: Snowflake, userBanner: string, format: Format) {
|
||||
return `/banners/${userId}/${userBanner}.${format}` as const;
|
||||
},
|
||||
|
||||
@@ -1013,7 +1063,7 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extension: PNG
|
||||
*/
|
||||
defaultUserAvatar(index: DefaultUserAvatarAssets) {
|
||||
defaultUserAvatar<Index extends DefaultUserAvatarAssets>(index: Index) {
|
||||
return `/embed/avatars/${index}.png` as const;
|
||||
},
|
||||
|
||||
@@ -1025,7 +1075,7 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP, GIF
|
||||
*/
|
||||
userAvatar(userId: Snowflake, userAvatar: string, format: UserAvatarFormat) {
|
||||
userAvatar<Format extends UserAvatarFormat>(userId: Snowflake, userAvatar: string, format: Format) {
|
||||
return `/avatars/${userId}/${userAvatar}.${format}` as const;
|
||||
},
|
||||
|
||||
@@ -1037,7 +1087,12 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP, GIF
|
||||
*/
|
||||
guildMemberAvatar(guildId: Snowflake, userId: Snowflake, memberAvatar: string, format: GuildMemberAvatarFormat) {
|
||||
guildMemberAvatar<Format extends GuildMemberAvatarFormat>(
|
||||
guildId: Snowflake,
|
||||
userId: Snowflake,
|
||||
memberAvatar: string,
|
||||
format: Format,
|
||||
) {
|
||||
return `/guilds/${guildId}/users/${userId}/avatars/${memberAvatar}.${format}` as const;
|
||||
},
|
||||
|
||||
@@ -1046,18 +1101,34 @@ 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}`
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP
|
||||
*/
|
||||
applicationIcon(applicationId: Snowflake, applicationIcon: string, format: ApplicationIconFormat) {
|
||||
applicationIcon<Format extends ApplicationIconFormat>(
|
||||
applicationId: Snowflake,
|
||||
applicationIcon: string,
|
||||
format: Format,
|
||||
) {
|
||||
return `/app-icons/${applicationId}/${applicationIcon}.${format}` as const;
|
||||
},
|
||||
|
||||
@@ -1067,7 +1138,11 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP
|
||||
*/
|
||||
applicationCover(applicationId: Snowflake, applicationCoverImage: string, format: ApplicationCoverFormat) {
|
||||
applicationCover<Format extends ApplicationCoverFormat>(
|
||||
applicationId: Snowflake,
|
||||
applicationCoverImage: string,
|
||||
format: Format,
|
||||
) {
|
||||
return `/app-icons/${applicationId}/${applicationCoverImage}.${format}` as const;
|
||||
},
|
||||
|
||||
@@ -1077,7 +1152,11 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP
|
||||
*/
|
||||
applicationAsset(applicationId: Snowflake, applicationAssetId: string, format: ApplicationAssetFormat) {
|
||||
applicationAsset<Format extends ApplicationAssetFormat>(
|
||||
applicationId: Snowflake,
|
||||
applicationAssetId: string,
|
||||
format: Format,
|
||||
) {
|
||||
return `/app-assets/${applicationId}/${applicationAssetId}.${format}` as const;
|
||||
},
|
||||
|
||||
@@ -1087,11 +1166,11 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP
|
||||
*/
|
||||
achievementIcon(
|
||||
achievementIcon<Format extends AchievementIconFormat>(
|
||||
applicationId: Snowflake,
|
||||
achievementId: Snowflake,
|
||||
achievementIconHash: string,
|
||||
format: AchievementIconFormat,
|
||||
format: Format,
|
||||
) {
|
||||
return `/app-assets/${applicationId}/achievements/${achievementId}/icons/${achievementIconHash}.${format}` as const;
|
||||
},
|
||||
@@ -1102,7 +1181,7 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP
|
||||
*/
|
||||
stickerPackBanner(stickerPackBannerAssetId: Snowflake, format: StickerPackBannerFormat) {
|
||||
stickerPackBanner<Format extends StickerPackBannerFormat>(stickerPackBannerAssetId: Snowflake, format: Format) {
|
||||
return `/app-assets/${StickerPackApplicationId}/store/${stickerPackBannerAssetId}.${format}` as const;
|
||||
},
|
||||
|
||||
@@ -1112,8 +1191,12 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP
|
||||
*/
|
||||
storePageAsset(applicationId: Snowflake, assetId: string) {
|
||||
return `/app-assets/${applicationId}/store/${assetId}.png` as const;
|
||||
storePageAsset<Format extends StorePageAssetFormat = ImageFormat.PNG>(
|
||||
applicationId: Snowflake,
|
||||
assetId: string,
|
||||
format: Format = ImageFormat.PNG as Format,
|
||||
) {
|
||||
return `/app-assets/${applicationId}/store/${assetId}.${format}` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -1122,7 +1205,7 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP
|
||||
*/
|
||||
teamIcon(teamId: Snowflake, teamIcon: string, format: TeamIconFormat) {
|
||||
teamIcon<Format extends TeamIconFormat>(teamId: Snowflake, teamIcon: string, format: Format) {
|
||||
return `/team-icons/${teamId}/${teamIcon}.${format}` as const;
|
||||
},
|
||||
|
||||
@@ -1132,7 +1215,7 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, Lottie, GIF
|
||||
*/
|
||||
sticker(stickerId: Snowflake, format: StickerFormat) {
|
||||
sticker<Format extends StickerFormat>(stickerId: Snowflake, format: Format) {
|
||||
return `/stickers/${stickerId}.${format}` as const;
|
||||
},
|
||||
|
||||
@@ -1142,7 +1225,7 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP
|
||||
*/
|
||||
roleIcon(roleId: Snowflake, roleIcon: string, format: RoleIconFormat) {
|
||||
roleIcon<Format extends RoleIconFormat>(roleId: Snowflake, roleIcon: string, format: Format) {
|
||||
return `/role-icons/${roleId}/${roleIcon}.${format}` as const;
|
||||
},
|
||||
|
||||
@@ -1152,10 +1235,10 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP
|
||||
*/
|
||||
guildScheduledEventCover(
|
||||
guildScheduledEventCover<Format extends GuildScheduledEventCoverFormat>(
|
||||
guildScheduledEventId: Snowflake,
|
||||
guildScheduledEventCoverImage: string,
|
||||
format: GuildScheduledEventCoverFormat,
|
||||
format: Format,
|
||||
) {
|
||||
return `/guild-events/${guildScheduledEventId}/${guildScheduledEventCoverImage}.${format}` as const;
|
||||
},
|
||||
@@ -1166,7 +1249,12 @@ export const CDNRoutes = {
|
||||
*
|
||||
* This route supports the extensions: PNG, JPEG, WebP, GIF
|
||||
*/
|
||||
guildMemberBanner(guildId: Snowflake, userId: Snowflake, guildMemberBanner: string, format: GuildMemberBannerFormat) {
|
||||
guildMemberBanner<Format extends GuildMemberBannerFormat>(
|
||||
guildId: Snowflake,
|
||||
userId: Snowflake,
|
||||
guildMemberBanner: string,
|
||||
format: Format,
|
||||
) {
|
||||
return `/guilds/${guildId}/users/${userId}/banners/${guildMemberBanner}.${format}` as const;
|
||||
},
|
||||
};
|
||||
@@ -1175,32 +1263,25 @@ export type DefaultUserAvatarAssets = 0 | 1 | 2 | 3 | 4 | 5;
|
||||
|
||||
export type EmojiFormat = Exclude<ImageFormat, ImageFormat.Lottie>;
|
||||
export type GuildIconFormat = Exclude<ImageFormat, ImageFormat.Lottie>;
|
||||
export type GuildSplashFormat = Exclude<ImageFormat, ImageFormat.Lottie | ImageFormat.GIF>;
|
||||
export type GuildDiscoverySplashFormat = Exclude<ImageFormat, ImageFormat.Lottie | ImageFormat.GIF>;
|
||||
export type GuildSplashFormat = Exclude<ImageFormat, ImageFormat.GIF | ImageFormat.Lottie>;
|
||||
export type GuildDiscoverySplashFormat = Exclude<ImageFormat, ImageFormat.GIF | ImageFormat.Lottie>;
|
||||
export type GuildBannerFormat = Exclude<ImageFormat, ImageFormat.Lottie>;
|
||||
export type UserBannerFormat = Exclude<ImageFormat, ImageFormat.Lottie>;
|
||||
export type DefaultUserAvatar = Extract<ImageFormat, ImageFormat.PNG>;
|
||||
export type UserAvatarFormat = Exclude<ImageFormat, ImageFormat.Lottie>;
|
||||
export type GuildMemberAvatarFormat = Exclude<ImageFormat, ImageFormat.Lottie>;
|
||||
export type ApplicationIconFormat = Exclude<ImageFormat, ImageFormat.Lottie | ImageFormat.GIF>;
|
||||
export type ApplicationCoverFormat = Exclude<ImageFormat, ImageFormat.Lottie | ImageFormat.GIF>;
|
||||
export type ApplicationAssetFormat = Exclude<ImageFormat, ImageFormat.Lottie | ImageFormat.GIF>;
|
||||
export type AchievementIconFormat = Exclude<ImageFormat, ImageFormat.Lottie | ImageFormat.GIF>;
|
||||
export type StickerPackBannerFormat = Exclude<ImageFormat, ImageFormat.Lottie | ImageFormat.GIF>;
|
||||
export type TeamIconFormat = Exclude<ImageFormat, ImageFormat.Lottie | ImageFormat.GIF>;
|
||||
export type StickerFormat = Extract<ImageFormat, ImageFormat.PNG | ImageFormat.Lottie | ImageFormat.GIF>;
|
||||
export type RoleIconFormat = Exclude<ImageFormat, ImageFormat.Lottie | ImageFormat.GIF>;
|
||||
export type GuildScheduledEventCoverFormat = Exclude<ImageFormat, ImageFormat.Lottie | ImageFormat.GIF>;
|
||||
export type ApplicationIconFormat = Exclude<ImageFormat, ImageFormat.GIF | ImageFormat.Lottie>;
|
||||
export type ApplicationCoverFormat = Exclude<ImageFormat, ImageFormat.GIF | ImageFormat.Lottie>;
|
||||
export type ApplicationAssetFormat = Exclude<ImageFormat, ImageFormat.GIF | ImageFormat.Lottie>;
|
||||
export type AchievementIconFormat = Exclude<ImageFormat, ImageFormat.GIF | ImageFormat.Lottie>;
|
||||
export type StickerPackBannerFormat = Exclude<ImageFormat, ImageFormat.GIF | ImageFormat.Lottie>;
|
||||
export type TeamIconFormat = Exclude<ImageFormat, ImageFormat.GIF | ImageFormat.Lottie>;
|
||||
export type StorePageAssetFormat = Exclude<ImageFormat, ImageFormat.GIF | ImageFormat.Lottie>;
|
||||
export type StickerFormat = Extract<ImageFormat, ImageFormat.GIF | ImageFormat.Lottie | ImageFormat.PNG>;
|
||||
export type RoleIconFormat = Exclude<ImageFormat, ImageFormat.GIF | ImageFormat.Lottie>;
|
||||
export type GuildScheduledEventCoverFormat = Exclude<ImageFormat, ImageFormat.GIF | ImageFormat.Lottie>;
|
||||
export type GuildMemberBannerFormat = Exclude<ImageFormat, ImageFormat.Lottie>;
|
||||
|
||||
export enum ImageFormat {
|
||||
JPEG = 'jpeg',
|
||||
PNG = 'png',
|
||||
WebP = 'webp',
|
||||
GIF = 'gif',
|
||||
Lottie = 'json',
|
||||
}
|
||||
|
||||
export interface CDNQuery {
|
||||
/**
|
||||
* The returned image can have the size changed by using this query parameter
|
||||
|
||||
@@ -64,7 +64,7 @@ export interface RESTPostAPIEntitlementBody {
|
||||
/**
|
||||
* https://discord.com/developers/docs/monetization/entitlements#create-test-entitlement
|
||||
*/
|
||||
export type RESTPostAPIEntitlementResult = Partial<Omit<APIEntitlement, 'starts_at' | 'ends_at'>>;
|
||||
export type RESTPostAPIEntitlementResult = Partial<Omit<APIEntitlement, 'ends_at' | 'starts_at'>>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/monetization/entitlements#create-test-entitlement
|
||||
@@ -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;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user