mirror of
https://github.com/discordjs/discord-api-types.git
synced 2026-05-22 11:20:10 +00:00
Compare commits
29 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ba4ee01f79 | ||
|
|
e389a2189a | ||
|
|
77585d1ffa | ||
|
|
4a25caf506 | ||
|
|
6e4a6115ae | ||
|
|
921bffd1b2 | ||
|
|
bb2ef84313 | ||
|
|
5e9bff9d0e | ||
|
|
4c334f6eb8 | ||
|
|
93667b9a9e | ||
|
|
8df9f14a24 | ||
|
|
c2bec62a8e | ||
|
|
190242a59d | ||
|
|
2b75d13b39 | ||
|
|
89bc0f40b6 | ||
|
|
2a5413def4 | ||
|
|
d7b666c739 | ||
|
|
c3fda99637 | ||
|
|
57a69a1301 | ||
|
|
e818213043 | ||
|
|
40ec4363bb | ||
|
|
190223f1f9 | ||
|
|
995126e2cc | ||
|
|
549d1daaa0 | ||
|
|
38aad33ed8 | ||
|
|
390c628ee3 | ||
|
|
c730f1a8d1 | ||
|
|
33e0f3f411 | ||
|
|
3713a553e9 |
1
.github/auto_assign.yml
vendored
1
.github/auto_assign.yml
vendored
@@ -5,3 +5,4 @@ reviewers:
|
||||
- kyranet
|
||||
- vladfrangu
|
||||
numberOfReviewers: 0
|
||||
runOnDraft: true
|
||||
|
||||
4
.github/workflows/pr-automation.yml
vendored
4
.github/workflows/pr-automation.yml
vendored
@@ -14,5 +14,5 @@ jobs:
|
||||
sync-labels: true
|
||||
|
||||
- name: Automatically assign reviewers
|
||||
if: ${{ github.event.action == 'opened' }}
|
||||
uses: kentaro-m/auto-assign-action@v1.1.2
|
||||
if: github.event.action == 'opened'
|
||||
uses: kentaro-m/auto-assign-action@v1.2.4
|
||||
|
||||
41
CHANGELOG.md
41
CHANGELOG.md
@@ -1,3 +1,44 @@
|
||||
## [0.37.26](https://github.com/discordjs/discord-api-types/compare/0.37.25...0.37.26) (2023-01-05)
|
||||
|
||||
### Features
|
||||
|
||||
- add RESTJSONErrorCode `40062` and RESTRateLimit.code ([#620](https://github.com/discordjs/discord-api-types/issues/620)) ([4a25caf](https://github.com/discordjs/discord-api-types/commit/4a25caf506c685a8e0af630eef3bd3d2735d64ed))
|
||||
- **RESTGetAPIAuditLogQuery:** support `after` ([#682](https://github.com/discordjs/discord-api-types/issues/682)) ([bb2ef84](https://github.com/discordjs/discord-api-types/commit/bb2ef843133b29e3042bdfde20b5adb1c3639e01))
|
||||
- **RESTJSONErrorCodes:** add error `30058` ([#676](https://github.com/discordjs/discord-api-types/issues/676)) ([921bffd](https://github.com/discordjs/discord-api-types/commit/921bffd1b210b6cf2dc6971e451fa0a9e6f6c185))
|
||||
- **RESTJSONErrorCodes:** add error `50067` ([#640](https://github.com/discordjs/discord-api-types/issues/640)) ([6e4a611](https://github.com/discordjs/discord-api-types/commit/6e4a6115ae44aca5c0b61f621ad75829632850f4))
|
||||
|
||||
## [0.37.25](https://github.com/discordjs/discord-api-types/compare/0.37.24...0.37.25) (2022-12-29)
|
||||
|
||||
## [0.37.24](https://github.com/discordjs/discord-api-types/compare/0.37.23...0.37.24) (2022-12-19)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **APIApplicationRoleConnection:** `metadata` values can be numbers ([#673](https://github.com/discordjs/discord-api-types/issues/673)) ([8df9f14](https://github.com/discordjs/discord-api-types/commit/8df9f14a24b714d3b009711eec894cad1e199881))
|
||||
|
||||
## [0.37.23](https://github.com/discordjs/discord-api-types/compare/0.37.22...0.37.23) (2022-12-15)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **APIChannel:** correctly type present properties based on channel type ([#669](https://github.com/discordjs/discord-api-types/issues/669)) ([2a5413d](https://github.com/discordjs/discord-api-types/commit/2a5413def49dbb413227d9b02be500b9184b731d))
|
||||
- **Interactions:** make app_permissions required ([#652](https://github.com/discordjs/discord-api-types/issues/652)) ([89bc0f4](https://github.com/discordjs/discord-api-types/commit/89bc0f40b60434a768abac95188a2e4e47c2acd9))
|
||||
|
||||
### Features
|
||||
|
||||
- add role connections ([#651](https://github.com/discordjs/discord-api-types/issues/651)) ([d7b666c](https://github.com/discordjs/discord-api-types/commit/d7b666c739bb848ead5a3af09e37e64ed962014b))
|
||||
- **APIApplicationCommand:** add `nsfw` field ([#637](https://github.com/discordjs/discord-api-types/issues/637)) ([c3fda99](https://github.com/discordjs/discord-api-types/commit/c3fda99637b4d7688111180f90d6aa41c008ed17))
|
||||
- **APIGuildForumChannel:** add `default_forum_layout` ([#658](https://github.com/discordjs/discord-api-types/issues/658)) ([190242a](https://github.com/discordjs/discord-api-types/commit/190242a59d5512fdc766217ec9f7c9c54a7b2dcb))
|
||||
- **Locale:** add Indonesian locale ([#643](https://github.com/discordjs/discord-api-types/issues/643)) ([2b75d13](https://github.com/discordjs/discord-api-types/commit/2b75d13b393f8f9011ec68617cb4e9f9d3fa09e7))
|
||||
|
||||
## [0.37.22](https://github.com/discordjs/discord-api-types/compare/0.37.21...0.37.22) (2022-12-12)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **APIChannel:** correctly type `name` based on channel type ([#666](https://github.com/discordjs/discord-api-types/issues/666)) ([995126e](https://github.com/discordjs/discord-api-types/commit/995126e2cc1494f9fad2ad7c44ecc87898994e44))
|
||||
|
||||
## [0.37.21](https://github.com/discordjs/discord-api-types/compare/0.37.20...0.37.21) (2022-12-05)
|
||||
|
||||
## [0.37.20](https://github.com/discordjs/discord-api-types/compare/0.37.19...0.37.20) (2022-11-24)
|
||||
|
||||
## [0.37.19](https://github.com/discordjs/discord-api-types/compare/0.37.18...0.37.19) (2022-11-21)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
@@ -1,3 +1,44 @@
|
||||
## [0.37.26](https://github.com/discordjs/discord-api-types/compare/0.37.25...0.37.26) (2023-01-05)
|
||||
|
||||
### Features
|
||||
|
||||
- add RESTJSONErrorCode `40062` and RESTRateLimit.code ([#620](https://github.com/discordjs/discord-api-types/issues/620)) ([4a25caf](https://github.com/discordjs/discord-api-types/commit/4a25caf506c685a8e0af630eef3bd3d2735d64ed))
|
||||
- **RESTGetAPIAuditLogQuery:** support `after` ([#682](https://github.com/discordjs/discord-api-types/issues/682)) ([bb2ef84](https://github.com/discordjs/discord-api-types/commit/bb2ef843133b29e3042bdfde20b5adb1c3639e01))
|
||||
- **RESTJSONErrorCodes:** add error `30058` ([#676](https://github.com/discordjs/discord-api-types/issues/676)) ([921bffd](https://github.com/discordjs/discord-api-types/commit/921bffd1b210b6cf2dc6971e451fa0a9e6f6c185))
|
||||
- **RESTJSONErrorCodes:** add error `50067` ([#640](https://github.com/discordjs/discord-api-types/issues/640)) ([6e4a611](https://github.com/discordjs/discord-api-types/commit/6e4a6115ae44aca5c0b61f621ad75829632850f4))
|
||||
|
||||
## [0.37.25](https://github.com/discordjs/discord-api-types/compare/0.37.24...0.37.25) (2022-12-29)
|
||||
|
||||
## [0.37.24](https://github.com/discordjs/discord-api-types/compare/0.37.23...0.37.24) (2022-12-19)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **APIApplicationRoleConnection:** `metadata` values can be numbers ([#673](https://github.com/discordjs/discord-api-types/issues/673)) ([8df9f14](https://github.com/discordjs/discord-api-types/commit/8df9f14a24b714d3b009711eec894cad1e199881))
|
||||
|
||||
## [0.37.23](https://github.com/discordjs/discord-api-types/compare/0.37.22...0.37.23) (2022-12-15)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **APIChannel:** correctly type present properties based on channel type ([#669](https://github.com/discordjs/discord-api-types/issues/669)) ([2a5413d](https://github.com/discordjs/discord-api-types/commit/2a5413def49dbb413227d9b02be500b9184b731d))
|
||||
- **Interactions:** make app_permissions required ([#652](https://github.com/discordjs/discord-api-types/issues/652)) ([89bc0f4](https://github.com/discordjs/discord-api-types/commit/89bc0f40b60434a768abac95188a2e4e47c2acd9))
|
||||
|
||||
### Features
|
||||
|
||||
- add role connections ([#651](https://github.com/discordjs/discord-api-types/issues/651)) ([d7b666c](https://github.com/discordjs/discord-api-types/commit/d7b666c739bb848ead5a3af09e37e64ed962014b))
|
||||
- **APIApplicationCommand:** add `nsfw` field ([#637](https://github.com/discordjs/discord-api-types/issues/637)) ([c3fda99](https://github.com/discordjs/discord-api-types/commit/c3fda99637b4d7688111180f90d6aa41c008ed17))
|
||||
- **APIGuildForumChannel:** add `default_forum_layout` ([#658](https://github.com/discordjs/discord-api-types/issues/658)) ([190242a](https://github.com/discordjs/discord-api-types/commit/190242a59d5512fdc766217ec9f7c9c54a7b2dcb))
|
||||
- **Locale:** add Indonesian locale ([#643](https://github.com/discordjs/discord-api-types/issues/643)) ([2b75d13](https://github.com/discordjs/discord-api-types/commit/2b75d13b393f8f9011ec68617cb4e9f9d3fa09e7))
|
||||
|
||||
## [0.37.22](https://github.com/discordjs/discord-api-types/compare/0.37.21...0.37.22) (2022-12-12)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **APIChannel:** correctly type `name` based on channel type ([#666](https://github.com/discordjs/discord-api-types/issues/666)) ([995126e](https://github.com/discordjs/discord-api-types/commit/995126e2cc1494f9fad2ad7c44ecc87898994e44))
|
||||
|
||||
## [0.37.21](https://github.com/discordjs/discord-api-types/compare/0.37.20...0.37.21) (2022-12-05)
|
||||
|
||||
## [0.37.20](https://github.com/discordjs/discord-api-types/compare/0.37.19...0.37.20) (2022-11-24)
|
||||
|
||||
## [0.37.19](https://github.com/discordjs/discord-api-types/compare/0.37.18...0.37.19) (2022-11-21)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
@@ -83,6 +83,12 @@ export type RESTErrorData = RESTErrorGroupWrapper | RESTErrorFieldInformation |
|
||||
* https://discord.com/developers/docs/topics/rate-limits#exceeding-a-rate-limit-rate-limit-response-structure
|
||||
*/
|
||||
export interface RESTRateLimit {
|
||||
/**
|
||||
* An error code for some limits
|
||||
*
|
||||
* {@link RESTJSONErrorCodes}
|
||||
*/
|
||||
code?: number;
|
||||
/**
|
||||
* A value indicating if you are being globally rate limited or not
|
||||
*/
|
||||
|
||||
@@ -83,6 +83,10 @@ export interface APIApplicationCommand {
|
||||
* @deprecated Use `dm_permission` and/or `default_member_permissions` instead
|
||||
*/
|
||||
default_permission?: boolean;
|
||||
/**
|
||||
* Indicates whether the command is age-restricted, defaults to `false`
|
||||
*/
|
||||
nsfw?: boolean;
|
||||
/**
|
||||
* Autoincrementing version identifier updated during substantial record changes
|
||||
*/
|
||||
@@ -110,7 +114,9 @@ export type APIApplicationCommandInteractionData =
|
||||
*/
|
||||
export type APIApplicationCommandInteractionWrapper<Data extends APIApplicationCommandInteractionData> =
|
||||
APIBaseInteraction<InteractionType.ApplicationCommand, Data> &
|
||||
Required<Pick<APIBaseInteraction<InteractionType.ApplicationCommand, Data>, 'channel_id' | 'data'>>;
|
||||
Required<
|
||||
Pick<APIBaseInteraction<InteractionType.ApplicationCommand, Data>, 'channel_id' | 'data' | 'app_permissions'>
|
||||
>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
|
||||
@@ -15,7 +15,7 @@ export type APIMessageComponentInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageComponentInteractionData>,
|
||||
'channel_id' | 'data' | 'message'
|
||||
'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
@@ -26,7 +26,7 @@ export type APIMessageComponentButtonInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageButtonInteractionData>,
|
||||
'channel_id' | 'data' | 'message'
|
||||
'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
@@ -37,7 +37,7 @@ export type APIMessageComponentSelectMenuInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageSelectMenuInteractionData>,
|
||||
'channel_id' | 'data' | 'message'
|
||||
'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import type { OAuth2Scopes } from './oauth2.ts';
|
||||
import type { APITeam } from './teams.ts';
|
||||
import type { APIUser } from './user.ts';
|
||||
import type { Permissions, Snowflake } from '../../globals.ts';
|
||||
import type { LocalizationMap } from '../common.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application#application-object
|
||||
@@ -105,6 +106,11 @@ export interface APIApplication {
|
||||
* The application's default custom authorization link, if enabled
|
||||
*/
|
||||
custom_install_url?: string;
|
||||
/**
|
||||
* The application's role connection verification entry point,
|
||||
* which when configured will render the app as a verification method in the guild role verification configuration
|
||||
*/
|
||||
role_connections_verification_url?: string;
|
||||
}
|
||||
|
||||
export interface APIApplicationInstallParams {
|
||||
@@ -116,18 +122,131 @@ export interface APIApplicationInstallParams {
|
||||
* https://discord.com/developers/docs/resources/application#application-object-application-flags
|
||||
*/
|
||||
export enum ApplicationFlags {
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
EmbeddedReleased = 1 << 1,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
ManagedEmoji = 1 << 2,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
GroupDMCreate = 1 << 4,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
RPCHasConnected = 1 << 11,
|
||||
/**
|
||||
* Intent required for bots in 100 or more servers to receive `presence_update` events
|
||||
*/
|
||||
GatewayPresence = 1 << 12,
|
||||
/**
|
||||
* Intent required for bots in under 100 servers to receive `presence_update` events, found in Bot Settings
|
||||
*/
|
||||
GatewayPresenceLimited = 1 << 13,
|
||||
/**
|
||||
* Intent required for bots in 100 or more servers to receive member-related events like `guild_member_add`.
|
||||
* See list of member-related events [under `GUILD_MEMBERS`](https://discord.com/developers/docs/topics/gateway#list-of-intents)
|
||||
*/
|
||||
GatewayGuildMembers = 1 << 14,
|
||||
/**
|
||||
* Intent required for bots in under 100 servers to receive member-related events like `guild_member_add`, found in Bot Settings.
|
||||
* See list of member-related events [under `GUILD_MEMBERS`](https://discord.com/developers/docs/topics/gateway#list-of-intents)
|
||||
*/
|
||||
GatewayGuildMembersLimited = 1 << 15,
|
||||
/**
|
||||
* Indicates unusual growth of an app that prevents verification
|
||||
*/
|
||||
VerificationPendingGuildLimit = 1 << 16,
|
||||
/**
|
||||
* Indicates if an app is embedded within the Discord client (currently unavailable publicly)
|
||||
*/
|
||||
Embedded = 1 << 17,
|
||||
/**
|
||||
* Intent required for bots in 100 or more servers to receive [message content](https://support-dev.discord.com/hc/en-us/articles/4404772028055)
|
||||
*/
|
||||
GatewayMessageContent = 1 << 18,
|
||||
/**
|
||||
* Intent required for bots in under 100 servers to receive [message content](https://support-dev.discord.com/hc/en-us/articles/4404772028055),
|
||||
* found in Bot Settings
|
||||
*/
|
||||
GatewayMessageContentLimited = 1 << 19,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
EmbeddedFirstParty = 1 << 20,
|
||||
/**
|
||||
* Indicates if an app has registered global [application commands](https://discord.com/developers/docs/interactions/application-commands)
|
||||
*/
|
||||
ApplicationCommandBadge = 1 << 23,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#application-role-connection-metadata-object-application-role-connection-metadata-structure
|
||||
*/
|
||||
export interface APIApplicationRoleConnectionMetadata {
|
||||
/**
|
||||
* Type of metadata value
|
||||
*/
|
||||
type: ApplicationRoleConnectionMetadataType;
|
||||
/**
|
||||
* Dictionary key for the metadata field (must be `a-z`, `0-9`, or `_` characters; max 50 characters)
|
||||
*/
|
||||
key: string;
|
||||
/**
|
||||
* Name of the metadata field (max 100 characters)
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* Translations of the name
|
||||
*/
|
||||
name_localizations?: LocalizationMap;
|
||||
/**
|
||||
* Description of the metadata field (max 200 characters)
|
||||
*/
|
||||
description: string;
|
||||
/**
|
||||
* Translations of the description
|
||||
*/
|
||||
description_localizations?: LocalizationMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#application-role-connection-metadata-object-application-role-connection-metadata-type
|
||||
*/
|
||||
export enum ApplicationRoleConnectionMetadataType {
|
||||
/**
|
||||
* The metadata value (`integer`) is less than or equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerLessThanOrEqual = 1,
|
||||
/**
|
||||
* The metadata value (`integer`) is greater than or equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerGreaterThanOrEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is not equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerNotEqual,
|
||||
/**
|
||||
* The metadata value (`ISO8601 string`) is less than or equal to the guild's configured value (`integer`; days before current date)
|
||||
*/
|
||||
DatetimeLessThanOrEqual,
|
||||
/**
|
||||
* The metadata value (`ISO8601 string`) is greater than or equal to the guild's configured value (`integer`; days before current date)
|
||||
*/
|
||||
DatetimeGreaterThanOrEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is equal to the guild's configured value (`integer`; `1`)
|
||||
*/
|
||||
BooleanEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is not equal to the guild's configured value (`integer`; `1`)
|
||||
*/
|
||||
BooleanNotEqual,
|
||||
}
|
||||
|
||||
@@ -25,9 +25,9 @@ export interface APIPartialChannel {
|
||||
*/
|
||||
type: ChannelType;
|
||||
/**
|
||||
* The name of the channel (2-100 characters)
|
||||
* The name of the channel (1-100 characters)
|
||||
*/
|
||||
name?: string;
|
||||
name?: string | null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -57,6 +57,11 @@ export interface APITextBasedChannel<T extends ChannelType> extends APIChannelBa
|
||||
* The id of the last message sent in this channel (may not point to an existing or valid message)
|
||||
*/
|
||||
last_message_id?: Snowflake | null;
|
||||
/**
|
||||
* When the last pinned message was pinned.
|
||||
* This may be `null` in events such as `GUILD_CREATE` when a message is not pinned
|
||||
*/
|
||||
last_pin_timestamp?: string | null;
|
||||
/**
|
||||
* Amount of seconds a user has to wait before sending another message (0-21600);
|
||||
* bots, as well as users with the permission `MANAGE_MESSAGES` or `MANAGE_CHANNELS`, are unaffected
|
||||
@@ -69,7 +74,11 @@ export interface APITextBasedChannel<T extends ChannelType> extends APIChannelBa
|
||||
rate_limit_per_user?: number;
|
||||
}
|
||||
|
||||
export interface APIGuildChannel<T extends ChannelType> extends APIChannelBase<T> {
|
||||
export interface APIGuildChannel<T extends ChannelType> extends Omit<APIChannelBase<T>, 'name'> {
|
||||
/**
|
||||
* The name of the channel (1-100 characters)
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* The id of the guild (may be missing for some channel objects received over gateway guild dispatches)
|
||||
*/
|
||||
@@ -101,21 +110,21 @@ export interface APIGuildChannel<T extends ChannelType> extends APIChannelBase<T
|
||||
export type GuildTextChannelType = Exclude<TextChannelType, ChannelType.DM | ChannelType.GroupDM>;
|
||||
|
||||
export interface APIGuildTextChannel<T extends GuildTextChannelType>
|
||||
extends APITextBasedChannel<T>,
|
||||
extends Omit<APITextBasedChannel<T>, 'name'>,
|
||||
APIGuildChannel<T> {
|
||||
/**
|
||||
* Default duration for newly created threads, in minutes, to automatically archive the thread after recent activity
|
||||
*/
|
||||
default_auto_archive_duration?: ThreadAutoArchiveDuration;
|
||||
/**
|
||||
* The initial `rate_limit_per_user` to set on newly created threads.
|
||||
* This field is copied to the thread at creation time and does not live update
|
||||
*/
|
||||
default_thread_rate_limit_per_user?: number;
|
||||
/**
|
||||
* The channel topic (0-4096 characters for forum channels, 0-1024 characters for all others)
|
||||
*/
|
||||
topic?: string | null;
|
||||
/**
|
||||
* When the last pinned message was pinned.
|
||||
* This may be `null` in events such as `GUILD_CREATE` when a message is not pinned
|
||||
*/
|
||||
last_pin_timestamp?: string | null;
|
||||
}
|
||||
|
||||
export type APITextChannel = APIGuildTextChannel<ChannelType.GuildText>;
|
||||
@@ -141,7 +150,7 @@ export interface APIVoiceChannelBase<T extends ChannelType> extends APIGuildChan
|
||||
|
||||
export interface APIGuildVoiceChannel
|
||||
extends APIVoiceChannelBase<ChannelType.GuildVoice>,
|
||||
APITextBasedChannel<ChannelType.GuildVoice> {
|
||||
Omit<APITextBasedChannel<ChannelType.GuildVoice>, 'name' | 'last_pin_timestamp'> {
|
||||
/**
|
||||
* The camera video quality mode of the voice channel, `1` when not present
|
||||
*
|
||||
@@ -161,9 +170,18 @@ export interface APIDMChannelBase<T extends ChannelType> extends Omit<APITextBas
|
||||
recipients?: APIUser[];
|
||||
}
|
||||
|
||||
export type APIDMChannel = APIDMChannelBase<ChannelType.DM>;
|
||||
export interface APIDMChannel extends Omit<APIDMChannelBase<ChannelType.DM>, 'name'> {
|
||||
/**
|
||||
* The name of the channel (always null for DM channels)
|
||||
*/
|
||||
name: null;
|
||||
}
|
||||
|
||||
export interface APIGroupDMChannel extends Omit<APIDMChannelBase<ChannelType.GroupDM>, 'name'> {
|
||||
/**
|
||||
* The name of the channel (1-100 characters)
|
||||
*/
|
||||
name: string | null;
|
||||
/**
|
||||
* Application id of the group DM creator if it is bot-created
|
||||
*/
|
||||
@@ -172,10 +190,6 @@ export interface APIGroupDMChannel extends Omit<APIDMChannelBase<ChannelType.Gro
|
||||
* Icon hash
|
||||
*/
|
||||
icon?: string | null;
|
||||
/**
|
||||
* The name of the channel (2-100 characters)
|
||||
*/
|
||||
name?: string | null;
|
||||
/**
|
||||
* ID of the DM creator
|
||||
*/
|
||||
@@ -187,7 +201,11 @@ export interface APIGroupDMChannel extends Omit<APIDMChannelBase<ChannelType.Gro
|
||||
}
|
||||
|
||||
export interface APIThreadChannel
|
||||
extends APIGuildChannel<ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread> {
|
||||
extends Omit<
|
||||
APITextBasedChannel<ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread>,
|
||||
'name'
|
||||
>,
|
||||
APIGuildChannel<ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread> {
|
||||
/**
|
||||
* The client users member for the thread, only included in select endpoints
|
||||
*/
|
||||
@@ -206,24 +224,10 @@ export interface APIThreadChannel
|
||||
* The approximate member count of the thread, does not count above 50 even if there are more members
|
||||
*/
|
||||
member_count?: number;
|
||||
/**
|
||||
* Amount of seconds a user has to wait before sending another message (0-21600);
|
||||
* bots, as well as users with the permission `MANAGE_MESSAGES` or `MANAGE_CHANNELS`, are unaffected
|
||||
*
|
||||
* `rate_limit_per_user` also applies to thread creation. Users can send one message and create one thread during each `rate_limit_per_user` interval.
|
||||
*
|
||||
* For thread channels, `rate_limit_per_user` is only returned if the field is set to a non-zero and non-null value.
|
||||
* The absence of this field in API calls and Gateway events should indicate that slowmode has been reset to the default value.
|
||||
*/
|
||||
rate_limit_per_user?: number;
|
||||
/**
|
||||
* ID of the thread creator
|
||||
*/
|
||||
owner_id?: Snowflake;
|
||||
/**
|
||||
* The id of the last message sent in this thread (may not point to an existing or valid message)
|
||||
*/
|
||||
last_message_id?: Snowflake | null;
|
||||
/**
|
||||
* Number of messages ever sent in a thread
|
||||
*
|
||||
@@ -290,24 +294,41 @@ export enum SortOrderType {
|
||||
CreationDate,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel/#channel-object-forum-layout-types
|
||||
*/
|
||||
export enum ForumLayoutType {
|
||||
/**
|
||||
* No default has been set for forum channel
|
||||
*/
|
||||
NotSet,
|
||||
/**
|
||||
* Display posts as a list
|
||||
*/
|
||||
ListView,
|
||||
/**
|
||||
* Display posts as a collection of tiles
|
||||
*/
|
||||
GalleryView,
|
||||
}
|
||||
|
||||
export interface APIGuildForumChannel extends APIGuildTextChannel<ChannelType.GuildForum> {
|
||||
/**
|
||||
* The set of tags that can be used in a forum channel
|
||||
*/
|
||||
available_tags: APIGuildForumTag[];
|
||||
/**
|
||||
* The initial `rate_limit_per_user` to set on newly created threads in a forum channel.
|
||||
* This field is copied to the thread at creation time and does not live update
|
||||
*/
|
||||
default_thread_rate_limit_per_user?: number;
|
||||
/**
|
||||
* The emoji to show in the add reaction button on a thread in a forum channel
|
||||
*/
|
||||
default_reaction_emoji: APIGuildForumDefaultReactionEmoji | null;
|
||||
/**
|
||||
* The default sort order type used to order posts in forum channels
|
||||
* The default sort order type used to order posts in a forum channel
|
||||
*/
|
||||
default_sort_order: SortOrderType | null;
|
||||
/**
|
||||
* The default layout type used to display posts in a forum channel. Defaults to `0`, which indicates a layout view has not been set by a channel admin
|
||||
*/
|
||||
default_forum_layout: ForumLayoutType;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -322,7 +343,6 @@ export type APIChannel =
|
||||
| APIGuildStageVoiceChannel
|
||||
| APIGuildCategoryChannel
|
||||
| APIThreadChannel
|
||||
| APINewsChannel
|
||||
| APIGuildForumChannel;
|
||||
|
||||
/**
|
||||
@@ -348,13 +368,13 @@ export enum ChannelType {
|
||||
/**
|
||||
* An organizational category that contains up to 50 channels
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/115001580171-Channel-Categories-101
|
||||
* See https://support.discord.com/hc/articles/115001580171
|
||||
*/
|
||||
GuildCategory,
|
||||
/**
|
||||
* A channel that users can follow and crosspost into their own guild
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/360032008192
|
||||
* See https://support.discord.com/hc/articles/360032008192
|
||||
*/
|
||||
GuildAnnouncement,
|
||||
/**
|
||||
@@ -372,13 +392,13 @@ export enum ChannelType {
|
||||
/**
|
||||
* A voice channel for hosting events with an audience
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/1500005513722
|
||||
* See https://support.discord.com/hc/articles/1500005513722
|
||||
*/
|
||||
GuildStageVoice,
|
||||
/**
|
||||
* The channel in a Student Hub containing the listed servers
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
* See https://support.discord.com/hc/articles/4406046651927
|
||||
*/
|
||||
GuildDirectory,
|
||||
/**
|
||||
@@ -393,7 +413,7 @@ export enum ChannelType {
|
||||
*
|
||||
* @deprecated This is the old name for {@apilink ChannelType#GuildAnnouncement}
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/360032008192
|
||||
* See https://support.discord.com/hc/articles/360032008192
|
||||
*/
|
||||
GuildNews = 5,
|
||||
/**
|
||||
@@ -456,7 +476,7 @@ export interface APIMessage {
|
||||
* 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/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
content: string;
|
||||
/**
|
||||
@@ -513,7 +533,7 @@ export interface APIMessage {
|
||||
* 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/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
attachments: APIAttachment[];
|
||||
/**
|
||||
@@ -526,7 +546,7 @@ export interface APIMessage {
|
||||
* 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/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
embeds: APIEmbed[];
|
||||
/**
|
||||
@@ -616,7 +636,7 @@ export interface APIMessage {
|
||||
* 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/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
components?: APIActionRowComponent<APIMessageActionRowComponent>[];
|
||||
/**
|
||||
|
||||
@@ -419,7 +419,7 @@ export enum GuildFeature {
|
||||
/**
|
||||
* Guild is a Student Hub
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
* See https://support.discord.com/hc/articles/4406046651927
|
||||
*
|
||||
* @unstable This feature is currently not documented by Discord, but has known value
|
||||
*/
|
||||
@@ -435,7 +435,7 @@ export enum GuildFeature {
|
||||
/**
|
||||
* Guild is in a Student Hub
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
* See https://support.discord.com/hc/articles/4406046651927
|
||||
*
|
||||
* @unstable This feature is currently not documented by Discord, but has known value
|
||||
*/
|
||||
@@ -602,7 +602,7 @@ export interface APIGuildMember {
|
||||
/**
|
||||
* When the user started boosting the guild
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/360028038352-Server-Boosting-
|
||||
* See https://support.discord.com/hc/articles/360028038352
|
||||
*/
|
||||
premium_since?: string | null;
|
||||
/**
|
||||
|
||||
@@ -61,6 +61,10 @@ export enum OAuth2Scopes {
|
||||
* (otherwise restricted to channels/guilds your app creates)
|
||||
*/
|
||||
MessagesRead = 'messages.read',
|
||||
/**
|
||||
* Allows your app to update a user's connection and metadata for the app
|
||||
*/
|
||||
RoleConnectionsWrite = 'role_connections.write',
|
||||
/**
|
||||
* For local rpc server access, this allows you to control a user's local Discord client - requires Discord approval
|
||||
*/
|
||||
|
||||
@@ -73,7 +73,7 @@ export enum StickerType {
|
||||
*/
|
||||
Standard = 1,
|
||||
/**
|
||||
* A sticker uploaded to a Boosted guild for the guild's members
|
||||
* A sticker uploaded to a guild for the guild's members
|
||||
*/
|
||||
Guild,
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ export enum UserFlags {
|
||||
*/
|
||||
VerifiedDeveloper = 1 << 17,
|
||||
/**
|
||||
* Discord Certified Moderator
|
||||
* Moderator Programs Alumni
|
||||
*/
|
||||
CertifiedModerator = 1 << 18,
|
||||
/**
|
||||
@@ -152,7 +152,7 @@ export enum UserFlags {
|
||||
*/
|
||||
ActiveDeveloper = 1 << 22,
|
||||
/**
|
||||
* User's account has been quarantined based on recent activity
|
||||
* User's account has been [quarantined](https://support.discord.com/hc/articles/6461420677527) based on recent activity
|
||||
*
|
||||
* @unstable This user flag is currently not documented by Discord but has a known value which we will try to keep up to date.
|
||||
*
|
||||
@@ -255,3 +255,21 @@ export enum ConnectionVisibility {
|
||||
*/
|
||||
Everyone,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#application-role-connection-object-application-role-connection-structure
|
||||
*/
|
||||
export interface APIApplicationRoleConnection {
|
||||
/**
|
||||
* The vanity name of the platform a bot has connected (max 50 characters)
|
||||
*/
|
||||
platform_name: string | null;
|
||||
/**
|
||||
* The username on the platform a bot has connected (max 100 characters)
|
||||
*/
|
||||
platform_username: string | null;
|
||||
/**
|
||||
* 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>;
|
||||
}
|
||||
|
||||
@@ -83,6 +83,10 @@ export interface APIApplicationCommand {
|
||||
* @deprecated Use `dm_permission` and/or `default_member_permissions` instead
|
||||
*/
|
||||
default_permission?: boolean;
|
||||
/**
|
||||
* Indicates whether the command is age-restricted, defaults to `false`
|
||||
*/
|
||||
nsfw?: boolean;
|
||||
/**
|
||||
* Autoincrementing version identifier updated during substantial record changes
|
||||
*/
|
||||
@@ -110,7 +114,9 @@ export type APIApplicationCommandInteractionData =
|
||||
*/
|
||||
export type APIApplicationCommandInteractionWrapper<Data extends APIApplicationCommandInteractionData> =
|
||||
APIBaseInteraction<InteractionType.ApplicationCommand, Data> &
|
||||
Required<Pick<APIBaseInteraction<InteractionType.ApplicationCommand, Data>, 'channel_id' | 'data'>>;
|
||||
Required<
|
||||
Pick<APIBaseInteraction<InteractionType.ApplicationCommand, Data>, 'channel_id' | 'data' | 'app_permissions'>
|
||||
>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
|
||||
@@ -15,7 +15,7 @@ export type APIMessageComponentInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageComponentInteractionData>,
|
||||
'channel_id' | 'data' | 'message'
|
||||
'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
@@ -26,7 +26,7 @@ export type APIMessageComponentButtonInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageButtonInteractionData>,
|
||||
'channel_id' | 'data' | 'message'
|
||||
'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
@@ -37,7 +37,7 @@ export type APIMessageComponentSelectMenuInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageSelectMenuInteractionData>,
|
||||
'channel_id' | 'data' | 'message'
|
||||
'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import type { OAuth2Scopes } from './oauth2.ts';
|
||||
import type { APITeam } from './teams.ts';
|
||||
import type { APIUser } from './user.ts';
|
||||
import type { Permissions, Snowflake } from '../../globals.ts';
|
||||
import type { LocalizationMap } from '../common.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application#application-object
|
||||
@@ -105,6 +106,11 @@ export interface APIApplication {
|
||||
* The application's default custom authorization link, if enabled
|
||||
*/
|
||||
custom_install_url?: string;
|
||||
/**
|
||||
* The application's role connection verification entry point,
|
||||
* which when configured will render the app as a verification method in the guild role verification configuration
|
||||
*/
|
||||
role_connections_verification_url?: string;
|
||||
}
|
||||
|
||||
export interface APIApplicationInstallParams {
|
||||
@@ -116,18 +122,131 @@ export interface APIApplicationInstallParams {
|
||||
* https://discord.com/developers/docs/resources/application#application-object-application-flags
|
||||
*/
|
||||
export enum ApplicationFlags {
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
EmbeddedReleased = 1 << 1,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
ManagedEmoji = 1 << 2,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
GroupDMCreate = 1 << 4,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
RPCHasConnected = 1 << 11,
|
||||
/**
|
||||
* Intent required for bots in 100 or more servers to receive `presence_update` events
|
||||
*/
|
||||
GatewayPresence = 1 << 12,
|
||||
/**
|
||||
* Intent required for bots in under 100 servers to receive `presence_update` events, found in Bot Settings
|
||||
*/
|
||||
GatewayPresenceLimited = 1 << 13,
|
||||
/**
|
||||
* Intent required for bots in 100 or more servers to receive member-related events like `guild_member_add`.
|
||||
* See list of member-related events [under `GUILD_MEMBERS`](https://discord.com/developers/docs/topics/gateway#list-of-intents)
|
||||
*/
|
||||
GatewayGuildMembers = 1 << 14,
|
||||
/**
|
||||
* Intent required for bots in under 100 servers to receive member-related events like `guild_member_add`, found in Bot Settings.
|
||||
* See list of member-related events [under `GUILD_MEMBERS`](https://discord.com/developers/docs/topics/gateway#list-of-intents)
|
||||
*/
|
||||
GatewayGuildMembersLimited = 1 << 15,
|
||||
/**
|
||||
* Indicates unusual growth of an app that prevents verification
|
||||
*/
|
||||
VerificationPendingGuildLimit = 1 << 16,
|
||||
/**
|
||||
* Indicates if an app is embedded within the Discord client (currently unavailable publicly)
|
||||
*/
|
||||
Embedded = 1 << 17,
|
||||
/**
|
||||
* Intent required for bots in 100 or more servers to receive [message content](https://support-dev.discord.com/hc/en-us/articles/4404772028055)
|
||||
*/
|
||||
GatewayMessageContent = 1 << 18,
|
||||
/**
|
||||
* Intent required for bots in under 100 servers to receive [message content](https://support-dev.discord.com/hc/en-us/articles/4404772028055),
|
||||
* found in Bot Settings
|
||||
*/
|
||||
GatewayMessageContentLimited = 1 << 19,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
EmbeddedFirstParty = 1 << 20,
|
||||
/**
|
||||
* Indicates if an app has registered global [application commands](https://discord.com/developers/docs/interactions/application-commands)
|
||||
*/
|
||||
ApplicationCommandBadge = 1 << 23,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#application-role-connection-metadata-object-application-role-connection-metadata-structure
|
||||
*/
|
||||
export interface APIApplicationRoleConnectionMetadata {
|
||||
/**
|
||||
* Type of metadata value
|
||||
*/
|
||||
type: ApplicationRoleConnectionMetadataType;
|
||||
/**
|
||||
* Dictionary key for the metadata field (must be `a-z`, `0-9`, or `_` characters; max 50 characters)
|
||||
*/
|
||||
key: string;
|
||||
/**
|
||||
* Name of the metadata field (max 100 characters)
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* Translations of the name
|
||||
*/
|
||||
name_localizations?: LocalizationMap;
|
||||
/**
|
||||
* Description of the metadata field (max 200 characters)
|
||||
*/
|
||||
description: string;
|
||||
/**
|
||||
* Translations of the description
|
||||
*/
|
||||
description_localizations?: LocalizationMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#application-role-connection-metadata-object-application-role-connection-metadata-type
|
||||
*/
|
||||
export enum ApplicationRoleConnectionMetadataType {
|
||||
/**
|
||||
* The metadata value (`integer`) is less than or equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerLessThanOrEqual = 1,
|
||||
/**
|
||||
* The metadata value (`integer`) is greater than or equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerGreaterThanOrEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is not equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerNotEqual,
|
||||
/**
|
||||
* The metadata value (`ISO8601 string`) is less than or equal to the guild's configured value (`integer`; days before current date)
|
||||
*/
|
||||
DatetimeLessThanOrEqual,
|
||||
/**
|
||||
* The metadata value (`ISO8601 string`) is greater than or equal to the guild's configured value (`integer`; days before current date)
|
||||
*/
|
||||
DatetimeGreaterThanOrEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is equal to the guild's configured value (`integer`; `1`)
|
||||
*/
|
||||
BooleanEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is not equal to the guild's configured value (`integer`; `1`)
|
||||
*/
|
||||
BooleanNotEqual,
|
||||
}
|
||||
|
||||
@@ -25,9 +25,9 @@ export interface APIPartialChannel {
|
||||
*/
|
||||
type: ChannelType;
|
||||
/**
|
||||
* The name of the channel (2-100 characters)
|
||||
* The name of the channel (1-100 characters)
|
||||
*/
|
||||
name?: string;
|
||||
name?: string | null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -57,6 +57,11 @@ export interface APITextBasedChannel<T extends ChannelType> extends APIChannelBa
|
||||
* The id of the last message sent in this channel (may not point to an existing or valid message)
|
||||
*/
|
||||
last_message_id?: Snowflake | null;
|
||||
/**
|
||||
* When the last pinned message was pinned.
|
||||
* This may be `null` in events such as `GUILD_CREATE` when a message is not pinned
|
||||
*/
|
||||
last_pin_timestamp?: string | null;
|
||||
/**
|
||||
* Amount of seconds a user has to wait before sending another message (0-21600);
|
||||
* bots, as well as users with the permission `MANAGE_MESSAGES` or `MANAGE_CHANNELS`, are unaffected
|
||||
@@ -69,7 +74,11 @@ export interface APITextBasedChannel<T extends ChannelType> extends APIChannelBa
|
||||
rate_limit_per_user?: number;
|
||||
}
|
||||
|
||||
export interface APIGuildChannel<T extends ChannelType> extends APIChannelBase<T> {
|
||||
export interface APIGuildChannel<T extends ChannelType> extends Omit<APIChannelBase<T>, 'name'> {
|
||||
/**
|
||||
* The name of the channel (1-100 characters)
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* The id of the guild (may be missing for some channel objects received over gateway guild dispatches)
|
||||
*/
|
||||
@@ -101,21 +110,21 @@ export interface APIGuildChannel<T extends ChannelType> extends APIChannelBase<T
|
||||
export type GuildTextChannelType = Exclude<TextChannelType, ChannelType.DM | ChannelType.GroupDM>;
|
||||
|
||||
export interface APIGuildTextChannel<T extends GuildTextChannelType>
|
||||
extends APITextBasedChannel<T>,
|
||||
extends Omit<APITextBasedChannel<T>, 'name'>,
|
||||
APIGuildChannel<T> {
|
||||
/**
|
||||
* Default duration for newly created threads, in minutes, to automatically archive the thread after recent activity
|
||||
*/
|
||||
default_auto_archive_duration?: ThreadAutoArchiveDuration;
|
||||
/**
|
||||
* The initial `rate_limit_per_user` to set on newly created threads.
|
||||
* This field is copied to the thread at creation time and does not live update
|
||||
*/
|
||||
default_thread_rate_limit_per_user?: number;
|
||||
/**
|
||||
* The channel topic (0-1024 characters)
|
||||
*/
|
||||
topic?: string | null;
|
||||
/**
|
||||
* When the last pinned message was pinned.
|
||||
* This may be `null` in events such as `GUILD_CREATE` when a message is not pinned
|
||||
*/
|
||||
last_pin_timestamp?: string | null;
|
||||
}
|
||||
|
||||
export type APITextChannel = APIGuildTextChannel<ChannelType.GuildText>;
|
||||
@@ -141,7 +150,7 @@ export interface APIVoiceChannelBase<T extends ChannelType> extends APIGuildChan
|
||||
|
||||
export interface APIGuildVoiceChannel
|
||||
extends APIVoiceChannelBase<ChannelType.GuildVoice>,
|
||||
APITextBasedChannel<ChannelType.GuildVoice> {
|
||||
Omit<APITextBasedChannel<ChannelType.GuildVoice>, 'name' | 'last_pin_timestamp'> {
|
||||
/**
|
||||
* The camera video quality mode of the voice channel, `1` when not present
|
||||
*
|
||||
@@ -161,9 +170,18 @@ export interface APIDMChannelBase<T extends ChannelType> extends Omit<APITextBas
|
||||
recipients?: APIUser[];
|
||||
}
|
||||
|
||||
export type APIDMChannel = APIDMChannelBase<ChannelType.DM>;
|
||||
export interface APIDMChannel extends Omit<APIDMChannelBase<ChannelType.DM>, 'name'> {
|
||||
/**
|
||||
* The name of the channel (always null for DM channels)
|
||||
*/
|
||||
name: null;
|
||||
}
|
||||
|
||||
export interface APIGroupDMChannel extends Omit<APIDMChannelBase<ChannelType.GroupDM>, 'name'> {
|
||||
/**
|
||||
* The name of the channel (1-100 characters)
|
||||
*/
|
||||
name: string | null;
|
||||
/**
|
||||
* Application id of the group DM creator if it is bot-created
|
||||
*/
|
||||
@@ -172,22 +190,18 @@ export interface APIGroupDMChannel extends Omit<APIDMChannelBase<ChannelType.Gro
|
||||
* Icon hash
|
||||
*/
|
||||
icon?: string | null;
|
||||
/**
|
||||
* The name of the channel (2-100 characters)
|
||||
*/
|
||||
name?: string | null;
|
||||
/**
|
||||
* ID of the DM creator
|
||||
*/
|
||||
owner_id?: Snowflake;
|
||||
/**
|
||||
* The id of the last message sent in this channel (may not point to an existing or valid message)
|
||||
*/
|
||||
last_message_id?: Snowflake | null;
|
||||
}
|
||||
|
||||
export interface APIThreadChannel
|
||||
extends APIGuildChannel<ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread> {
|
||||
extends Omit<
|
||||
APITextBasedChannel<ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread>,
|
||||
'name'
|
||||
>,
|
||||
APIGuildChannel<ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread> {
|
||||
/**
|
||||
* The client users member for the thread, only included in select endpoints
|
||||
*/
|
||||
@@ -206,24 +220,10 @@ export interface APIThreadChannel
|
||||
* The approximate member count of the thread, does not count above 50 even if there are more members
|
||||
*/
|
||||
member_count?: number;
|
||||
/**
|
||||
* Amount of seconds a user has to wait before sending another message (0-21600);
|
||||
* bots, as well as users with the permission `MANAGE_MESSAGES` or `MANAGE_CHANNELS`, are unaffected
|
||||
*
|
||||
* `rate_limit_per_user` also applies to thread creation. Users can send one message and create one thread during each `rate_limit_per_user` interval.
|
||||
*
|
||||
* For thread channels, `rate_limit_per_user` is only returned if the field is set to a non-zero and non-null value.
|
||||
* The absence of this field in API calls and Gateway events should indicate that slowmode has been reset to the default value.
|
||||
*/
|
||||
rate_limit_per_user?: number;
|
||||
/**
|
||||
* ID of the thread creator
|
||||
*/
|
||||
owner_id?: Snowflake;
|
||||
/**
|
||||
* The id of the last message sent in this thread (may not point to an existing or valid message)
|
||||
*/
|
||||
last_message_id?: Snowflake | null;
|
||||
/**
|
||||
* Number of messages ever sent in a thread
|
||||
*
|
||||
@@ -290,24 +290,41 @@ export enum SortOrderType {
|
||||
CreationDate,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel/#channel-object-forum-layout-types
|
||||
*/
|
||||
export enum ForumLayoutType {
|
||||
/**
|
||||
* No default has been set for forum channel
|
||||
*/
|
||||
NotSet,
|
||||
/**
|
||||
* Display posts as a list
|
||||
*/
|
||||
ListView,
|
||||
/**
|
||||
* Display posts as a collection of tiles
|
||||
*/
|
||||
GalleryView,
|
||||
}
|
||||
|
||||
export interface APIGuildForumChannel extends APIGuildTextChannel<ChannelType.GuildForum> {
|
||||
/**
|
||||
* The set of tags that can be used in a forum channel
|
||||
*/
|
||||
available_tags: APIGuildForumTag[];
|
||||
/**
|
||||
* The initial `rate_limit_per_user` to set on newly created threads in a forum channel.
|
||||
* This field is copied to the thread at creation time and does not live update
|
||||
*/
|
||||
default_thread_rate_limit_per_user?: number;
|
||||
/**
|
||||
* The emoji to show in the add reaction button on a thread in a forum channel
|
||||
*/
|
||||
default_reaction_emoji: APIGuildForumDefaultReactionEmoji | null;
|
||||
/**
|
||||
* The default sort order type used to order posts in forum channels
|
||||
* The default sort order type used to order posts in a forum channel
|
||||
*/
|
||||
default_sort_order: SortOrderType | null;
|
||||
/**
|
||||
* The default layout type used to display posts in a forum channel. Defaults to `0`, which indicates a layout view has not been set by a channel admin
|
||||
*/
|
||||
default_forum_layout: ForumLayoutType;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -322,7 +339,6 @@ export type APIChannel =
|
||||
| APIGuildStageVoiceChannel
|
||||
| APIGuildCategoryChannel
|
||||
| APIThreadChannel
|
||||
| APINewsChannel
|
||||
| APIGuildForumChannel;
|
||||
|
||||
/**
|
||||
@@ -348,13 +364,13 @@ export enum ChannelType {
|
||||
/**
|
||||
* An organizational category that contains up to 50 channels
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/115001580171-Channel-Categories-101
|
||||
* See https://support.discord.com/hc/articles/115001580171
|
||||
*/
|
||||
GuildCategory,
|
||||
/**
|
||||
* A channel that users can follow and crosspost into their own guild
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/360032008192
|
||||
* See https://support.discord.com/hc/articles/360032008192
|
||||
*/
|
||||
GuildAnnouncement,
|
||||
/**
|
||||
@@ -372,13 +388,13 @@ export enum ChannelType {
|
||||
/**
|
||||
* A voice channel for hosting events with an audience
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/1500005513722
|
||||
* See https://support.discord.com/hc/articles/1500005513722
|
||||
*/
|
||||
GuildStageVoice,
|
||||
/**
|
||||
* The channel in a Student Hub containing the listed servers
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
* See https://support.discord.com/hc/articles/4406046651927
|
||||
*/
|
||||
GuildDirectory,
|
||||
/**
|
||||
@@ -392,7 +408,7 @@ export enum ChannelType {
|
||||
*
|
||||
* @deprecated This is the old name for {@apilink ChannelType#GuildAnnouncement}
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/360032008192
|
||||
* See https://support.discord.com/hc/articles/360032008192
|
||||
*/
|
||||
GuildNews = 5,
|
||||
/**
|
||||
@@ -454,7 +470,7 @@ export interface APIMessage {
|
||||
*
|
||||
* In the Discord Developers Portal, you need to enable the toggle of this intent of your application in **Bot > Privileged Gateway Intents**
|
||||
*
|
||||
* See https://support-dev.discord.com/hc/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
content: string;
|
||||
/**
|
||||
@@ -510,7 +526,7 @@ export interface APIMessage {
|
||||
*
|
||||
* In the Discord Developers Portal, you need to enable the toggle of this intent of your application in **Bot > Privileged Gateway Intents**
|
||||
*
|
||||
* See https://support-dev.discord.com/hc/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
attachments: APIAttachment[];
|
||||
/**
|
||||
@@ -522,7 +538,7 @@ export interface APIMessage {
|
||||
*
|
||||
* In the Discord Developers Portal, you need to enable the toggle of this intent of your application in **Bot > Privileged Gateway Intents**
|
||||
*
|
||||
* See https://support-dev.discord.com/hc/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
embeds: APIEmbed[];
|
||||
/**
|
||||
@@ -611,7 +627,7 @@ export interface APIMessage {
|
||||
*
|
||||
* In the Discord Developers Portal, you need to enable the toggle of this intent of your application in **Bot > Privileged Gateway Intents**
|
||||
*
|
||||
* See https://support-dev.discord.com/hc/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
components?: APIActionRowComponent<APIMessageActionRowComponent>[];
|
||||
/**
|
||||
|
||||
@@ -419,7 +419,7 @@ export enum GuildFeature {
|
||||
/**
|
||||
* Guild is a Student Hub
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
* See https://support.discord.com/hc/articles/4406046651927
|
||||
*
|
||||
* @unstable This feature is currently not documented by Discord, but has known value
|
||||
*/
|
||||
@@ -435,7 +435,7 @@ export enum GuildFeature {
|
||||
/**
|
||||
* Guild is in a Student Hub
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
* See https://support.discord.com/hc/articles/4406046651927
|
||||
*
|
||||
* @unstable This feature is currently not documented by Discord, but has known value
|
||||
*/
|
||||
@@ -602,7 +602,7 @@ export interface APIGuildMember {
|
||||
/**
|
||||
* When the user started boosting the guild
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/360028038352-Server-Boosting-
|
||||
* See https://support.discord.com/hc/articles/360028038352
|
||||
*/
|
||||
premium_since?: string | null;
|
||||
/**
|
||||
|
||||
@@ -61,6 +61,10 @@ export enum OAuth2Scopes {
|
||||
* (otherwise restricted to channels/guilds your app creates)
|
||||
*/
|
||||
MessagesRead = 'messages.read',
|
||||
/**
|
||||
* Allows your app to update a user's connection and metadata for the app
|
||||
*/
|
||||
RoleConnectionsWrite = 'role_connections.write',
|
||||
/**
|
||||
* For local rpc server access, this allows you to control a user's local Discord client - requires Discord approval
|
||||
*/
|
||||
|
||||
@@ -73,7 +73,7 @@ export enum StickerType {
|
||||
*/
|
||||
Standard = 1,
|
||||
/**
|
||||
* A sticker uploaded to a Boosted guild for the guild's members
|
||||
* A sticker uploaded to a guild for the guild's members
|
||||
*/
|
||||
Guild,
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ export enum UserFlags {
|
||||
*/
|
||||
VerifiedDeveloper = 1 << 17,
|
||||
/**
|
||||
* Discord Certified Moderator
|
||||
* Moderator Programs Alumni
|
||||
*/
|
||||
CertifiedModerator = 1 << 18,
|
||||
/**
|
||||
@@ -152,7 +152,7 @@ export enum UserFlags {
|
||||
*/
|
||||
ActiveDeveloper = 1 << 22,
|
||||
/**
|
||||
* User's account has been quarantined based on recent activity
|
||||
* User's account has been [quarantined](https://support.discord.com/hc/articles/6461420677527) based on recent activity
|
||||
*
|
||||
* @unstable This user flag is currently not documented by Discord but has a known value which we will try to keep up to date.
|
||||
*
|
||||
@@ -255,3 +255,21 @@ export enum ConnectionVisibility {
|
||||
*/
|
||||
Everyone,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#application-role-connection-object-application-role-connection-structure
|
||||
*/
|
||||
export interface APIApplicationRoleConnection {
|
||||
/**
|
||||
* The vanity name of the platform a bot has connected (max 50 characters)
|
||||
*/
|
||||
platform_name: string | null;
|
||||
/**
|
||||
* The username on the platform a bot has connected (max 100 characters)
|
||||
*/
|
||||
platform_username: string | null;
|
||||
/**
|
||||
* 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>;
|
||||
}
|
||||
|
||||
@@ -120,6 +120,8 @@ export enum RESTJSONErrorCodes {
|
||||
|
||||
BitrateIsTooHighForChannelOfThisType = 30052,
|
||||
|
||||
MaximumNumberOfWebhooksPerGuildReached = 30058,
|
||||
|
||||
Unauthorized = 40001,
|
||||
VerifyYourAccount,
|
||||
OpeningDirectMessagesTooFast,
|
||||
@@ -141,6 +143,7 @@ export enum RESTJSONErrorCodes {
|
||||
|
||||
InteractionHasAlreadyBeenAcknowledged = 40060,
|
||||
TagNamesMustBeUnique,
|
||||
ServiceResourceIsBeingRateLimited,
|
||||
|
||||
ThereAreNoTagsAvailableThatCanBeSetByNonModerators = 40066,
|
||||
TagRequiredToCreateAForumPostInThisChannel,
|
||||
@@ -189,7 +192,8 @@ export enum RESTJSONErrorCodes {
|
||||
CannotSelfRedeemThisGift = 50054,
|
||||
InvalidGuild,
|
||||
|
||||
InvalidMessageType = 50068,
|
||||
InvalidRequestOrigin = 50067,
|
||||
InvalidMessageType,
|
||||
|
||||
PaymentSourceRequiredToRedeemGift = 50070,
|
||||
|
||||
@@ -266,6 +270,7 @@ export enum RESTJSONErrorCodes {
|
||||
* https://discord.com/developers/docs/reference#locales
|
||||
*/
|
||||
export enum Locale {
|
||||
Indonesian = 'id',
|
||||
EnglishUS = 'en-US',
|
||||
EnglishGB = 'en-GB',
|
||||
Bulgarian = 'bg',
|
||||
|
||||
16
deno/rest/v10/application.ts
Normal file
16
deno/rest/v10/application.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import type { APIApplicationRoleConnectionMetadata } from '../../payloads/v10/application.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#get-application-role-connection-metadata-records
|
||||
*/
|
||||
export type RESTGetAPIApplicationRoleConnectionMetadataResult = APIApplicationRoleConnectionMetadata[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#update-application-role-connection-metadata-records
|
||||
*/
|
||||
export type RESTPutAPIApplicationRoleConnectionMetadataJSONBody = APIApplicationRoleConnectionMetadata[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#update-application-role-connection-metadata-records
|
||||
*/
|
||||
export type RESTPutAPIApplicationRoleConnectionMetadataResult = APIApplicationRoleConnectionMetadata[];
|
||||
@@ -17,6 +17,10 @@ export interface RESTGetAPIAuditLogQuery {
|
||||
* Filter the log before a certain entry ID
|
||||
*/
|
||||
before?: Snowflake;
|
||||
/**
|
||||
* Filter the log after a certain entry ID
|
||||
*/
|
||||
after?: Snowflake;
|
||||
/**
|
||||
* How many entries are returned (default 50, minimum 1, maximum 100)
|
||||
*
|
||||
|
||||
@@ -22,6 +22,7 @@ import type {
|
||||
APIGuildForumTag,
|
||||
APIGuildForumDefaultReactionEmoji,
|
||||
SortOrderType,
|
||||
ForumLayoutType,
|
||||
} from '../../payloads/v10/mod.ts';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface, StrictPartial } from '../../utils/internals.ts';
|
||||
|
||||
@@ -164,11 +165,17 @@ export type RESTPatchAPIChannelJSONBody = AddUndefinedToPossiblyUndefinedPropert
|
||||
*/
|
||||
default_thread_rate_limit_per_user?: number | null;
|
||||
/**
|
||||
* The default sort order type used to order posts in forum channels
|
||||
* The default sort order type used to order posts in a forum channel
|
||||
*
|
||||
* Channel types: forum
|
||||
*/
|
||||
default_sort_order?: SortOrderType | null;
|
||||
/**
|
||||
* The default layout type used to display posts in a forum channel
|
||||
*
|
||||
* Channel types: forum
|
||||
*/
|
||||
default_forum_layout?: ForumLayoutType;
|
||||
}>;
|
||||
|
||||
/**
|
||||
|
||||
@@ -56,6 +56,7 @@ export type APIGuildCreatePartialChannel = StrictPartial<
|
||||
| 'default_reaction_emoji'
|
||||
| 'available_tags'
|
||||
| 'default_sort_order'
|
||||
| 'default_forum_layout'
|
||||
>
|
||||
> &
|
||||
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import type { Snowflake } from '../../globals.ts';
|
||||
|
||||
export * from '../common.ts';
|
||||
export * from './application.ts';
|
||||
export * from './auditLog.ts';
|
||||
export * from './autoModeration.ts';
|
||||
export * from './channel.ts';
|
||||
@@ -21,6 +22,14 @@ export * from './webhook.ts';
|
||||
export const APIVersion = '10';
|
||||
|
||||
export const Routes = {
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/applications/{application.id}/role-connections/metadata`
|
||||
* - PUT `/applications/{application.id}/role-connections/metadata`
|
||||
*/
|
||||
applicationRoleConnectionMetadata(applicationId: Snowflake) {
|
||||
return `/applications/${applicationId}/role-connections/metadata` as const;
|
||||
},
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/auto-moderation/rules`
|
||||
@@ -521,6 +530,15 @@ export const Routes = {
|
||||
return `/users/${userId}` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/users/@me/applications/{application.id}/role-connection`
|
||||
* - PUT `/users/@me/applications/{application.id}/role-connection`
|
||||
*/
|
||||
userApplicationRoleConnection(applicationId: Snowflake) {
|
||||
return `/users/@me/applications/${applicationId}/role-connection` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/users/@me/guilds`
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
import type { Permissions, Snowflake } from '../../globals.ts';
|
||||
import type { APIChannel, APIConnection, APIGuildMember, APIUser, GuildFeature } from '../../payloads/v10/mod.ts';
|
||||
import type {
|
||||
APIChannel,
|
||||
APIConnection,
|
||||
APIGuildMember,
|
||||
APIUser,
|
||||
APIApplicationRoleConnection,
|
||||
GuildFeature,
|
||||
} from '../../payloads/v10/mod.ts';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface } from '../../utils/internals.ts';
|
||||
|
||||
/**
|
||||
@@ -94,3 +101,31 @@ export type RESTPostAPICurrentUserCreateDMChannelResult = APIChannel;
|
||||
* https://discord.com/developers/docs/resources/user#get-user-connections
|
||||
*/
|
||||
export type RESTGetAPICurrentUserConnectionsResult = APIConnection[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#get-user-application-role-connection
|
||||
*/
|
||||
export type RESTGetAPICurrentUserApplicationRoleConnectionResult = APIApplicationRoleConnection;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#update-user-application-role-connection
|
||||
*/
|
||||
export interface RESTPutAPICurrentUserApplicationRoleConnectionJSONBody {
|
||||
/**
|
||||
* The vanity name of the platform a bot has connected (max 50 characters)
|
||||
*/
|
||||
platform_name?: string;
|
||||
/**
|
||||
* The username on the platform a bot has connected (max 100 characters)
|
||||
*/
|
||||
platform_username?: string;
|
||||
/**
|
||||
* 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>;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#update-user-application-role-connection
|
||||
*/
|
||||
export type RESTPutAPICurrentUserApplicationRoleConnectionResult = APIApplicationRoleConnection;
|
||||
|
||||
16
deno/rest/v9/application.ts
Normal file
16
deno/rest/v9/application.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import type { APIApplicationRoleConnectionMetadata } from '../../payloads/v9/application.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#get-application-role-connection-metadata-records
|
||||
*/
|
||||
export type RESTGetAPIApplicationRoleConnectionMetadataResult = APIApplicationRoleConnectionMetadata[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#update-application-role-connection-metadata-records
|
||||
*/
|
||||
export type RESTPutAPIApplicationRoleConnectionMetadataJSONBody = APIApplicationRoleConnectionMetadata[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#update-application-role-connection-metadata-records
|
||||
*/
|
||||
export type RESTPutAPIApplicationRoleConnectionMetadataResult = APIApplicationRoleConnectionMetadata[];
|
||||
@@ -17,6 +17,10 @@ export interface RESTGetAPIAuditLogQuery {
|
||||
* Filter the log before a certain entry ID
|
||||
*/
|
||||
before?: Snowflake;
|
||||
/**
|
||||
* Filter the log after a certain entry ID
|
||||
*/
|
||||
after?: Snowflake;
|
||||
/**
|
||||
* How many entries are returned (default 50, minimum 1, maximum 100)
|
||||
*
|
||||
|
||||
@@ -22,6 +22,7 @@ import type {
|
||||
APIGuildForumTag,
|
||||
APIGuildForumDefaultReactionEmoji,
|
||||
SortOrderType,
|
||||
ForumLayoutType,
|
||||
} from '../../payloads/v9/mod.ts';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface, StrictPartial } from '../../utils/internals.ts';
|
||||
|
||||
@@ -164,11 +165,17 @@ export type RESTPatchAPIChannelJSONBody = AddUndefinedToPossiblyUndefinedPropert
|
||||
*/
|
||||
default_thread_rate_limit_per_user?: number | null;
|
||||
/**
|
||||
* The default sort order type used to order posts in forum channels
|
||||
* The default sort order type used to order posts in a forum channel
|
||||
*
|
||||
* Channel types: forum
|
||||
*/
|
||||
default_sort_order?: SortOrderType | null;
|
||||
/**
|
||||
* The default layout type used to display posts in a forum channel
|
||||
*
|
||||
* Channel types: forum
|
||||
*/
|
||||
default_forum_layout?: ForumLayoutType;
|
||||
}>;
|
||||
|
||||
/**
|
||||
|
||||
@@ -56,6 +56,7 @@ export type APIGuildCreatePartialChannel = StrictPartial<
|
||||
| 'default_reaction_emoji'
|
||||
| 'available_tags'
|
||||
| 'default_sort_order'
|
||||
| 'default_forum_layout'
|
||||
>
|
||||
> &
|
||||
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import type { Snowflake } from '../../globals.ts';
|
||||
|
||||
export * from '../common.ts';
|
||||
export * from './application.ts';
|
||||
export * from './auditLog.ts';
|
||||
export * from './autoModeration.ts';
|
||||
export * from './channel.ts';
|
||||
@@ -21,6 +22,14 @@ export * from './webhook.ts';
|
||||
export const APIVersion = '9';
|
||||
|
||||
export const Routes = {
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/applications/{application.id}/role-connections/metadata`
|
||||
* - PUT `/applications/{application.id}/role-connections/metadata`
|
||||
*/
|
||||
applicationRoleConnectionMetadata(applicationId: Snowflake) {
|
||||
return `/applications/${applicationId}/role-connections/metadata` as const;
|
||||
},
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/auto-moderation/rules`
|
||||
@@ -530,6 +539,15 @@ export const Routes = {
|
||||
return `/users/${userId}` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/users/@me/applications/{application.id}/role-connection`
|
||||
* - PUT `/users/@me/applications/{application.id}/role-connection`
|
||||
*/
|
||||
userApplicationRoleConnection(applicationId: Snowflake) {
|
||||
return `/users/@me/applications/${applicationId}/role-connection` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/users/@me/guilds`
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
import type { Permissions, Snowflake } from '../../globals.ts';
|
||||
import type { APIChannel, APIConnection, APIGuildMember, APIUser, GuildFeature } from '../../payloads/v9/mod.ts';
|
||||
import type {
|
||||
APIChannel,
|
||||
APIConnection,
|
||||
APIGuildMember,
|
||||
APIUser,
|
||||
APIApplicationRoleConnection,
|
||||
GuildFeature,
|
||||
} from '../../payloads/v9/mod.ts';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface } from '../../utils/internals.ts';
|
||||
|
||||
/**
|
||||
@@ -94,3 +101,31 @@ export type RESTPostAPICurrentUserCreateDMChannelResult = APIChannel;
|
||||
* https://discord.com/developers/docs/resources/user#get-user-connections
|
||||
*/
|
||||
export type RESTGetAPICurrentUserConnectionsResult = APIConnection[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#get-user-application-role-connection
|
||||
*/
|
||||
export type RESTGetAPICurrentUserApplicationRoleConnectionResult = APIApplicationRoleConnection;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#update-user-application-role-connection
|
||||
*/
|
||||
export interface RESTPutAPICurrentUserApplicationRoleConnectionJSONBody {
|
||||
/**
|
||||
* The vanity name of the platform a bot has connected (max 50 characters)
|
||||
*/
|
||||
platform_name?: string;
|
||||
/**
|
||||
* The username on the platform a bot has connected (max 100 characters)
|
||||
*/
|
||||
platform_username?: string;
|
||||
/**
|
||||
* 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>;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#update-user-application-role-connection
|
||||
*/
|
||||
export type RESTPutAPICurrentUserApplicationRoleConnectionResult = APIApplicationRoleConnection;
|
||||
|
||||
16
package-lock.json
generated
16
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "discord-api-types",
|
||||
"version": "0.37.19",
|
||||
"version": "0.37.26",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "discord-api-types",
|
||||
"version": "0.37.19",
|
||||
"version": "0.37.26",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@babel/runtime-corejs3": "^7.18.0",
|
||||
@@ -4351,9 +4351,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -11186,9 +11186,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "discord-api-types",
|
||||
"version": "0.37.19",
|
||||
"version": "0.37.26",
|
||||
"description": "Discord API typings that are kept up to date for use in bot library creation.",
|
||||
"homepage": "https://discord-api-types.dev",
|
||||
"exports": {
|
||||
|
||||
@@ -83,6 +83,12 @@ export type RESTErrorData = RESTErrorGroupWrapper | RESTErrorFieldInformation |
|
||||
* https://discord.com/developers/docs/topics/rate-limits#exceeding-a-rate-limit-rate-limit-response-structure
|
||||
*/
|
||||
export interface RESTRateLimit {
|
||||
/**
|
||||
* An error code for some limits
|
||||
*
|
||||
* {@link RESTJSONErrorCodes}
|
||||
*/
|
||||
code?: number;
|
||||
/**
|
||||
* A value indicating if you are being globally rate limited or not
|
||||
*/
|
||||
|
||||
@@ -83,6 +83,10 @@ export interface APIApplicationCommand {
|
||||
* @deprecated Use `dm_permission` and/or `default_member_permissions` instead
|
||||
*/
|
||||
default_permission?: boolean;
|
||||
/**
|
||||
* Indicates whether the command is age-restricted, defaults to `false`
|
||||
*/
|
||||
nsfw?: boolean;
|
||||
/**
|
||||
* Autoincrementing version identifier updated during substantial record changes
|
||||
*/
|
||||
@@ -110,7 +114,9 @@ export type APIApplicationCommandInteractionData =
|
||||
*/
|
||||
export type APIApplicationCommandInteractionWrapper<Data extends APIApplicationCommandInteractionData> =
|
||||
APIBaseInteraction<InteractionType.ApplicationCommand, Data> &
|
||||
Required<Pick<APIBaseInteraction<InteractionType.ApplicationCommand, Data>, 'channel_id' | 'data'>>;
|
||||
Required<
|
||||
Pick<APIBaseInteraction<InteractionType.ApplicationCommand, Data>, 'channel_id' | 'data' | 'app_permissions'>
|
||||
>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
|
||||
@@ -15,7 +15,7 @@ export type APIMessageComponentInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageComponentInteractionData>,
|
||||
'channel_id' | 'data' | 'message'
|
||||
'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
@@ -26,7 +26,7 @@ export type APIMessageComponentButtonInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageButtonInteractionData>,
|
||||
'channel_id' | 'data' | 'message'
|
||||
'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
@@ -37,7 +37,7 @@ export type APIMessageComponentSelectMenuInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageSelectMenuInteractionData>,
|
||||
'channel_id' | 'data' | 'message'
|
||||
'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import type { OAuth2Scopes } from './oauth2';
|
||||
import type { APITeam } from './teams';
|
||||
import type { APIUser } from './user';
|
||||
import type { Permissions, Snowflake } from '../../globals';
|
||||
import type { LocalizationMap } from '../common';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application#application-object
|
||||
@@ -105,6 +106,11 @@ export interface APIApplication {
|
||||
* The application's default custom authorization link, if enabled
|
||||
*/
|
||||
custom_install_url?: string;
|
||||
/**
|
||||
* The application's role connection verification entry point,
|
||||
* which when configured will render the app as a verification method in the guild role verification configuration
|
||||
*/
|
||||
role_connections_verification_url?: string;
|
||||
}
|
||||
|
||||
export interface APIApplicationInstallParams {
|
||||
@@ -116,18 +122,131 @@ export interface APIApplicationInstallParams {
|
||||
* https://discord.com/developers/docs/resources/application#application-object-application-flags
|
||||
*/
|
||||
export enum ApplicationFlags {
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
EmbeddedReleased = 1 << 1,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
ManagedEmoji = 1 << 2,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
GroupDMCreate = 1 << 4,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
RPCHasConnected = 1 << 11,
|
||||
/**
|
||||
* Intent required for bots in 100 or more servers to receive `presence_update` events
|
||||
*/
|
||||
GatewayPresence = 1 << 12,
|
||||
/**
|
||||
* Intent required for bots in under 100 servers to receive `presence_update` events, found in Bot Settings
|
||||
*/
|
||||
GatewayPresenceLimited = 1 << 13,
|
||||
/**
|
||||
* Intent required for bots in 100 or more servers to receive member-related events like `guild_member_add`.
|
||||
* See list of member-related events [under `GUILD_MEMBERS`](https://discord.com/developers/docs/topics/gateway#list-of-intents)
|
||||
*/
|
||||
GatewayGuildMembers = 1 << 14,
|
||||
/**
|
||||
* Intent required for bots in under 100 servers to receive member-related events like `guild_member_add`, found in Bot Settings.
|
||||
* See list of member-related events [under `GUILD_MEMBERS`](https://discord.com/developers/docs/topics/gateway#list-of-intents)
|
||||
*/
|
||||
GatewayGuildMembersLimited = 1 << 15,
|
||||
/**
|
||||
* Indicates unusual growth of an app that prevents verification
|
||||
*/
|
||||
VerificationPendingGuildLimit = 1 << 16,
|
||||
/**
|
||||
* Indicates if an app is embedded within the Discord client (currently unavailable publicly)
|
||||
*/
|
||||
Embedded = 1 << 17,
|
||||
/**
|
||||
* Intent required for bots in 100 or more servers to receive [message content](https://support-dev.discord.com/hc/en-us/articles/4404772028055)
|
||||
*/
|
||||
GatewayMessageContent = 1 << 18,
|
||||
/**
|
||||
* Intent required for bots in under 100 servers to receive [message content](https://support-dev.discord.com/hc/en-us/articles/4404772028055),
|
||||
* found in Bot Settings
|
||||
*/
|
||||
GatewayMessageContentLimited = 1 << 19,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
EmbeddedFirstParty = 1 << 20,
|
||||
/**
|
||||
* Indicates if an app has registered global [application commands](https://discord.com/developers/docs/interactions/application-commands)
|
||||
*/
|
||||
ApplicationCommandBadge = 1 << 23,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#application-role-connection-metadata-object-application-role-connection-metadata-structure
|
||||
*/
|
||||
export interface APIApplicationRoleConnectionMetadata {
|
||||
/**
|
||||
* Type of metadata value
|
||||
*/
|
||||
type: ApplicationRoleConnectionMetadataType;
|
||||
/**
|
||||
* Dictionary key for the metadata field (must be `a-z`, `0-9`, or `_` characters; max 50 characters)
|
||||
*/
|
||||
key: string;
|
||||
/**
|
||||
* Name of the metadata field (max 100 characters)
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* Translations of the name
|
||||
*/
|
||||
name_localizations?: LocalizationMap;
|
||||
/**
|
||||
* Description of the metadata field (max 200 characters)
|
||||
*/
|
||||
description: string;
|
||||
/**
|
||||
* Translations of the description
|
||||
*/
|
||||
description_localizations?: LocalizationMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#application-role-connection-metadata-object-application-role-connection-metadata-type
|
||||
*/
|
||||
export enum ApplicationRoleConnectionMetadataType {
|
||||
/**
|
||||
* The metadata value (`integer`) is less than or equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerLessThanOrEqual = 1,
|
||||
/**
|
||||
* The metadata value (`integer`) is greater than or equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerGreaterThanOrEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is not equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerNotEqual,
|
||||
/**
|
||||
* The metadata value (`ISO8601 string`) is less than or equal to the guild's configured value (`integer`; days before current date)
|
||||
*/
|
||||
DatetimeLessThanOrEqual,
|
||||
/**
|
||||
* The metadata value (`ISO8601 string`) is greater than or equal to the guild's configured value (`integer`; days before current date)
|
||||
*/
|
||||
DatetimeGreaterThanOrEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is equal to the guild's configured value (`integer`; `1`)
|
||||
*/
|
||||
BooleanEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is not equal to the guild's configured value (`integer`; `1`)
|
||||
*/
|
||||
BooleanNotEqual,
|
||||
}
|
||||
|
||||
@@ -25,9 +25,9 @@ export interface APIPartialChannel {
|
||||
*/
|
||||
type: ChannelType;
|
||||
/**
|
||||
* The name of the channel (2-100 characters)
|
||||
* The name of the channel (1-100 characters)
|
||||
*/
|
||||
name?: string;
|
||||
name?: string | null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -57,6 +57,11 @@ export interface APITextBasedChannel<T extends ChannelType> extends APIChannelBa
|
||||
* The id of the last message sent in this channel (may not point to an existing or valid message)
|
||||
*/
|
||||
last_message_id?: Snowflake | null;
|
||||
/**
|
||||
* When the last pinned message was pinned.
|
||||
* This may be `null` in events such as `GUILD_CREATE` when a message is not pinned
|
||||
*/
|
||||
last_pin_timestamp?: string | null;
|
||||
/**
|
||||
* Amount of seconds a user has to wait before sending another message (0-21600);
|
||||
* bots, as well as users with the permission `MANAGE_MESSAGES` or `MANAGE_CHANNELS`, are unaffected
|
||||
@@ -69,7 +74,11 @@ export interface APITextBasedChannel<T extends ChannelType> extends APIChannelBa
|
||||
rate_limit_per_user?: number;
|
||||
}
|
||||
|
||||
export interface APIGuildChannel<T extends ChannelType> extends APIChannelBase<T> {
|
||||
export interface APIGuildChannel<T extends ChannelType> extends Omit<APIChannelBase<T>, 'name'> {
|
||||
/**
|
||||
* The name of the channel (1-100 characters)
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* The id of the guild (may be missing for some channel objects received over gateway guild dispatches)
|
||||
*/
|
||||
@@ -101,21 +110,21 @@ export interface APIGuildChannel<T extends ChannelType> extends APIChannelBase<T
|
||||
export type GuildTextChannelType = Exclude<TextChannelType, ChannelType.DM | ChannelType.GroupDM>;
|
||||
|
||||
export interface APIGuildTextChannel<T extends GuildTextChannelType>
|
||||
extends APITextBasedChannel<T>,
|
||||
extends Omit<APITextBasedChannel<T>, 'name'>,
|
||||
APIGuildChannel<T> {
|
||||
/**
|
||||
* Default duration for newly created threads, in minutes, to automatically archive the thread after recent activity
|
||||
*/
|
||||
default_auto_archive_duration?: ThreadAutoArchiveDuration;
|
||||
/**
|
||||
* The initial `rate_limit_per_user` to set on newly created threads.
|
||||
* This field is copied to the thread at creation time and does not live update
|
||||
*/
|
||||
default_thread_rate_limit_per_user?: number;
|
||||
/**
|
||||
* The channel topic (0-4096 characters for forum channels, 0-1024 characters for all others)
|
||||
*/
|
||||
topic?: string | null;
|
||||
/**
|
||||
* When the last pinned message was pinned.
|
||||
* This may be `null` in events such as `GUILD_CREATE` when a message is not pinned
|
||||
*/
|
||||
last_pin_timestamp?: string | null;
|
||||
}
|
||||
|
||||
export type APITextChannel = APIGuildTextChannel<ChannelType.GuildText>;
|
||||
@@ -141,7 +150,7 @@ export interface APIVoiceChannelBase<T extends ChannelType> extends APIGuildChan
|
||||
|
||||
export interface APIGuildVoiceChannel
|
||||
extends APIVoiceChannelBase<ChannelType.GuildVoice>,
|
||||
APITextBasedChannel<ChannelType.GuildVoice> {
|
||||
Omit<APITextBasedChannel<ChannelType.GuildVoice>, 'name' | 'last_pin_timestamp'> {
|
||||
/**
|
||||
* The camera video quality mode of the voice channel, `1` when not present
|
||||
*
|
||||
@@ -161,9 +170,18 @@ export interface APIDMChannelBase<T extends ChannelType> extends Omit<APITextBas
|
||||
recipients?: APIUser[];
|
||||
}
|
||||
|
||||
export type APIDMChannel = APIDMChannelBase<ChannelType.DM>;
|
||||
export interface APIDMChannel extends Omit<APIDMChannelBase<ChannelType.DM>, 'name'> {
|
||||
/**
|
||||
* The name of the channel (always null for DM channels)
|
||||
*/
|
||||
name: null;
|
||||
}
|
||||
|
||||
export interface APIGroupDMChannel extends Omit<APIDMChannelBase<ChannelType.GroupDM>, 'name'> {
|
||||
/**
|
||||
* The name of the channel (1-100 characters)
|
||||
*/
|
||||
name: string | null;
|
||||
/**
|
||||
* Application id of the group DM creator if it is bot-created
|
||||
*/
|
||||
@@ -172,10 +190,6 @@ export interface APIGroupDMChannel extends Omit<APIDMChannelBase<ChannelType.Gro
|
||||
* Icon hash
|
||||
*/
|
||||
icon?: string | null;
|
||||
/**
|
||||
* The name of the channel (2-100 characters)
|
||||
*/
|
||||
name?: string | null;
|
||||
/**
|
||||
* ID of the DM creator
|
||||
*/
|
||||
@@ -187,7 +201,11 @@ export interface APIGroupDMChannel extends Omit<APIDMChannelBase<ChannelType.Gro
|
||||
}
|
||||
|
||||
export interface APIThreadChannel
|
||||
extends APIGuildChannel<ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread> {
|
||||
extends Omit<
|
||||
APITextBasedChannel<ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread>,
|
||||
'name'
|
||||
>,
|
||||
APIGuildChannel<ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread> {
|
||||
/**
|
||||
* The client users member for the thread, only included in select endpoints
|
||||
*/
|
||||
@@ -206,24 +224,10 @@ export interface APIThreadChannel
|
||||
* The approximate member count of the thread, does not count above 50 even if there are more members
|
||||
*/
|
||||
member_count?: number;
|
||||
/**
|
||||
* Amount of seconds a user has to wait before sending another message (0-21600);
|
||||
* bots, as well as users with the permission `MANAGE_MESSAGES` or `MANAGE_CHANNELS`, are unaffected
|
||||
*
|
||||
* `rate_limit_per_user` also applies to thread creation. Users can send one message and create one thread during each `rate_limit_per_user` interval.
|
||||
*
|
||||
* For thread channels, `rate_limit_per_user` is only returned if the field is set to a non-zero and non-null value.
|
||||
* The absence of this field in API calls and Gateway events should indicate that slowmode has been reset to the default value.
|
||||
*/
|
||||
rate_limit_per_user?: number;
|
||||
/**
|
||||
* ID of the thread creator
|
||||
*/
|
||||
owner_id?: Snowflake;
|
||||
/**
|
||||
* The id of the last message sent in this thread (may not point to an existing or valid message)
|
||||
*/
|
||||
last_message_id?: Snowflake | null;
|
||||
/**
|
||||
* Number of messages ever sent in a thread
|
||||
*
|
||||
@@ -290,24 +294,41 @@ export enum SortOrderType {
|
||||
CreationDate,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel/#channel-object-forum-layout-types
|
||||
*/
|
||||
export enum ForumLayoutType {
|
||||
/**
|
||||
* No default has been set for forum channel
|
||||
*/
|
||||
NotSet,
|
||||
/**
|
||||
* Display posts as a list
|
||||
*/
|
||||
ListView,
|
||||
/**
|
||||
* Display posts as a collection of tiles
|
||||
*/
|
||||
GalleryView,
|
||||
}
|
||||
|
||||
export interface APIGuildForumChannel extends APIGuildTextChannel<ChannelType.GuildForum> {
|
||||
/**
|
||||
* The set of tags that can be used in a forum channel
|
||||
*/
|
||||
available_tags: APIGuildForumTag[];
|
||||
/**
|
||||
* The initial `rate_limit_per_user` to set on newly created threads in a forum channel.
|
||||
* This field is copied to the thread at creation time and does not live update
|
||||
*/
|
||||
default_thread_rate_limit_per_user?: number;
|
||||
/**
|
||||
* The emoji to show in the add reaction button on a thread in a forum channel
|
||||
*/
|
||||
default_reaction_emoji: APIGuildForumDefaultReactionEmoji | null;
|
||||
/**
|
||||
* The default sort order type used to order posts in forum channels
|
||||
* The default sort order type used to order posts in a forum channel
|
||||
*/
|
||||
default_sort_order: SortOrderType | null;
|
||||
/**
|
||||
* The default layout type used to display posts in a forum channel. Defaults to `0`, which indicates a layout view has not been set by a channel admin
|
||||
*/
|
||||
default_forum_layout: ForumLayoutType;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -322,7 +343,6 @@ export type APIChannel =
|
||||
| APIGuildStageVoiceChannel
|
||||
| APIGuildCategoryChannel
|
||||
| APIThreadChannel
|
||||
| APINewsChannel
|
||||
| APIGuildForumChannel;
|
||||
|
||||
/**
|
||||
@@ -348,13 +368,13 @@ export enum ChannelType {
|
||||
/**
|
||||
* An organizational category that contains up to 50 channels
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/115001580171-Channel-Categories-101
|
||||
* See https://support.discord.com/hc/articles/115001580171
|
||||
*/
|
||||
GuildCategory,
|
||||
/**
|
||||
* A channel that users can follow and crosspost into their own guild
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/360032008192
|
||||
* See https://support.discord.com/hc/articles/360032008192
|
||||
*/
|
||||
GuildAnnouncement,
|
||||
/**
|
||||
@@ -372,13 +392,13 @@ export enum ChannelType {
|
||||
/**
|
||||
* A voice channel for hosting events with an audience
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/1500005513722
|
||||
* See https://support.discord.com/hc/articles/1500005513722
|
||||
*/
|
||||
GuildStageVoice,
|
||||
/**
|
||||
* The channel in a Student Hub containing the listed servers
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
* See https://support.discord.com/hc/articles/4406046651927
|
||||
*/
|
||||
GuildDirectory,
|
||||
/**
|
||||
@@ -393,7 +413,7 @@ export enum ChannelType {
|
||||
*
|
||||
* @deprecated This is the old name for {@apilink ChannelType#GuildAnnouncement}
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/360032008192
|
||||
* See https://support.discord.com/hc/articles/360032008192
|
||||
*/
|
||||
GuildNews = 5,
|
||||
/**
|
||||
@@ -456,7 +476,7 @@ export interface APIMessage {
|
||||
* 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/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
content: string;
|
||||
/**
|
||||
@@ -513,7 +533,7 @@ export interface APIMessage {
|
||||
* 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/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
attachments: APIAttachment[];
|
||||
/**
|
||||
@@ -526,7 +546,7 @@ export interface APIMessage {
|
||||
* 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/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
embeds: APIEmbed[];
|
||||
/**
|
||||
@@ -616,7 +636,7 @@ export interface APIMessage {
|
||||
* 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/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
components?: APIActionRowComponent<APIMessageActionRowComponent>[];
|
||||
/**
|
||||
|
||||
@@ -419,7 +419,7 @@ export enum GuildFeature {
|
||||
/**
|
||||
* Guild is a Student Hub
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
* See https://support.discord.com/hc/articles/4406046651927
|
||||
*
|
||||
* @unstable This feature is currently not documented by Discord, but has known value
|
||||
*/
|
||||
@@ -435,7 +435,7 @@ export enum GuildFeature {
|
||||
/**
|
||||
* Guild is in a Student Hub
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
* See https://support.discord.com/hc/articles/4406046651927
|
||||
*
|
||||
* @unstable This feature is currently not documented by Discord, but has known value
|
||||
*/
|
||||
@@ -602,7 +602,7 @@ export interface APIGuildMember {
|
||||
/**
|
||||
* When the user started boosting the guild
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/360028038352-Server-Boosting-
|
||||
* See https://support.discord.com/hc/articles/360028038352
|
||||
*/
|
||||
premium_since?: string | null;
|
||||
/**
|
||||
|
||||
@@ -61,6 +61,10 @@ export enum OAuth2Scopes {
|
||||
* (otherwise restricted to channels/guilds your app creates)
|
||||
*/
|
||||
MessagesRead = 'messages.read',
|
||||
/**
|
||||
* Allows your app to update a user's connection and metadata for the app
|
||||
*/
|
||||
RoleConnectionsWrite = 'role_connections.write',
|
||||
/**
|
||||
* For local rpc server access, this allows you to control a user's local Discord client - requires Discord approval
|
||||
*/
|
||||
|
||||
@@ -73,7 +73,7 @@ export enum StickerType {
|
||||
*/
|
||||
Standard = 1,
|
||||
/**
|
||||
* A sticker uploaded to a Boosted guild for the guild's members
|
||||
* A sticker uploaded to a guild for the guild's members
|
||||
*/
|
||||
Guild,
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ export enum UserFlags {
|
||||
*/
|
||||
VerifiedDeveloper = 1 << 17,
|
||||
/**
|
||||
* Discord Certified Moderator
|
||||
* Moderator Programs Alumni
|
||||
*/
|
||||
CertifiedModerator = 1 << 18,
|
||||
/**
|
||||
@@ -152,7 +152,7 @@ export enum UserFlags {
|
||||
*/
|
||||
ActiveDeveloper = 1 << 22,
|
||||
/**
|
||||
* User's account has been quarantined based on recent activity
|
||||
* User's account has been [quarantined](https://support.discord.com/hc/articles/6461420677527) based on recent activity
|
||||
*
|
||||
* @unstable This user flag is currently not documented by Discord but has a known value which we will try to keep up to date.
|
||||
*
|
||||
@@ -255,3 +255,21 @@ export enum ConnectionVisibility {
|
||||
*/
|
||||
Everyone,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#application-role-connection-object-application-role-connection-structure
|
||||
*/
|
||||
export interface APIApplicationRoleConnection {
|
||||
/**
|
||||
* The vanity name of the platform a bot has connected (max 50 characters)
|
||||
*/
|
||||
platform_name: string | null;
|
||||
/**
|
||||
* The username on the platform a bot has connected (max 100 characters)
|
||||
*/
|
||||
platform_username: string | null;
|
||||
/**
|
||||
* 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>;
|
||||
}
|
||||
|
||||
@@ -83,6 +83,10 @@ export interface APIApplicationCommand {
|
||||
* @deprecated Use `dm_permission` and/or `default_member_permissions` instead
|
||||
*/
|
||||
default_permission?: boolean;
|
||||
/**
|
||||
* Indicates whether the command is age-restricted, defaults to `false`
|
||||
*/
|
||||
nsfw?: boolean;
|
||||
/**
|
||||
* Autoincrementing version identifier updated during substantial record changes
|
||||
*/
|
||||
@@ -110,7 +114,9 @@ export type APIApplicationCommandInteractionData =
|
||||
*/
|
||||
export type APIApplicationCommandInteractionWrapper<Data extends APIApplicationCommandInteractionData> =
|
||||
APIBaseInteraction<InteractionType.ApplicationCommand, Data> &
|
||||
Required<Pick<APIBaseInteraction<InteractionType.ApplicationCommand, Data>, 'channel_id' | 'data'>>;
|
||||
Required<
|
||||
Pick<APIBaseInteraction<InteractionType.ApplicationCommand, Data>, 'channel_id' | 'data' | 'app_permissions'>
|
||||
>;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object
|
||||
|
||||
@@ -15,7 +15,7 @@ export type APIMessageComponentInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageComponentInteractionData>,
|
||||
'channel_id' | 'data' | 'message'
|
||||
'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
@@ -26,7 +26,7 @@ export type APIMessageComponentButtonInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageButtonInteractionData>,
|
||||
'channel_id' | 'data' | 'message'
|
||||
'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
@@ -37,7 +37,7 @@ export type APIMessageComponentSelectMenuInteraction = APIBaseInteraction<
|
||||
Required<
|
||||
Pick<
|
||||
APIBaseInteraction<InteractionType.MessageComponent, APIMessageSelectMenuInteractionData>,
|
||||
'channel_id' | 'data' | 'message'
|
||||
'channel_id' | 'data' | 'app_permissions' | 'message'
|
||||
>
|
||||
>;
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import type { OAuth2Scopes } from './oauth2';
|
||||
import type { APITeam } from './teams';
|
||||
import type { APIUser } from './user';
|
||||
import type { Permissions, Snowflake } from '../../globals';
|
||||
import type { LocalizationMap } from '../common';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application#application-object
|
||||
@@ -105,6 +106,11 @@ export interface APIApplication {
|
||||
* The application's default custom authorization link, if enabled
|
||||
*/
|
||||
custom_install_url?: string;
|
||||
/**
|
||||
* The application's role connection verification entry point,
|
||||
* which when configured will render the app as a verification method in the guild role verification configuration
|
||||
*/
|
||||
role_connections_verification_url?: string;
|
||||
}
|
||||
|
||||
export interface APIApplicationInstallParams {
|
||||
@@ -116,18 +122,131 @@ export interface APIApplicationInstallParams {
|
||||
* https://discord.com/developers/docs/resources/application#application-object-application-flags
|
||||
*/
|
||||
export enum ApplicationFlags {
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
EmbeddedReleased = 1 << 1,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
ManagedEmoji = 1 << 2,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
GroupDMCreate = 1 << 4,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
RPCHasConnected = 1 << 11,
|
||||
/**
|
||||
* Intent required for bots in 100 or more servers to receive `presence_update` events
|
||||
*/
|
||||
GatewayPresence = 1 << 12,
|
||||
/**
|
||||
* Intent required for bots in under 100 servers to receive `presence_update` events, found in Bot Settings
|
||||
*/
|
||||
GatewayPresenceLimited = 1 << 13,
|
||||
/**
|
||||
* Intent required for bots in 100 or more servers to receive member-related events like `guild_member_add`.
|
||||
* See list of member-related events [under `GUILD_MEMBERS`](https://discord.com/developers/docs/topics/gateway#list-of-intents)
|
||||
*/
|
||||
GatewayGuildMembers = 1 << 14,
|
||||
/**
|
||||
* Intent required for bots in under 100 servers to receive member-related events like `guild_member_add`, found in Bot Settings.
|
||||
* See list of member-related events [under `GUILD_MEMBERS`](https://discord.com/developers/docs/topics/gateway#list-of-intents)
|
||||
*/
|
||||
GatewayGuildMembersLimited = 1 << 15,
|
||||
/**
|
||||
* Indicates unusual growth of an app that prevents verification
|
||||
*/
|
||||
VerificationPendingGuildLimit = 1 << 16,
|
||||
/**
|
||||
* Indicates if an app is embedded within the Discord client (currently unavailable publicly)
|
||||
*/
|
||||
Embedded = 1 << 17,
|
||||
/**
|
||||
* Intent required for bots in 100 or more servers to receive [message content](https://support-dev.discord.com/hc/en-us/articles/4404772028055)
|
||||
*/
|
||||
GatewayMessageContent = 1 << 18,
|
||||
/**
|
||||
* Intent required for bots in under 100 servers to receive [message content](https://support-dev.discord.com/hc/en-us/articles/4404772028055),
|
||||
* found in Bot Settings
|
||||
*/
|
||||
GatewayMessageContentLimited = 1 << 19,
|
||||
/**
|
||||
* @unstable
|
||||
*/
|
||||
EmbeddedFirstParty = 1 << 20,
|
||||
/**
|
||||
* Indicates if an app has registered global [application commands](https://discord.com/developers/docs/interactions/application-commands)
|
||||
*/
|
||||
ApplicationCommandBadge = 1 << 23,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#application-role-connection-metadata-object-application-role-connection-metadata-structure
|
||||
*/
|
||||
export interface APIApplicationRoleConnectionMetadata {
|
||||
/**
|
||||
* Type of metadata value
|
||||
*/
|
||||
type: ApplicationRoleConnectionMetadataType;
|
||||
/**
|
||||
* Dictionary key for the metadata field (must be `a-z`, `0-9`, or `_` characters; max 50 characters)
|
||||
*/
|
||||
key: string;
|
||||
/**
|
||||
* Name of the metadata field (max 100 characters)
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* Translations of the name
|
||||
*/
|
||||
name_localizations?: LocalizationMap;
|
||||
/**
|
||||
* Description of the metadata field (max 200 characters)
|
||||
*/
|
||||
description: string;
|
||||
/**
|
||||
* Translations of the description
|
||||
*/
|
||||
description_localizations?: LocalizationMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#application-role-connection-metadata-object-application-role-connection-metadata-type
|
||||
*/
|
||||
export enum ApplicationRoleConnectionMetadataType {
|
||||
/**
|
||||
* The metadata value (`integer`) is less than or equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerLessThanOrEqual = 1,
|
||||
/**
|
||||
* The metadata value (`integer`) is greater than or equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerGreaterThanOrEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is not equal to the guild's configured value (`integer`)
|
||||
*/
|
||||
IntegerNotEqual,
|
||||
/**
|
||||
* The metadata value (`ISO8601 string`) is less than or equal to the guild's configured value (`integer`; days before current date)
|
||||
*/
|
||||
DatetimeLessThanOrEqual,
|
||||
/**
|
||||
* The metadata value (`ISO8601 string`) is greater than or equal to the guild's configured value (`integer`; days before current date)
|
||||
*/
|
||||
DatetimeGreaterThanOrEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is equal to the guild's configured value (`integer`; `1`)
|
||||
*/
|
||||
BooleanEqual,
|
||||
/**
|
||||
* The metadata value (`integer`) is not equal to the guild's configured value (`integer`; `1`)
|
||||
*/
|
||||
BooleanNotEqual,
|
||||
}
|
||||
|
||||
@@ -25,9 +25,9 @@ export interface APIPartialChannel {
|
||||
*/
|
||||
type: ChannelType;
|
||||
/**
|
||||
* The name of the channel (2-100 characters)
|
||||
* The name of the channel (1-100 characters)
|
||||
*/
|
||||
name?: string;
|
||||
name?: string | null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -57,6 +57,11 @@ export interface APITextBasedChannel<T extends ChannelType> extends APIChannelBa
|
||||
* The id of the last message sent in this channel (may not point to an existing or valid message)
|
||||
*/
|
||||
last_message_id?: Snowflake | null;
|
||||
/**
|
||||
* When the last pinned message was pinned.
|
||||
* This may be `null` in events such as `GUILD_CREATE` when a message is not pinned
|
||||
*/
|
||||
last_pin_timestamp?: string | null;
|
||||
/**
|
||||
* Amount of seconds a user has to wait before sending another message (0-21600);
|
||||
* bots, as well as users with the permission `MANAGE_MESSAGES` or `MANAGE_CHANNELS`, are unaffected
|
||||
@@ -69,7 +74,11 @@ export interface APITextBasedChannel<T extends ChannelType> extends APIChannelBa
|
||||
rate_limit_per_user?: number;
|
||||
}
|
||||
|
||||
export interface APIGuildChannel<T extends ChannelType> extends APIChannelBase<T> {
|
||||
export interface APIGuildChannel<T extends ChannelType> extends Omit<APIChannelBase<T>, 'name'> {
|
||||
/**
|
||||
* The name of the channel (1-100 characters)
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* The id of the guild (may be missing for some channel objects received over gateway guild dispatches)
|
||||
*/
|
||||
@@ -101,21 +110,21 @@ export interface APIGuildChannel<T extends ChannelType> extends APIChannelBase<T
|
||||
export type GuildTextChannelType = Exclude<TextChannelType, ChannelType.DM | ChannelType.GroupDM>;
|
||||
|
||||
export interface APIGuildTextChannel<T extends GuildTextChannelType>
|
||||
extends APITextBasedChannel<T>,
|
||||
extends Omit<APITextBasedChannel<T>, 'name'>,
|
||||
APIGuildChannel<T> {
|
||||
/**
|
||||
* Default duration for newly created threads, in minutes, to automatically archive the thread after recent activity
|
||||
*/
|
||||
default_auto_archive_duration?: ThreadAutoArchiveDuration;
|
||||
/**
|
||||
* The initial `rate_limit_per_user` to set on newly created threads.
|
||||
* This field is copied to the thread at creation time and does not live update
|
||||
*/
|
||||
default_thread_rate_limit_per_user?: number;
|
||||
/**
|
||||
* The channel topic (0-1024 characters)
|
||||
*/
|
||||
topic?: string | null;
|
||||
/**
|
||||
* When the last pinned message was pinned.
|
||||
* This may be `null` in events such as `GUILD_CREATE` when a message is not pinned
|
||||
*/
|
||||
last_pin_timestamp?: string | null;
|
||||
}
|
||||
|
||||
export type APITextChannel = APIGuildTextChannel<ChannelType.GuildText>;
|
||||
@@ -141,7 +150,7 @@ export interface APIVoiceChannelBase<T extends ChannelType> extends APIGuildChan
|
||||
|
||||
export interface APIGuildVoiceChannel
|
||||
extends APIVoiceChannelBase<ChannelType.GuildVoice>,
|
||||
APITextBasedChannel<ChannelType.GuildVoice> {
|
||||
Omit<APITextBasedChannel<ChannelType.GuildVoice>, 'name' | 'last_pin_timestamp'> {
|
||||
/**
|
||||
* The camera video quality mode of the voice channel, `1` when not present
|
||||
*
|
||||
@@ -161,9 +170,18 @@ export interface APIDMChannelBase<T extends ChannelType> extends Omit<APITextBas
|
||||
recipients?: APIUser[];
|
||||
}
|
||||
|
||||
export type APIDMChannel = APIDMChannelBase<ChannelType.DM>;
|
||||
export interface APIDMChannel extends Omit<APIDMChannelBase<ChannelType.DM>, 'name'> {
|
||||
/**
|
||||
* The name of the channel (always null for DM channels)
|
||||
*/
|
||||
name: null;
|
||||
}
|
||||
|
||||
export interface APIGroupDMChannel extends Omit<APIDMChannelBase<ChannelType.GroupDM>, 'name'> {
|
||||
/**
|
||||
* The name of the channel (1-100 characters)
|
||||
*/
|
||||
name: string | null;
|
||||
/**
|
||||
* Application id of the group DM creator if it is bot-created
|
||||
*/
|
||||
@@ -172,22 +190,18 @@ export interface APIGroupDMChannel extends Omit<APIDMChannelBase<ChannelType.Gro
|
||||
* Icon hash
|
||||
*/
|
||||
icon?: string | null;
|
||||
/**
|
||||
* The name of the channel (2-100 characters)
|
||||
*/
|
||||
name?: string | null;
|
||||
/**
|
||||
* ID of the DM creator
|
||||
*/
|
||||
owner_id?: Snowflake;
|
||||
/**
|
||||
* The id of the last message sent in this channel (may not point to an existing or valid message)
|
||||
*/
|
||||
last_message_id?: Snowflake | null;
|
||||
}
|
||||
|
||||
export interface APIThreadChannel
|
||||
extends APIGuildChannel<ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread> {
|
||||
extends Omit<
|
||||
APITextBasedChannel<ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread>,
|
||||
'name'
|
||||
>,
|
||||
APIGuildChannel<ChannelType.PublicThread | ChannelType.PrivateThread | ChannelType.AnnouncementThread> {
|
||||
/**
|
||||
* The client users member for the thread, only included in select endpoints
|
||||
*/
|
||||
@@ -206,24 +220,10 @@ export interface APIThreadChannel
|
||||
* The approximate member count of the thread, does not count above 50 even if there are more members
|
||||
*/
|
||||
member_count?: number;
|
||||
/**
|
||||
* Amount of seconds a user has to wait before sending another message (0-21600);
|
||||
* bots, as well as users with the permission `MANAGE_MESSAGES` or `MANAGE_CHANNELS`, are unaffected
|
||||
*
|
||||
* `rate_limit_per_user` also applies to thread creation. Users can send one message and create one thread during each `rate_limit_per_user` interval.
|
||||
*
|
||||
* For thread channels, `rate_limit_per_user` is only returned if the field is set to a non-zero and non-null value.
|
||||
* The absence of this field in API calls and Gateway events should indicate that slowmode has been reset to the default value.
|
||||
*/
|
||||
rate_limit_per_user?: number;
|
||||
/**
|
||||
* ID of the thread creator
|
||||
*/
|
||||
owner_id?: Snowflake;
|
||||
/**
|
||||
* The id of the last message sent in this thread (may not point to an existing or valid message)
|
||||
*/
|
||||
last_message_id?: Snowflake | null;
|
||||
/**
|
||||
* Number of messages ever sent in a thread
|
||||
*
|
||||
@@ -290,24 +290,41 @@ export enum SortOrderType {
|
||||
CreationDate,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/channel/#channel-object-forum-layout-types
|
||||
*/
|
||||
export enum ForumLayoutType {
|
||||
/**
|
||||
* No default has been set for forum channel
|
||||
*/
|
||||
NotSet,
|
||||
/**
|
||||
* Display posts as a list
|
||||
*/
|
||||
ListView,
|
||||
/**
|
||||
* Display posts as a collection of tiles
|
||||
*/
|
||||
GalleryView,
|
||||
}
|
||||
|
||||
export interface APIGuildForumChannel extends APIGuildTextChannel<ChannelType.GuildForum> {
|
||||
/**
|
||||
* The set of tags that can be used in a forum channel
|
||||
*/
|
||||
available_tags: APIGuildForumTag[];
|
||||
/**
|
||||
* The initial `rate_limit_per_user` to set on newly created threads in a forum channel.
|
||||
* This field is copied to the thread at creation time and does not live update
|
||||
*/
|
||||
default_thread_rate_limit_per_user?: number;
|
||||
/**
|
||||
* The emoji to show in the add reaction button on a thread in a forum channel
|
||||
*/
|
||||
default_reaction_emoji: APIGuildForumDefaultReactionEmoji | null;
|
||||
/**
|
||||
* The default sort order type used to order posts in forum channels
|
||||
* The default sort order type used to order posts in a forum channel
|
||||
*/
|
||||
default_sort_order: SortOrderType | null;
|
||||
/**
|
||||
* The default layout type used to display posts in a forum channel. Defaults to `0`, which indicates a layout view has not been set by a channel admin
|
||||
*/
|
||||
default_forum_layout: ForumLayoutType;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -322,7 +339,6 @@ export type APIChannel =
|
||||
| APIGuildStageVoiceChannel
|
||||
| APIGuildCategoryChannel
|
||||
| APIThreadChannel
|
||||
| APINewsChannel
|
||||
| APIGuildForumChannel;
|
||||
|
||||
/**
|
||||
@@ -348,13 +364,13 @@ export enum ChannelType {
|
||||
/**
|
||||
* An organizational category that contains up to 50 channels
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/115001580171-Channel-Categories-101
|
||||
* See https://support.discord.com/hc/articles/115001580171
|
||||
*/
|
||||
GuildCategory,
|
||||
/**
|
||||
* A channel that users can follow and crosspost into their own guild
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/360032008192
|
||||
* See https://support.discord.com/hc/articles/360032008192
|
||||
*/
|
||||
GuildAnnouncement,
|
||||
/**
|
||||
@@ -372,13 +388,13 @@ export enum ChannelType {
|
||||
/**
|
||||
* A voice channel for hosting events with an audience
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/1500005513722
|
||||
* See https://support.discord.com/hc/articles/1500005513722
|
||||
*/
|
||||
GuildStageVoice,
|
||||
/**
|
||||
* The channel in a Student Hub containing the listed servers
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
* See https://support.discord.com/hc/articles/4406046651927
|
||||
*/
|
||||
GuildDirectory,
|
||||
/**
|
||||
@@ -392,7 +408,7 @@ export enum ChannelType {
|
||||
*
|
||||
* @deprecated This is the old name for {@apilink ChannelType#GuildAnnouncement}
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/360032008192
|
||||
* See https://support.discord.com/hc/articles/360032008192
|
||||
*/
|
||||
GuildNews = 5,
|
||||
/**
|
||||
@@ -454,7 +470,7 @@ export interface APIMessage {
|
||||
*
|
||||
* In the Discord Developers Portal, you need to enable the toggle of this intent of your application in **Bot > Privileged Gateway Intents**
|
||||
*
|
||||
* See https://support-dev.discord.com/hc/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
content: string;
|
||||
/**
|
||||
@@ -510,7 +526,7 @@ export interface APIMessage {
|
||||
*
|
||||
* In the Discord Developers Portal, you need to enable the toggle of this intent of your application in **Bot > Privileged Gateway Intents**
|
||||
*
|
||||
* See https://support-dev.discord.com/hc/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
attachments: APIAttachment[];
|
||||
/**
|
||||
@@ -522,7 +538,7 @@ export interface APIMessage {
|
||||
*
|
||||
* In the Discord Developers Portal, you need to enable the toggle of this intent of your application in **Bot > Privileged Gateway Intents**
|
||||
*
|
||||
* See https://support-dev.discord.com/hc/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
embeds: APIEmbed[];
|
||||
/**
|
||||
@@ -611,7 +627,7 @@ export interface APIMessage {
|
||||
*
|
||||
* In the Discord Developers Portal, you need to enable the toggle of this intent of your application in **Bot > Privileged Gateway Intents**
|
||||
*
|
||||
* See https://support-dev.discord.com/hc/en-us/articles/4404772028055
|
||||
* See https://support-dev.discord.com/hc/articles/4404772028055
|
||||
*/
|
||||
components?: APIActionRowComponent<APIMessageActionRowComponent>[];
|
||||
/**
|
||||
|
||||
@@ -419,7 +419,7 @@ export enum GuildFeature {
|
||||
/**
|
||||
* Guild is a Student Hub
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
* See https://support.discord.com/hc/articles/4406046651927
|
||||
*
|
||||
* @unstable This feature is currently not documented by Discord, but has known value
|
||||
*/
|
||||
@@ -435,7 +435,7 @@ export enum GuildFeature {
|
||||
/**
|
||||
* Guild is in a Student Hub
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ
|
||||
* See https://support.discord.com/hc/articles/4406046651927
|
||||
*
|
||||
* @unstable This feature is currently not documented by Discord, but has known value
|
||||
*/
|
||||
@@ -602,7 +602,7 @@ export interface APIGuildMember {
|
||||
/**
|
||||
* When the user started boosting the guild
|
||||
*
|
||||
* See https://support.discord.com/hc/en-us/articles/360028038352-Server-Boosting-
|
||||
* See https://support.discord.com/hc/articles/360028038352
|
||||
*/
|
||||
premium_since?: string | null;
|
||||
/**
|
||||
|
||||
@@ -61,6 +61,10 @@ export enum OAuth2Scopes {
|
||||
* (otherwise restricted to channels/guilds your app creates)
|
||||
*/
|
||||
MessagesRead = 'messages.read',
|
||||
/**
|
||||
* Allows your app to update a user's connection and metadata for the app
|
||||
*/
|
||||
RoleConnectionsWrite = 'role_connections.write',
|
||||
/**
|
||||
* For local rpc server access, this allows you to control a user's local Discord client - requires Discord approval
|
||||
*/
|
||||
|
||||
@@ -73,7 +73,7 @@ export enum StickerType {
|
||||
*/
|
||||
Standard = 1,
|
||||
/**
|
||||
* A sticker uploaded to a Boosted guild for the guild's members
|
||||
* A sticker uploaded to a guild for the guild's members
|
||||
*/
|
||||
Guild,
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ export enum UserFlags {
|
||||
*/
|
||||
VerifiedDeveloper = 1 << 17,
|
||||
/**
|
||||
* Discord Certified Moderator
|
||||
* Moderator Programs Alumni
|
||||
*/
|
||||
CertifiedModerator = 1 << 18,
|
||||
/**
|
||||
@@ -152,7 +152,7 @@ export enum UserFlags {
|
||||
*/
|
||||
ActiveDeveloper = 1 << 22,
|
||||
/**
|
||||
* User's account has been quarantined based on recent activity
|
||||
* User's account has been [quarantined](https://support.discord.com/hc/articles/6461420677527) based on recent activity
|
||||
*
|
||||
* @unstable This user flag is currently not documented by Discord but has a known value which we will try to keep up to date.
|
||||
*
|
||||
@@ -255,3 +255,21 @@ export enum ConnectionVisibility {
|
||||
*/
|
||||
Everyone,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#application-role-connection-object-application-role-connection-structure
|
||||
*/
|
||||
export interface APIApplicationRoleConnection {
|
||||
/**
|
||||
* The vanity name of the platform a bot has connected (max 50 characters)
|
||||
*/
|
||||
platform_name: string | null;
|
||||
/**
|
||||
* The username on the platform a bot has connected (max 100 characters)
|
||||
*/
|
||||
platform_username: string | null;
|
||||
/**
|
||||
* 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>;
|
||||
}
|
||||
|
||||
@@ -120,6 +120,8 @@ export enum RESTJSONErrorCodes {
|
||||
|
||||
BitrateIsTooHighForChannelOfThisType = 30052,
|
||||
|
||||
MaximumNumberOfWebhooksPerGuildReached = 30058,
|
||||
|
||||
Unauthorized = 40001,
|
||||
VerifyYourAccount,
|
||||
OpeningDirectMessagesTooFast,
|
||||
@@ -141,6 +143,7 @@ export enum RESTJSONErrorCodes {
|
||||
|
||||
InteractionHasAlreadyBeenAcknowledged = 40060,
|
||||
TagNamesMustBeUnique,
|
||||
ServiceResourceIsBeingRateLimited,
|
||||
|
||||
ThereAreNoTagsAvailableThatCanBeSetByNonModerators = 40066,
|
||||
TagRequiredToCreateAForumPostInThisChannel,
|
||||
@@ -189,7 +192,8 @@ export enum RESTJSONErrorCodes {
|
||||
CannotSelfRedeemThisGift = 50054,
|
||||
InvalidGuild,
|
||||
|
||||
InvalidMessageType = 50068,
|
||||
InvalidRequestOrigin = 50067,
|
||||
InvalidMessageType,
|
||||
|
||||
PaymentSourceRequiredToRedeemGift = 50070,
|
||||
|
||||
@@ -266,6 +270,7 @@ export enum RESTJSONErrorCodes {
|
||||
* https://discord.com/developers/docs/reference#locales
|
||||
*/
|
||||
export enum Locale {
|
||||
Indonesian = 'id',
|
||||
EnglishUS = 'en-US',
|
||||
EnglishGB = 'en-GB',
|
||||
Bulgarian = 'bg',
|
||||
|
||||
16
rest/v10/application.ts
Normal file
16
rest/v10/application.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import type { APIApplicationRoleConnectionMetadata } from '../../payloads/v10/application';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#get-application-role-connection-metadata-records
|
||||
*/
|
||||
export type RESTGetAPIApplicationRoleConnectionMetadataResult = APIApplicationRoleConnectionMetadata[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#update-application-role-connection-metadata-records
|
||||
*/
|
||||
export type RESTPutAPIApplicationRoleConnectionMetadataJSONBody = APIApplicationRoleConnectionMetadata[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#update-application-role-connection-metadata-records
|
||||
*/
|
||||
export type RESTPutAPIApplicationRoleConnectionMetadataResult = APIApplicationRoleConnectionMetadata[];
|
||||
@@ -17,6 +17,10 @@ export interface RESTGetAPIAuditLogQuery {
|
||||
* Filter the log before a certain entry ID
|
||||
*/
|
||||
before?: Snowflake;
|
||||
/**
|
||||
* Filter the log after a certain entry ID
|
||||
*/
|
||||
after?: Snowflake;
|
||||
/**
|
||||
* How many entries are returned (default 50, minimum 1, maximum 100)
|
||||
*
|
||||
|
||||
@@ -22,6 +22,7 @@ import type {
|
||||
APIGuildForumTag,
|
||||
APIGuildForumDefaultReactionEmoji,
|
||||
SortOrderType,
|
||||
ForumLayoutType,
|
||||
} from '../../payloads/v10/index';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface, StrictPartial } from '../../utils/internals';
|
||||
|
||||
@@ -164,11 +165,17 @@ export type RESTPatchAPIChannelJSONBody = AddUndefinedToPossiblyUndefinedPropert
|
||||
*/
|
||||
default_thread_rate_limit_per_user?: number | null;
|
||||
/**
|
||||
* The default sort order type used to order posts in forum channels
|
||||
* The default sort order type used to order posts in a forum channel
|
||||
*
|
||||
* Channel types: forum
|
||||
*/
|
||||
default_sort_order?: SortOrderType | null;
|
||||
/**
|
||||
* The default layout type used to display posts in a forum channel
|
||||
*
|
||||
* Channel types: forum
|
||||
*/
|
||||
default_forum_layout?: ForumLayoutType;
|
||||
}>;
|
||||
|
||||
/**
|
||||
|
||||
@@ -56,6 +56,7 @@ export type APIGuildCreatePartialChannel = StrictPartial<
|
||||
| 'default_reaction_emoji'
|
||||
| 'available_tags'
|
||||
| 'default_sort_order'
|
||||
| 'default_forum_layout'
|
||||
>
|
||||
> &
|
||||
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import type { Snowflake } from '../../globals';
|
||||
|
||||
export * from '../common';
|
||||
export * from './application';
|
||||
export * from './auditLog';
|
||||
export * from './autoModeration';
|
||||
export * from './channel';
|
||||
@@ -21,6 +22,14 @@ export * from './webhook';
|
||||
export const APIVersion = '10';
|
||||
|
||||
export const Routes = {
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/applications/{application.id}/role-connections/metadata`
|
||||
* - PUT `/applications/{application.id}/role-connections/metadata`
|
||||
*/
|
||||
applicationRoleConnectionMetadata(applicationId: Snowflake) {
|
||||
return `/applications/${applicationId}/role-connections/metadata` as const;
|
||||
},
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/auto-moderation/rules`
|
||||
@@ -521,6 +530,15 @@ export const Routes = {
|
||||
return `/users/${userId}` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/users/@me/applications/{application.id}/role-connection`
|
||||
* - PUT `/users/@me/applications/{application.id}/role-connection`
|
||||
*/
|
||||
userApplicationRoleConnection(applicationId: Snowflake) {
|
||||
return `/users/@me/applications/${applicationId}/role-connection` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/users/@me/guilds`
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
import type { Permissions, Snowflake } from '../../globals';
|
||||
import type { APIChannel, APIConnection, APIGuildMember, APIUser, GuildFeature } from '../../payloads/v10/index';
|
||||
import type {
|
||||
APIChannel,
|
||||
APIConnection,
|
||||
APIGuildMember,
|
||||
APIUser,
|
||||
APIApplicationRoleConnection,
|
||||
GuildFeature,
|
||||
} from '../../payloads/v10/index';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface } from '../../utils/internals';
|
||||
|
||||
/**
|
||||
@@ -94,3 +101,31 @@ export type RESTPostAPICurrentUserCreateDMChannelResult = APIChannel;
|
||||
* https://discord.com/developers/docs/resources/user#get-user-connections
|
||||
*/
|
||||
export type RESTGetAPICurrentUserConnectionsResult = APIConnection[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#get-user-application-role-connection
|
||||
*/
|
||||
export type RESTGetAPICurrentUserApplicationRoleConnectionResult = APIApplicationRoleConnection;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#update-user-application-role-connection
|
||||
*/
|
||||
export interface RESTPutAPICurrentUserApplicationRoleConnectionJSONBody {
|
||||
/**
|
||||
* The vanity name of the platform a bot has connected (max 50 characters)
|
||||
*/
|
||||
platform_name?: string;
|
||||
/**
|
||||
* The username on the platform a bot has connected (max 100 characters)
|
||||
*/
|
||||
platform_username?: string;
|
||||
/**
|
||||
* 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>;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#update-user-application-role-connection
|
||||
*/
|
||||
export type RESTPutAPICurrentUserApplicationRoleConnectionResult = APIApplicationRoleConnection;
|
||||
|
||||
16
rest/v9/application.ts
Normal file
16
rest/v9/application.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import type { APIApplicationRoleConnectionMetadata } from '../../payloads/v9/application';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#get-application-role-connection-metadata-records
|
||||
*/
|
||||
export type RESTGetAPIApplicationRoleConnectionMetadataResult = APIApplicationRoleConnectionMetadata[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#update-application-role-connection-metadata-records
|
||||
*/
|
||||
export type RESTPutAPIApplicationRoleConnectionMetadataJSONBody = APIApplicationRoleConnectionMetadata[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/application-role-connection-metadata#update-application-role-connection-metadata-records
|
||||
*/
|
||||
export type RESTPutAPIApplicationRoleConnectionMetadataResult = APIApplicationRoleConnectionMetadata[];
|
||||
@@ -17,6 +17,10 @@ export interface RESTGetAPIAuditLogQuery {
|
||||
* Filter the log before a certain entry ID
|
||||
*/
|
||||
before?: Snowflake;
|
||||
/**
|
||||
* Filter the log after a certain entry ID
|
||||
*/
|
||||
after?: Snowflake;
|
||||
/**
|
||||
* How many entries are returned (default 50, minimum 1, maximum 100)
|
||||
*
|
||||
|
||||
@@ -22,6 +22,7 @@ import type {
|
||||
APIGuildForumTag,
|
||||
APIGuildForumDefaultReactionEmoji,
|
||||
SortOrderType,
|
||||
ForumLayoutType,
|
||||
} from '../../payloads/v9/index';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface, StrictPartial } from '../../utils/internals';
|
||||
|
||||
@@ -164,11 +165,17 @@ export type RESTPatchAPIChannelJSONBody = AddUndefinedToPossiblyUndefinedPropert
|
||||
*/
|
||||
default_thread_rate_limit_per_user?: number | null;
|
||||
/**
|
||||
* The default sort order type used to order posts in forum channels
|
||||
* The default sort order type used to order posts in a forum channel
|
||||
*
|
||||
* Channel types: forum
|
||||
*/
|
||||
default_sort_order?: SortOrderType | null;
|
||||
/**
|
||||
* The default layout type used to display posts in a forum channel
|
||||
*
|
||||
* Channel types: forum
|
||||
*/
|
||||
default_forum_layout?: ForumLayoutType;
|
||||
}>;
|
||||
|
||||
/**
|
||||
|
||||
@@ -56,6 +56,7 @@ export type APIGuildCreatePartialChannel = StrictPartial<
|
||||
| 'default_reaction_emoji'
|
||||
| 'available_tags'
|
||||
| 'default_sort_order'
|
||||
| 'default_forum_layout'
|
||||
>
|
||||
> &
|
||||
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import type { Snowflake } from '../../globals';
|
||||
|
||||
export * from '../common';
|
||||
export * from './application';
|
||||
export * from './auditLog';
|
||||
export * from './autoModeration';
|
||||
export * from './channel';
|
||||
@@ -21,6 +22,14 @@ export * from './webhook';
|
||||
export const APIVersion = '9';
|
||||
|
||||
export const Routes = {
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/applications/{application.id}/role-connections/metadata`
|
||||
* - PUT `/applications/{application.id}/role-connections/metadata`
|
||||
*/
|
||||
applicationRoleConnectionMetadata(applicationId: Snowflake) {
|
||||
return `/applications/${applicationId}/role-connections/metadata` as const;
|
||||
},
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/auto-moderation/rules`
|
||||
@@ -530,6 +539,15 @@ export const Routes = {
|
||||
return `/users/${userId}` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/users/@me/applications/{application.id}/role-connection`
|
||||
* - PUT `/users/@me/applications/{application.id}/role-connection`
|
||||
*/
|
||||
userApplicationRoleConnection(applicationId: Snowflake) {
|
||||
return `/users/@me/applications/${applicationId}/role-connection` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/users/@me/guilds`
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
import type { Permissions, Snowflake } from '../../globals';
|
||||
import type { APIChannel, APIConnection, APIGuildMember, APIUser, GuildFeature } from '../../payloads/v9/index';
|
||||
import type {
|
||||
APIChannel,
|
||||
APIConnection,
|
||||
APIGuildMember,
|
||||
APIUser,
|
||||
APIApplicationRoleConnection,
|
||||
GuildFeature,
|
||||
} from '../../payloads/v9/index';
|
||||
import type { AddUndefinedToPossiblyUndefinedPropertiesOfInterface } from '../../utils/internals';
|
||||
|
||||
/**
|
||||
@@ -94,3 +101,31 @@ export type RESTPostAPICurrentUserCreateDMChannelResult = APIChannel;
|
||||
* https://discord.com/developers/docs/resources/user#get-user-connections
|
||||
*/
|
||||
export type RESTGetAPICurrentUserConnectionsResult = APIConnection[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#get-user-application-role-connection
|
||||
*/
|
||||
export type RESTGetAPICurrentUserApplicationRoleConnectionResult = APIApplicationRoleConnection;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#update-user-application-role-connection
|
||||
*/
|
||||
export interface RESTPutAPICurrentUserApplicationRoleConnectionJSONBody {
|
||||
/**
|
||||
* The vanity name of the platform a bot has connected (max 50 characters)
|
||||
*/
|
||||
platform_name?: string;
|
||||
/**
|
||||
* The username on the platform a bot has connected (max 100 characters)
|
||||
*/
|
||||
platform_username?: string;
|
||||
/**
|
||||
* 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>;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/user#update-user-application-role-connection
|
||||
*/
|
||||
export type RESTPutAPICurrentUserApplicationRoleConnectionResult = APIApplicationRoleConnection;
|
||||
|
||||
50
tests/v10/channel.test-d.ts
Normal file
50
tests/v10/channel.test-d.ts
Normal file
@@ -0,0 +1,50 @@
|
||||
import { expectType, expectAssignable, expectNotAssignable, expectError } from 'tsd';
|
||||
import type {
|
||||
ChannelType,
|
||||
APIPartialChannel,
|
||||
APIGroupDMChannel,
|
||||
APIDMChannel,
|
||||
APIGuildChannel,
|
||||
APITextChannel,
|
||||
APIThreadChannel,
|
||||
APIGuildVoiceChannel,
|
||||
APIGuildStageVoiceChannel,
|
||||
} from '../../v10';
|
||||
|
||||
type AnyGuildChannel = APIGuildChannel<ChannelType>;
|
||||
|
||||
declare const partialChannel: APIPartialChannel;
|
||||
declare const dmChannel: APIDMChannel;
|
||||
declare const groupDMChannel: APIGroupDMChannel;
|
||||
declare const guildChannel: AnyGuildChannel;
|
||||
declare const guildTextChannel: APITextChannel;
|
||||
declare const guildThreadChannel: APIThreadChannel;
|
||||
declare const guildVoiceChannel: APIGuildVoiceChannel;
|
||||
declare const guildVoiceStageChannel: APIGuildStageVoiceChannel;
|
||||
|
||||
// Make sure types follow expected hierarchy
|
||||
expectNotAssignable<AnyGuildChannel>(dmChannel);
|
||||
expectNotAssignable<AnyGuildChannel>(groupDMChannel);
|
||||
expectAssignable<AnyGuildChannel>(guildTextChannel);
|
||||
expectAssignable<AnyGuildChannel>(guildThreadChannel);
|
||||
expectAssignable<AnyGuildChannel>(guildVoiceChannel);
|
||||
expectAssignable<AnyGuildChannel>(guildVoiceStageChannel);
|
||||
|
||||
// Test channel names are properly typed
|
||||
// Always non-null present for non-DM channels, always null for DM channel
|
||||
expectType<string | null | undefined>(partialChannel.name);
|
||||
expectType<string | null>(groupDMChannel.name);
|
||||
expectType<null>(dmChannel.name);
|
||||
expectType<string>(guildChannel.name);
|
||||
|
||||
// Test last pin timestamp
|
||||
expectType<string | null | undefined>(dmChannel.last_pin_timestamp);
|
||||
expectType<string | null | undefined>(groupDMChannel.last_pin_timestamp);
|
||||
expectType<string | null | undefined>(guildTextChannel.last_pin_timestamp);
|
||||
expectType<string | null | undefined>(guildThreadChannel.last_pin_timestamp);
|
||||
expectError(guildVoiceChannel.last_pin_timestamp);
|
||||
expectError(guildVoiceStageChannel.last_pin_timestamp);
|
||||
|
||||
// Test rate limit types
|
||||
expectType<number | undefined>(guildTextChannel.default_thread_rate_limit_per_user);
|
||||
expectError(guildVoiceChannel.default_thread_rate_limit_per_user);
|
||||
86
website/package-lock.json
generated
86
website/package-lock.json
generated
@@ -11305,9 +11305,9 @@
|
||||
"devOptional": true
|
||||
},
|
||||
"node_modules/json5": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
||||
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz",
|
||||
"integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==",
|
||||
"bin": {
|
||||
"json5": "lib/cli.js"
|
||||
},
|
||||
@@ -14952,25 +14952,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/recursive-readdir": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
|
||||
"integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz",
|
||||
"integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==",
|
||||
"dependencies": {
|
||||
"minimatch": "3.0.4"
|
||||
"minimatch": "^3.0.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/recursive-readdir/node_modules/minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"dependencies": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": "*"
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/redent": {
|
||||
@@ -15988,31 +15977,20 @@
|
||||
}
|
||||
},
|
||||
"node_modules/serve-handler": {
|
||||
"version": "6.1.3",
|
||||
"resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz",
|
||||
"integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==",
|
||||
"version": "6.1.5",
|
||||
"resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz",
|
||||
"integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==",
|
||||
"dependencies": {
|
||||
"bytes": "3.0.0",
|
||||
"content-disposition": "0.5.2",
|
||||
"fast-url-parser": "1.1.3",
|
||||
"mime-types": "2.1.18",
|
||||
"minimatch": "3.0.4",
|
||||
"minimatch": "3.1.2",
|
||||
"path-is-inside": "1.0.2",
|
||||
"path-to-regexp": "2.2.1",
|
||||
"range-parser": "1.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/serve-handler/node_modules/minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"dependencies": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/serve-handler/node_modules/path-to-regexp": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz",
|
||||
@@ -27173,9 +27151,9 @@
|
||||
"devOptional": true
|
||||
},
|
||||
"json5": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
||||
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA=="
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz",
|
||||
"integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ=="
|
||||
},
|
||||
"jsonc-parser": {
|
||||
"version": "3.0.0",
|
||||
@@ -29751,21 +29729,11 @@
|
||||
}
|
||||
},
|
||||
"recursive-readdir": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
|
||||
"integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz",
|
||||
"integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==",
|
||||
"requires": {
|
||||
"minimatch": "3.0.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
}
|
||||
"minimatch": "^3.0.5"
|
||||
}
|
||||
},
|
||||
"redent": {
|
||||
@@ -30532,28 +30500,20 @@
|
||||
}
|
||||
},
|
||||
"serve-handler": {
|
||||
"version": "6.1.3",
|
||||
"resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz",
|
||||
"integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==",
|
||||
"version": "6.1.5",
|
||||
"resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz",
|
||||
"integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==",
|
||||
"requires": {
|
||||
"bytes": "3.0.0",
|
||||
"content-disposition": "0.5.2",
|
||||
"fast-url-parser": "1.1.3",
|
||||
"mime-types": "2.1.18",
|
||||
"minimatch": "3.0.4",
|
||||
"minimatch": "3.1.2",
|
||||
"path-is-inside": "1.0.2",
|
||||
"path-to-regexp": "2.2.1",
|
||||
"range-parser": "1.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
},
|
||||
"path-to-regexp": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz",
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
[{"entryPoints":{"globals":{"path":"globals.ts","label":"Global Types"},"gateway/common":{"path":"gateway/common.ts","label":"Gateway - Common Types"},"payloads/common":{"path":"payloads/common.ts","label":"Payloads - Common Types"},"rest/common":{"path":"rest/common.ts","label":"REST - Common Types"},"rpc/common":{"path":"rpc/common.ts","label":"RPC - Common Types"},"v6":{"path":"v6.ts","label":"API v6 - Deprecated"},"v8":{"path":"v8.ts","label":"API v8 - Deprecated"},"v9":{"path":"v9.ts","label":"API v9"},"v10":{"path":"v10.ts","label":"API v10"},"rpc/v8":{"path":"rpc/v8.ts","label":"RPC v8"},"rpc/v9":{"path":"rpc/v9.ts","label":"RPC v9"},"rpc/v10":{"path":"rpc/v10.ts","label":"RPC v10"},"voice/v4":{"path":"voice/v4.ts","label":"Voice v4"},"utils/v8":{"path":"utils/v8.ts","label":"Utils v8"},"utils/v9":{"path":"utils/v9.ts","label":"Utils v9"},"utils/v10":{"path":"utils/v10.ts","label":"Utils v10"}},"packagePath":"./","packageSlug":"discord-api-types","packageName":"discord-api-types","packageVersion":"0.37.18"}]
|
||||
[{"entryPoints":{"globals":{"path":"globals.ts","label":"Global Types"},"gateway/common":{"path":"gateway/common.ts","label":"Gateway - Common Types"},"payloads/common":{"path":"payloads/common.ts","label":"Payloads - Common Types"},"rest/common":{"path":"rest/common.ts","label":"REST - Common Types"},"rpc/common":{"path":"rpc/common.ts","label":"RPC - Common Types"},"v6":{"path":"v6.ts","label":"API v6 - Deprecated"},"v8":{"path":"v8.ts","label":"API v8 - Deprecated"},"v9":{"path":"v9.ts","label":"API v9"},"v10":{"path":"v10.ts","label":"API v10"},"rpc/v8":{"path":"rpc/v8.ts","label":"RPC v8"},"rpc/v9":{"path":"rpc/v9.ts","label":"RPC v9"},"rpc/v10":{"path":"rpc/v10.ts","label":"RPC v10"},"voice/v4":{"path":"voice/v4.ts","label":"Voice v4"},"utils/v8":{"path":"utils/v8.ts","label":"Utils v8"},"utils/v9":{"path":"utils/v9.ts","label":"Utils v9"},"utils/v10":{"path":"utils/v10.ts","label":"Utils v10"}},"packagePath":"./","packageSlug":"discord-api-types","packageName":"discord-api-types","packageVersion":"0.37.25"}]
|
||||
1
website/versioned_docs/version-0.37.25/api-typedoc.json
Normal file
1
website/versioned_docs/version-0.37.25/api-typedoc.json
Normal file
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 126 KiB |
@@ -1 +1 @@
|
||||
[{"entryPoints":{"globals":{"path":"globals.ts","label":"Global Types"},"gateway/common":{"path":"gateway/common.ts","label":"Gateway - Common Types"},"payloads/common":{"path":"payloads/common.ts","label":"Payloads - Common Types"},"rest/common":{"path":"rest/common.ts","label":"REST - Common Types"},"rpc/common":{"path":"rpc/common.ts","label":"RPC - Common Types"},"v6":{"path":"v6.ts","label":"API v6 - Deprecated"},"v8":{"path":"v8.ts","label":"API v8 - Deprecated"},"v9":{"path":"v9.ts","label":"API v9"},"v10":{"path":"v10.ts","label":"API v10"},"rpc/v8":{"path":"rpc/v8.ts","label":"RPC v8"},"rpc/v9":{"path":"rpc/v9.ts","label":"RPC v9"},"rpc/v10":{"path":"rpc/v10.ts","label":"RPC v10"},"voice/v4":{"path":"voice/v4.ts","label":"Voice v4"},"utils/v8":{"path":"utils/v8.ts","label":"Utils v8"},"utils/v9":{"path":"utils/v9.ts","label":"Utils v9"},"utils/v10":{"path":"utils/v10.ts","label":"Utils v10"}},"packagePath":"./","packageSlug":"discord-api-types","packageName":"discord-api-types","packageVersion":"0.37.19"}]
|
||||
[{"entryPoints":{"globals":{"path":"globals.ts","label":"Global Types"},"gateway/common":{"path":"gateway/common.ts","label":"Gateway - Common Types"},"payloads/common":{"path":"payloads/common.ts","label":"Payloads - Common Types"},"rest/common":{"path":"rest/common.ts","label":"REST - Common Types"},"rpc/common":{"path":"rpc/common.ts","label":"RPC - Common Types"},"v6":{"path":"v6.ts","label":"API v6 - Deprecated"},"v8":{"path":"v8.ts","label":"API v8 - Deprecated"},"v9":{"path":"v9.ts","label":"API v9"},"v10":{"path":"v10.ts","label":"API v10"},"rpc/v8":{"path":"rpc/v8.ts","label":"RPC v8"},"rpc/v9":{"path":"rpc/v9.ts","label":"RPC v9"},"rpc/v10":{"path":"rpc/v10.ts","label":"RPC v10"},"voice/v4":{"path":"voice/v4.ts","label":"Voice v4"},"utils/v8":{"path":"utils/v8.ts","label":"Utils v8"},"utils/v9":{"path":"utils/v9.ts","label":"Utils v9"},"utils/v10":{"path":"utils/v10.ts","label":"Utils v10"}},"packagePath":"./","packageSlug":"discord-api-types","packageName":"discord-api-types","packageVersion":"0.37.26"}]
|
||||
1
website/versioned_docs/version-0.37.26/api-typedoc.json
Normal file
1
website/versioned_docs/version-0.37.26/api-typedoc.json
Normal file
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 126 KiB |
@@ -1,4 +1,4 @@
|
||||
[
|
||||
"0.37.19",
|
||||
"0.37.18"
|
||||
"0.37.26",
|
||||
"0.37.25"
|
||||
]
|
||||
Reference in New Issue
Block a user