Compare commits

...

9 Commits

Author SHA1 Message Date
github-actions[bot]
93667b9a9e chore(release): 0.37.24 🎉 (#674)
Build ran for 8df9f14a24

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-19 15:37:05 +02:00
Almeida
8df9f14a24 fix(APIApplicationRoleConnection): metadata values can be numbers (#673) 2022-12-16 16:15:06 +02:00
github-actions[bot]
c2bec62a8e chore(release): 0.37.23 🎉 (#672)
Build ran for 190242a59d

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-15 16:59:48 +02:00
advaith
190242a59d feat(APIGuildForumChannel): add default_forum_layout (#658)
* feat(APIGuildForumChannel): add `default_forum_layout`

* chore: use official names and text
2022-12-15 07:19:15 +02:00
MateoDeveloper
2b75d13b39 feat(Locale): add Indonesian locale (#643) 2022-12-14 23:45:04 +02:00
advaith
89bc0f40b6 fix(Interactions): make app_permissions required (#652) 2022-12-14 23:21:41 +02:00
Cynthia
2a5413def4 fix(APIChannel): correctly type present properties based on channel type (#669) 2022-12-14 23:20:04 +02:00
Almeida
d7b666c739 feat: add role connections (#651) 2022-12-14 23:18:41 +02:00
MateoDeveloper
c3fda99637 feat(APIApplicationCommand): add nsfw field (#637) 2022-12-14 23:16:14 +02:00
66 changed files with 987 additions and 157 deletions

View File

@@ -1,3 +1,23 @@
## [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

View File

@@ -1,3 +1,23 @@
## [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

View File

@@ -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

View File

@@ -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'
>
>;

View File

@@ -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 {
@@ -131,3 +137,71 @@ export enum ApplicationFlags {
EmbeddedFirstParty = 1 << 20,
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,
}

View File

@@ -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
@@ -111,15 +116,15 @@ export interface APIGuildTextChannel<T extends GuildTextChannelType>
* 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>;
@@ -145,7 +150,7 @@ export interface APIVoiceChannelBase<T extends ChannelType> extends APIGuildChan
export interface APIGuildVoiceChannel
extends APIVoiceChannelBase<ChannelType.GuildVoice>,
Omit<APITextBasedChannel<ChannelType.GuildVoice>, 'name'> {
Omit<APITextBasedChannel<ChannelType.GuildVoice>, 'name' | 'last_pin_timestamp'> {
/**
* The camera video quality mode of the voice channel, `1` when not present
*
@@ -196,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
*/
@@ -215,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
*
@@ -299,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;
}
/**
@@ -331,7 +343,6 @@ export type APIChannel =
| APIGuildStageVoiceChannel
| APIGuildCategoryChannel
| APIThreadChannel
| APINewsChannel
| APIGuildForumChannel;
/**

View File

@@ -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
*/

View File

@@ -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>;
}

View File

@@ -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

View File

@@ -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'
>
>;

View File

@@ -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 {
@@ -131,3 +137,71 @@ export enum ApplicationFlags {
EmbeddedFirstParty = 1 << 20,
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,
}

View File

@@ -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
@@ -111,15 +116,15 @@ export interface APIGuildTextChannel<T extends GuildTextChannelType>
* 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>;
@@ -145,7 +150,7 @@ export interface APIVoiceChannelBase<T extends ChannelType> extends APIGuildChan
export interface APIGuildVoiceChannel
extends APIVoiceChannelBase<ChannelType.GuildVoice>,
Omit<APITextBasedChannel<ChannelType.GuildVoice>, 'name'> {
Omit<APITextBasedChannel<ChannelType.GuildVoice>, 'name' | 'last_pin_timestamp'> {
/**
* The camera video quality mode of the voice channel, `1` when not present
*
@@ -189,14 +194,14 @@ export interface APIGroupDMChannel extends Omit<APIDMChannelBase<ChannelType.Gro
* 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
*/
@@ -215,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
*
@@ -299,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;
}
/**
@@ -331,7 +339,6 @@ export type APIChannel =
| APIGuildStageVoiceChannel
| APIGuildCategoryChannel
| APIThreadChannel
| APINewsChannel
| APIGuildForumChannel;
/**

View File

@@ -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
*/

View File

@@ -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>;
}

View File

@@ -266,6 +266,7 @@ export enum RESTJSONErrorCodes {
* https://discord.com/developers/docs/reference#locales
*/
export enum Locale {
Indonesian = 'id',
EnglishUS = 'en-US',
EnglishGB = 'en-GB',
Bulgarian = 'bg',

View 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[];

View File

@@ -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;
}>;
/**

View File

@@ -56,6 +56,7 @@ export type APIGuildCreatePartialChannel = StrictPartial<
| 'default_reaction_emoji'
| 'available_tags'
| 'default_sort_order'
| 'default_forum_layout'
>
> &
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{

View File

@@ -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`

View File

@@ -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;

View 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[];

View File

@@ -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;
}>;
/**

View File

@@ -56,6 +56,7 @@ export type APIGuildCreatePartialChannel = StrictPartial<
| 'default_reaction_emoji'
| 'available_tags'
| 'default_sort_order'
| 'default_forum_layout'
>
> &
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{

View File

@@ -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`

View File

@@ -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;

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "discord-api-types",
"version": "0.37.22",
"version": "0.37.24",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "discord-api-types",
"version": "0.37.22",
"version": "0.37.24",
"license": "MIT",
"devDependencies": {
"@babel/runtime-corejs3": "^7.18.0",

View File

@@ -1,6 +1,6 @@
{
"name": "discord-api-types",
"version": "0.37.22",
"version": "0.37.24",
"description": "Discord API typings that are kept up to date for use in bot library creation.",
"homepage": "https://discord-api-types.dev",
"exports": {

View File

@@ -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

View File

@@ -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'
>
>;

View File

@@ -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 {
@@ -131,3 +137,71 @@ export enum ApplicationFlags {
EmbeddedFirstParty = 1 << 20,
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,
}

View File

@@ -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
@@ -111,15 +116,15 @@ export interface APIGuildTextChannel<T extends GuildTextChannelType>
* 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>;
@@ -145,7 +150,7 @@ export interface APIVoiceChannelBase<T extends ChannelType> extends APIGuildChan
export interface APIGuildVoiceChannel
extends APIVoiceChannelBase<ChannelType.GuildVoice>,
Omit<APITextBasedChannel<ChannelType.GuildVoice>, 'name'> {
Omit<APITextBasedChannel<ChannelType.GuildVoice>, 'name' | 'last_pin_timestamp'> {
/**
* The camera video quality mode of the voice channel, `1` when not present
*
@@ -196,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
*/
@@ -215,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
*
@@ -299,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;
}
/**
@@ -331,7 +343,6 @@ export type APIChannel =
| APIGuildStageVoiceChannel
| APIGuildCategoryChannel
| APIThreadChannel
| APINewsChannel
| APIGuildForumChannel;
/**

View File

@@ -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
*/

View File

@@ -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>;
}

View File

@@ -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

View File

@@ -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'
>
>;

View File

@@ -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 {
@@ -131,3 +137,71 @@ export enum ApplicationFlags {
EmbeddedFirstParty = 1 << 20,
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,
}

View File

@@ -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
@@ -111,15 +116,15 @@ export interface APIGuildTextChannel<T extends GuildTextChannelType>
* 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>;
@@ -145,7 +150,7 @@ export interface APIVoiceChannelBase<T extends ChannelType> extends APIGuildChan
export interface APIGuildVoiceChannel
extends APIVoiceChannelBase<ChannelType.GuildVoice>,
Omit<APITextBasedChannel<ChannelType.GuildVoice>, 'name'> {
Omit<APITextBasedChannel<ChannelType.GuildVoice>, 'name' | 'last_pin_timestamp'> {
/**
* The camera video quality mode of the voice channel, `1` when not present
*
@@ -189,14 +194,14 @@ export interface APIGroupDMChannel extends Omit<APIDMChannelBase<ChannelType.Gro
* 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
*/
@@ -215,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
*
@@ -299,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;
}
/**
@@ -331,7 +339,6 @@ export type APIChannel =
| APIGuildStageVoiceChannel
| APIGuildCategoryChannel
| APIThreadChannel
| APINewsChannel
| APIGuildForumChannel;
/**

View File

@@ -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
*/

View File

@@ -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>;
}

View File

@@ -266,6 +266,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
View 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[];

View File

@@ -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;
}>;
/**

View File

@@ -56,6 +56,7 @@ export type APIGuildCreatePartialChannel = StrictPartial<
| 'default_reaction_emoji'
| 'available_tags'
| 'default_sort_order'
| 'default_forum_layout'
>
> &
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{

View File

@@ -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`

View File

@@ -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
View 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[];

View File

@@ -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;
}>;
/**

View File

@@ -56,6 +56,7 @@ export type APIGuildCreatePartialChannel = StrictPartial<
| 'default_reaction_emoji'
| 'available_tags'
| 'default_sort_order'
| 'default_forum_layout'
>
> &
AddUndefinedToPossiblyUndefinedPropertiesOfInterface<{

View File

@@ -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`

View File

@@ -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;

View File

@@ -1,10 +1,34 @@
import { expectType } from 'tsd';
import type { ChannelType, APIPartialChannel, APIGroupDMChannel, APIDMChannel, APIGuildChannel } from '../../v10';
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 groupDMChannel: APIGroupDMChannel;
declare const dmChannel: APIDMChannel;
declare const guildChannel: APIGuildChannel<ChannelType>;
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
@@ -12,3 +36,15 @@ 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);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

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

File diff suppressed because one or more lines are too long

View File

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

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
[
"0.37.22",
"0.37.21"
"0.37.24",
"0.37.23"
]