Compare commits

...

15 Commits

Author SHA1 Message Date
github-actions[bot]
dad9eea547 chore(release): 0.30.0 🎉 (#376)
Build ran for f702988112

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-24 14:16:36 +01:00
Suneet Tipirneni
f702988112 feat(APIApplicationCommand): add command localization (#370) 2022-03-24 01:04:17 +02:00
Parbez
e822e45b3b revert: fix(GatewayVoiceState): some fields are optional instead of nullable (#367) 2022-03-12 13:53:07 +02:00
Jiralite
fa740eb16c fix(APIGuildIntegrationType): correct name of type (#366)
BREAKING CHANGE: `APIGuildInteractionType` is now correctly named `APIGuildIntegrationType`
2022-03-12 00:53:08 +02:00
KinectTheUnknown
8cb629befe chore(.gitignore): fix capitalization error for DS_Store (#365)
The correct capitalization used by macOS is `.DS_Store`, not `.DS_store`
2022-03-11 01:59:04 +02:00
github-actions[bot]
b0443a02ec chore(release): 0.29.0 🎉 (#363)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-03-10 13:43:14 +01:00
Suneet Tipirneni
cb92843991 feat(APIInviteGuild): add boost count (#323) 2022-03-09 23:49:07 +02:00
Suneet Tipirneni
d06d2d6a9a feat(APIStageInstance): add guild_scheduled_event_id (#350) 2022-03-09 23:46:13 +02:00
Almeida
854aa3691c fix(RESTJSONErrorCodes): typo in error 30046 (#362)
BREAKING CHANGE: `MaximumNumberOfEditsToMessagesOlderThanOneHourReached` is no longer mistyped as `MaxmimumNumberOfEditsToMessagesOlderThanOneHourReached`
2022-03-09 22:10:05 +02:00
Almeida
e5710d0e42 refactor(APIGuildScheduledEventBase): make description nullable (#359)
BREAKING CHANGE: The type for `description` can also be null, not just optional
2022-03-09 21:12:51 +02:00
Almeida
9a578489ad refactor(RESTJSONErrorCodes): update error 50008 key (#338)
BREAKING CHANGE: The error code `50008` has been renamed from `CannotSendMessagesInVoiceChannel` to `CannotSendMessagesInNonTextChannel`
2022-03-09 21:12:00 +02:00
Almeida
10fdeaa68d refactor: make things optional and nullable where applicable (#361)
BREAKING CHANGE: The deprecated `asset` field for stickers is correctly marked as optional now. The `image` field for Guild Scheduled Events is now correctly typed as optional.
2022-03-09 21:11:08 +02:00
Almeida
fddff2167c fix(GatewayVoiceState): some fields are optional instead of nullable (#345)
BREAKING CHANGE: `channel_id` and `request_to_speak_timestamp` are correctly typed as optional, not nullable now.
2022-03-09 20:45:54 +02:00
Almeida
e8127b89f8 feat(RESTJSONErrorCodes): add error 10065 (#336) 2022-03-09 20:44:24 +02:00
Almeida
ab2598441a docs(APISelectMenuComponent): update placeholder max to 150 (#346) 2022-03-09 20:44:01 +02:00
51 changed files with 344 additions and 46 deletions

2
.gitignore vendored
View File

@@ -47,4 +47,4 @@ voice/**/*.d.ts
voice/**/*.mjs
# macOS files
.DS_store
.DS_Store

View File

@@ -1,3 +1,48 @@
# [0.30.0](https://github.com/discordjs/discord-api-types/compare/0.29.0...0.30.0) (2022-03-24)
### Bug Fixes
- **APIGuildIntegrationType:** correct name of type ([#366](https://github.com/discordjs/discord-api-types/issues/366)) ([fa740eb](https://github.com/discordjs/discord-api-types/commit/fa740eb16c8bba9d2c9c915d2e0139e5e1211040))
### Features
- **APIApplicationCommand:** add command localization ([#370](https://github.com/discordjs/discord-api-types/issues/370)) ([f702988](https://github.com/discordjs/discord-api-types/commit/f70298811242d946cee01b112c34382f0e54cb78))
### Reverts
- fix(GatewayVoiceState): some fields are optional instead of nullable ([#367](https://github.com/discordjs/discord-api-types/issues/367)) ([e822e45](https://github.com/discordjs/discord-api-types/commit/e822e45b3b6e07eb85a45039975cb33636765f5e))
### BREAKING CHANGES
- **APIGuildIntegrationType:** `APIGuildInteractionType` is now correctly named `APIGuildIntegrationType`
# [0.29.0](https://github.com/discordjs/discord-api-types/compare/0.28.0...0.29.0) (2022-03-10)
### Bug Fixes
- **GatewayVoiceState:** some fields are optional instead of nullable ([#345](https://github.com/discordjs/discord-api-types/issues/345)) ([fddff21](https://github.com/discordjs/discord-api-types/commit/fddff2167c858832d6c61f3efca8d944fd356a85))
- **RESTJSONErrorCodes:** typo in error `30046` ([#362](https://github.com/discordjs/discord-api-types/issues/362)) ([854aa36](https://github.com/discordjs/discord-api-types/commit/854aa3691c4d16a2c7fec7421cf25ea03a030e55))
### Code Refactoring
- **APIGuildScheduledEventBase:** make `description` nullable ([#359](https://github.com/discordjs/discord-api-types/issues/359)) ([e5710d0](https://github.com/discordjs/discord-api-types/commit/e5710d0e42d4f597bc9ed5594619a5032bf59bcb))
- make things optional and nullable where applicable ([#361](https://github.com/discordjs/discord-api-types/issues/361)) ([10fdeaa](https://github.com/discordjs/discord-api-types/commit/10fdeaa68df9b3b61b20b8d90b9587d03d95a450))
- **RESTJSONErrorCodes:** update error `50008` key ([#338](https://github.com/discordjs/discord-api-types/issues/338)) ([9a57848](https://github.com/discordjs/discord-api-types/commit/9a578489ad05b2ba8ed8d496db19cb86fa572ef7))
### Features
- **APIInviteGuild:** add boost count ([#323](https://github.com/discordjs/discord-api-types/issues/323)) ([cb92843](https://github.com/discordjs/discord-api-types/commit/cb92843991307d59c61d017d8ab1adcd469b4512))
- **APIStageInstance:** add `guild_scheduled_event_id` ([#350](https://github.com/discordjs/discord-api-types/issues/350)) ([d06d2d6](https://github.com/discordjs/discord-api-types/commit/d06d2d6a9a8ccc84337b2ce9c59430694ae93e8a))
- **RESTJSONErrorCodes:** add error `10065` ([#336](https://github.com/discordjs/discord-api-types/issues/336)) ([e8127b8](https://github.com/discordjs/discord-api-types/commit/e8127b89f89c4612fab0d3702ce512e41ab75b6e))
### BREAKING CHANGES
- **RESTJSONErrorCodes:** `MaximumNumberOfEditsToMessagesOlderThanOneHourReached` is no longer mistyped as `MaxmimumNumberOfEditsToMessagesOlderThanOneHourReached`
- **APIGuildScheduledEventBase:** The type for `description` can also be null, not just optional
- **RESTJSONErrorCodes:** The error code `50008` has been renamed from `CannotSendMessagesInVoiceChannel` to `CannotSendMessagesInNonTextChannel`
- The deprecated `asset` field for stickers is correctly marked as optional now. The `image` field for Guild Scheduled Events is now correctly typed as optional.
- **GatewayVoiceState:** `channel_id` and `request_to_speak_timestamp` are correctly typed as optional, not nullable now.
# [0.28.0](https://github.com/discordjs/discord-api-types/compare/0.27.3...0.28.0) (2022-03-07)
### Code Refactoring

View File

@@ -1,3 +1,48 @@
# [0.30.0](https://github.com/discordjs/discord-api-types/compare/0.29.0...0.30.0) (2022-03-24)
### Bug Fixes
- **APIGuildIntegrationType:** correct name of type ([#366](https://github.com/discordjs/discord-api-types/issues/366)) ([fa740eb](https://github.com/discordjs/discord-api-types/commit/fa740eb16c8bba9d2c9c915d2e0139e5e1211040))
### Features
- **APIApplicationCommand:** add command localization ([#370](https://github.com/discordjs/discord-api-types/issues/370)) ([f702988](https://github.com/discordjs/discord-api-types/commit/f70298811242d946cee01b112c34382f0e54cb78))
### Reverts
- fix(GatewayVoiceState): some fields are optional instead of nullable ([#367](https://github.com/discordjs/discord-api-types/issues/367)) ([e822e45](https://github.com/discordjs/discord-api-types/commit/e822e45b3b6e07eb85a45039975cb33636765f5e))
### BREAKING CHANGES
- **APIGuildIntegrationType:** `APIGuildInteractionType` is now correctly named `APIGuildIntegrationType`
# [0.29.0](https://github.com/discordjs/discord-api-types/compare/0.28.0...0.29.0) (2022-03-10)
### Bug Fixes
- **GatewayVoiceState:** some fields are optional instead of nullable ([#345](https://github.com/discordjs/discord-api-types/issues/345)) ([fddff21](https://github.com/discordjs/discord-api-types/commit/fddff2167c858832d6c61f3efca8d944fd356a85))
- **RESTJSONErrorCodes:** typo in error `30046` ([#362](https://github.com/discordjs/discord-api-types/issues/362)) ([854aa36](https://github.com/discordjs/discord-api-types/commit/854aa3691c4d16a2c7fec7421cf25ea03a030e55))
### Code Refactoring
- **APIGuildScheduledEventBase:** make `description` nullable ([#359](https://github.com/discordjs/discord-api-types/issues/359)) ([e5710d0](https://github.com/discordjs/discord-api-types/commit/e5710d0e42d4f597bc9ed5594619a5032bf59bcb))
- make things optional and nullable where applicable ([#361](https://github.com/discordjs/discord-api-types/issues/361)) ([10fdeaa](https://github.com/discordjs/discord-api-types/commit/10fdeaa68df9b3b61b20b8d90b9587d03d95a450))
- **RESTJSONErrorCodes:** update error `50008` key ([#338](https://github.com/discordjs/discord-api-types/issues/338)) ([9a57848](https://github.com/discordjs/discord-api-types/commit/9a578489ad05b2ba8ed8d496db19cb86fa572ef7))
### Features
- **APIInviteGuild:** add boost count ([#323](https://github.com/discordjs/discord-api-types/issues/323)) ([cb92843](https://github.com/discordjs/discord-api-types/commit/cb92843991307d59c61d017d8ab1adcd469b4512))
- **APIStageInstance:** add `guild_scheduled_event_id` ([#350](https://github.com/discordjs/discord-api-types/issues/350)) ([d06d2d6](https://github.com/discordjs/discord-api-types/commit/d06d2d6a9a8ccc84337b2ce9c59430694ae93e8a))
- **RESTJSONErrorCodes:** add error `10065` ([#336](https://github.com/discordjs/discord-api-types/issues/336)) ([e8127b8](https://github.com/discordjs/discord-api-types/commit/e8127b89f89c4612fab0d3702ce512e41ab75b6e))
### BREAKING CHANGES
- **RESTJSONErrorCodes:** `MaximumNumberOfEditsToMessagesOlderThanOneHourReached` is no longer mistyped as `MaxmimumNumberOfEditsToMessagesOlderThanOneHourReached`
- **APIGuildScheduledEventBase:** The type for `description` can also be null, not just optional
- **RESTJSONErrorCodes:** The error code `50008` has been renamed from `CannotSendMessagesInVoiceChannel` to `CannotSendMessagesInNonTextChannel`
- The deprecated `asset` field for stickers is correctly marked as optional now. The `image` field for Guild Scheduled Events is now correctly typed as optional.
- **GatewayVoiceState:** `channel_id` and `request_to_speak_timestamp` are correctly typed as optional, not nullable now.
# [0.28.0](https://github.com/discordjs/discord-api-types/compare/0.27.3...0.28.0) (2022-03-07)
### Code Refactoring

View File

@@ -1,3 +1,5 @@
import type { LocaleString } from '../v10.ts';
/**
* https://discord.com/developers/docs/topics/permissions#permissions-bitwise-permission-flags
*
@@ -54,3 +56,5 @@ export const PermissionFlagsBits = {
* @internal
*/
Object.freeze(PermissionFlagsBits);
export type LocalizationMap = Partial<Record<LocaleString, string>>;

View File

@@ -1,9 +1,12 @@
import type { LocalizationMap } from '../../../../../v10.ts';
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared.ts';
export interface APIApplicationCommandOptionBase<Type extends ApplicationCommandOptionType> {
type: Type;
name: string;
name_localizations?: LocalizationMap;
description: string;
description_localizations?: LocalizationMap;
required?: boolean;
}

View File

@@ -1,3 +1,5 @@
import type { LocalizationMap } from '../../../../../v10.ts';
/**
* https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-type
*/
@@ -20,5 +22,6 @@ export enum ApplicationCommandOptionType {
*/
export interface APIApplicationCommandOptionChoice<ValueType = string | number> {
name: string;
name_localizations?: LocalizationMap;
value: ValueType;
}

View File

@@ -1,4 +1,5 @@
import type { Permissions, Snowflake } from '../../../globals.ts';
import type { LocalizationMap } from '../../../v10.ts';
import type { APIPartialChannel, APIThreadMetadata } from '../channel.ts';
import type { APIGuildMember } from '../guild.ts';
import type { APIBaseInteraction } from './base.ts';
@@ -45,10 +46,18 @@ export interface APIApplicationCommand {
* 1-32 character name; `CHAT_INPUT` command names must be all lowercase matching `^[\w-]{1,32}$`
*/
name: string;
/**
* Localization dictionary for the name field. Values follow the same restrictions as name
*/
name_localizations?: LocalizationMap;
/**
* 1-100 character description for `CHAT_INPUT` commands, empty string for `USER` and `MESSAGE` commands
*/
description: string;
/**
* Localization dictionary for the description field. Values follow the same restrictions as description
*/
description_localizations?: LocalizationMap;
/**
* The parameters for the `CHAT_INPUT` command, max 25
*/

View File

@@ -1273,7 +1273,7 @@ export interface APISelectMenuComponent extends APIBaseComponent<ComponentType.S
*/
options: APISelectMenuOption[];
/**
* Custom placeholder text if nothing is selected, max 100 characters
* Custom placeholder text if nothing is selected, max 150 characters
*/
placeholder?: string;
/**

View File

@@ -681,7 +681,7 @@ export interface APIGuildIntegration {
/**
* Integration type
*/
type: APIGuildInteractionType;
type: APIGuildIntegrationType;
/**
* Is this integration enabled
*/
@@ -760,7 +760,7 @@ export interface APIGuildIntegration {
application?: APIGuildIntegrationApplication;
}
export type APIGuildInteractionType = 'twitch' | 'youtube' | 'discord';
export type APIGuildIntegrationType = 'twitch' | 'youtube' | 'discord';
/**
* https://discord.com/developers/docs/resources/guild#integration-object-integration-expire-behaviors

View File

@@ -26,7 +26,7 @@ interface APIGuildScheduledEventBase<Type extends GuildScheduledEventEntityType>
/**
* The description of the scheduled event
*/
description?: string;
description?: string | null;
/**
* The time the scheduled event will start
*/
@@ -66,7 +66,7 @@ interface APIGuildScheduledEventBase<Type extends GuildScheduledEventEntityType>
/**
* The cover image of the scheduled event
*/
image: string | null;
image?: string | null;
}
export interface APIStageInstanceGuildScheduledEvent

View File

@@ -4,11 +4,26 @@
import type { APIApplication } from './application.ts';
import type { APIPartialChannel } from './channel.ts';
import type { APIPartialGuild } from './guild.ts';
import type { APIGuild } from './guild.ts';
import type { APIGuildScheduledEvent } from './guildScheduledEvent.ts';
import type { APIInviteStageInstance } from './stageInstance.ts';
import type { APIUser } from './user.ts';
export type APIInviteGuild = Pick<
APIGuild,
| 'id'
| 'name'
| 'splash'
| 'banner'
| 'icon'
| 'vanity_url_code'
| 'description'
| 'features'
| 'verification_level'
| 'nsfw_level'
| 'premium_subscription_count'
>;
/**
* https://discord.com/developers/docs/resources/invite#invite-object
*/
@@ -22,7 +37,7 @@ export interface APIInvite {
*
* See https://discord.com/developers/docs/resources/guild#guild-object
*/
guild?: APIPartialGuild;
guild?: APIInviteGuild;
/**
* The channel this invite is for
*

View File

@@ -32,6 +32,10 @@ export interface APIStageInstance {
* @deprecated
*/
discoverable_disabled: boolean;
/**
* The id of the scheduled event for this stage instance
*/
guild_scheduled_event_id?: Snowflake;
}
/**

View File

@@ -33,7 +33,7 @@ export interface APISticker {
* Previously the sticker asset hash, now an empty string
* @deprecated
*/
asset: '';
asset?: '';
/**
* Type of sticker
*

View File

@@ -4,11 +4,26 @@
import type { APIApplication } from './application.ts';
import type { APIPartialChannel } from './channel.ts';
import type { APIPartialGuild } from './guild.ts';
import type { APIGuild } from './guild.ts';
import type { APIGuildScheduledEvent } from './guildScheduledEvent.ts';
import type { APIInviteStageInstance } from './stageInstance.ts';
import type { APIUser } from './user.ts';
export type APIInviteGuild = Pick<
APIGuild,
| 'id'
| 'name'
| 'splash'
| 'banner'
| 'icon'
| 'vanity_url_code'
| 'description'
| 'features'
| 'verification_level'
| 'nsfw_level'
| 'premium_subscription_count'
>;
/**
* https://discord.com/developers/docs/resources/invite#invite-object
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
@@ -23,7 +38,7 @@ export interface APIInvite {
*
* See https://discord.com/developers/docs/resources/guild#guild-object
*/
guild?: APIPartialGuild;
guild?: APIInviteGuild;
/**
* The channel this invite is for
*

View File

@@ -1,9 +1,12 @@
import type { LocalizationMap } from '../../../../../v9.ts';
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared.ts';
export interface APIApplicationCommandOptionBase<Type extends ApplicationCommandOptionType> {
type: Type;
name: string;
name_localizations?: LocalizationMap;
description: string;
description_localizations?: LocalizationMap;
required?: boolean;
}

View File

@@ -1,3 +1,5 @@
import type { LocalizationMap } from '../../../../../v9.ts';
/**
* https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-type
*/
@@ -20,5 +22,6 @@ export enum ApplicationCommandOptionType {
*/
export interface APIApplicationCommandOptionChoice<ValueType = string | number> {
name: string;
name_localizations?: LocalizationMap;
value: ValueType;
}

View File

@@ -1,4 +1,5 @@
import type { Permissions, Snowflake } from '../../../globals.ts';
import type { LocalizationMap } from '../../../v9.ts';
import type { APIPartialChannel, APIThreadMetadata } from '../channel.ts';
import type { APIGuildMember } from '../guild.ts';
import type { APIBaseInteraction } from './base.ts';
@@ -45,10 +46,18 @@ export interface APIApplicationCommand {
* 1-32 character name; `CHAT_INPUT` command names must be all lowercase matching `^[\w-]{1,32}$`
*/
name: string;
/**
* Localization dictionary for the name field. Values follow the same restrictions as name
*/
name_localizations?: LocalizationMap;
/**
* 1-100 character description for `CHAT_INPUT` commands, empty string for `USER` and `MESSAGE` commands
*/
description: string;
/**
* Localization dictionary for the description field. Values follow the same restrictions as description
*/
description_localizations?: LocalizationMap;
/**
* The parameters for the `CHAT_INPUT` command, max 25
*/

View File

@@ -1273,7 +1273,7 @@ export interface APISelectMenuComponent extends APIBaseComponent<ComponentType.S
*/
options: APISelectMenuOption[];
/**
* Custom placeholder text if nothing is selected, max 100 characters
* Custom placeholder text if nothing is selected, max 150 characters
*/
placeholder?: string;
/**

View File

@@ -681,7 +681,7 @@ export interface APIGuildIntegration {
/**
* Integration type
*/
type: APIGuildInteractionType;
type: APIGuildIntegrationType;
/**
* Is this integration enabled
*/
@@ -760,7 +760,7 @@ export interface APIGuildIntegration {
application?: APIGuildIntegrationApplication;
}
export type APIGuildInteractionType = 'twitch' | 'youtube' | 'discord';
export type APIGuildIntegrationType = 'twitch' | 'youtube' | 'discord';
/**
* https://discord.com/developers/docs/resources/guild#integration-object-integration-expire-behaviors

View File

@@ -26,7 +26,7 @@ interface APIGuildScheduledEventBase<Type extends GuildScheduledEventEntityType>
/**
* The description of the scheduled event
*/
description?: string;
description?: string | null;
/**
* The time the scheduled event will start
*/
@@ -66,7 +66,7 @@ interface APIGuildScheduledEventBase<Type extends GuildScheduledEventEntityType>
/**
* The cover image of the scheduled event
*/
image: string | null;
image?: string | null;
}
export interface APIStageInstanceGuildScheduledEvent

View File

@@ -4,11 +4,26 @@
import type { APIApplication } from './application.ts';
import type { APIPartialChannel } from './channel.ts';
import type { APIPartialGuild } from './guild.ts';
import type { APIGuild } from './guild.ts';
import type { APIGuildScheduledEvent } from './guildScheduledEvent.ts';
import type { APIInviteStageInstance } from './stageInstance.ts';
import type { APIUser } from './user.ts';
export type APIInviteGuild = Pick<
APIGuild,
| 'id'
| 'name'
| 'splash'
| 'banner'
| 'icon'
| 'vanity_url_code'
| 'description'
| 'features'
| 'verification_level'
| 'nsfw_level'
| 'premium_subscription_count'
>;
/**
* https://discord.com/developers/docs/resources/invite#invite-object
*/
@@ -22,7 +37,7 @@ export interface APIInvite {
*
* See https://discord.com/developers/docs/resources/guild#guild-object
*/
guild?: APIPartialGuild;
guild?: APIInviteGuild;
/**
* The channel this invite is for
*

View File

@@ -32,6 +32,10 @@ export interface APIStageInstance {
* @deprecated
*/
discoverable_disabled: boolean;
/**
* The id of the scheduled event for this stage instance
*/
guild_scheduled_event_id?: Snowflake;
}
/**

View File

@@ -33,7 +33,7 @@ export interface APISticker {
* Previously the sticker asset hash, now an empty string
* @deprecated
*/
asset: '';
asset?: '';
/**
* Type of sticker
*

View File

@@ -47,7 +47,8 @@ export enum RESTJSONErrorCodes {
UnknownInteraction = 10062,
UnknownApplicationCommand,
UnknownApplicationCommandPermissions = 10066,
UnknownVoiceState = 10065,
UnknownApplicationCommandPermissions,
UnknownStageInstance,
UnknownGuildMemberVerificationForm,
UnknownGuildWelcomeScreen,
@@ -109,7 +110,7 @@ export enum RESTJSONErrorCodes {
MaximumNumberOfGuildWidgetSettingsUpdatesHasBeenReached = 30042,
MaxmimumNumberOfEditsToMessagesOlderThanOneHourReached = 30046,
MaximumNumberOfEditsToMessagesOlderThanOneHourReached = 30046,
Unauthorized = 40001,
VerifyYourAccount,
@@ -133,7 +134,7 @@ export enum RESTJSONErrorCodes {
CannotEditMessageAuthoredByAnotherUser,
CannotSendAnEmptyMessage,
CannotSendMessagesToThisUser,
CannotSendMessagesInVoiceChannel,
CannotSendMessagesInNonTextChannel,
ChannelVerificationLevelTooHighForYouToGainAccess,
OAuth2ApplicationDoesNotHaveBot,
OAuth2ApplicationLimitReached,

View File

@@ -95,6 +95,14 @@ export type RESTPatchAPIGuildScheduledEventJSONBody = StrictPartial<RESTPostAPIG
* The status of the scheduled event
*/
status?: GuildScheduledEventStatus;
/**
* The entity metadata of the scheduled event
*/
entity_metadata?: APIGuildScheduledEventEntityMetadata | null;
/**
* The description of the guild event
*/
description?: string | null;
}>;
/**

View File

@@ -95,6 +95,14 @@ export type RESTPatchAPIGuildScheduledEventJSONBody = StrictPartial<RESTPostAPIG
* The status of the scheduled event
*/
status?: GuildScheduledEventStatus;
/**
* The entity metadata of the scheduled event
*/
entity_metadata?: APIGuildScheduledEventEntityMetadata | null;
/**
* The description of the guild event
*/
description?: string | null;
}>;
/**

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "discord-api-types",
"version": "0.28.0",
"version": "0.30.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "discord-api-types",
"version": "0.28.0",
"version": "0.30.0",
"license": "MIT",
"devDependencies": {
"@commitlint/cli": "^16.1.0",

View File

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

View File

@@ -1,3 +1,5 @@
import type { LocaleString } from '../v10';
/**
* https://discord.com/developers/docs/topics/permissions#permissions-bitwise-permission-flags
*
@@ -54,3 +56,5 @@ export const PermissionFlagsBits = {
* @internal
*/
Object.freeze(PermissionFlagsBits);
export type LocalizationMap = Partial<Record<LocaleString, string>>;

View File

@@ -1,9 +1,12 @@
import type { LocalizationMap } from '../../../../../v10';
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared';
export interface APIApplicationCommandOptionBase<Type extends ApplicationCommandOptionType> {
type: Type;
name: string;
name_localizations?: LocalizationMap;
description: string;
description_localizations?: LocalizationMap;
required?: boolean;
}

View File

@@ -1,3 +1,5 @@
import type { LocalizationMap } from '../../../../../v10';
/**
* https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-type
*/
@@ -20,5 +22,6 @@ export enum ApplicationCommandOptionType {
*/
export interface APIApplicationCommandOptionChoice<ValueType = string | number> {
name: string;
name_localizations?: LocalizationMap;
value: ValueType;
}

View File

@@ -1,4 +1,5 @@
import type { Permissions, Snowflake } from '../../../globals';
import type { LocalizationMap } from '../../../v10';
import type { APIPartialChannel, APIThreadMetadata } from '../channel';
import type { APIGuildMember } from '../guild';
import type { APIBaseInteraction } from './base';
@@ -45,10 +46,18 @@ export interface APIApplicationCommand {
* 1-32 character name; `CHAT_INPUT` command names must be all lowercase matching `^[\w-]{1,32}$`
*/
name: string;
/**
* Localization dictionary for the name field. Values follow the same restrictions as name
*/
name_localizations?: LocalizationMap;
/**
* 1-100 character description for `CHAT_INPUT` commands, empty string for `USER` and `MESSAGE` commands
*/
description: string;
/**
* Localization dictionary for the description field. Values follow the same restrictions as description
*/
description_localizations?: LocalizationMap;
/**
* The parameters for the `CHAT_INPUT` command, max 25
*/

View File

@@ -1273,7 +1273,7 @@ export interface APISelectMenuComponent extends APIBaseComponent<ComponentType.S
*/
options: APISelectMenuOption[];
/**
* Custom placeholder text if nothing is selected, max 100 characters
* Custom placeholder text if nothing is selected, max 150 characters
*/
placeholder?: string;
/**

View File

@@ -681,7 +681,7 @@ export interface APIGuildIntegration {
/**
* Integration type
*/
type: APIGuildInteractionType;
type: APIGuildIntegrationType;
/**
* Is this integration enabled
*/
@@ -760,7 +760,7 @@ export interface APIGuildIntegration {
application?: APIGuildIntegrationApplication;
}
export type APIGuildInteractionType = 'twitch' | 'youtube' | 'discord';
export type APIGuildIntegrationType = 'twitch' | 'youtube' | 'discord';
/**
* https://discord.com/developers/docs/resources/guild#integration-object-integration-expire-behaviors

View File

@@ -26,7 +26,7 @@ interface APIGuildScheduledEventBase<Type extends GuildScheduledEventEntityType>
/**
* The description of the scheduled event
*/
description?: string;
description?: string | null;
/**
* The time the scheduled event will start
*/
@@ -66,7 +66,7 @@ interface APIGuildScheduledEventBase<Type extends GuildScheduledEventEntityType>
/**
* The cover image of the scheduled event
*/
image: string | null;
image?: string | null;
}
export interface APIStageInstanceGuildScheduledEvent

View File

@@ -4,11 +4,26 @@
import type { APIApplication } from './application';
import type { APIPartialChannel } from './channel';
import type { APIPartialGuild } from './guild';
import type { APIGuild } from './guild';
import type { APIGuildScheduledEvent } from './guildScheduledEvent';
import type { APIInviteStageInstance } from './stageInstance';
import type { APIUser } from './user';
export type APIInviteGuild = Pick<
APIGuild,
| 'id'
| 'name'
| 'splash'
| 'banner'
| 'icon'
| 'vanity_url_code'
| 'description'
| 'features'
| 'verification_level'
| 'nsfw_level'
| 'premium_subscription_count'
>;
/**
* https://discord.com/developers/docs/resources/invite#invite-object
*/
@@ -22,7 +37,7 @@ export interface APIInvite {
*
* See https://discord.com/developers/docs/resources/guild#guild-object
*/
guild?: APIPartialGuild;
guild?: APIInviteGuild;
/**
* The channel this invite is for
*

View File

@@ -32,6 +32,10 @@ export interface APIStageInstance {
* @deprecated
*/
discoverable_disabled: boolean;
/**
* The id of the scheduled event for this stage instance
*/
guild_scheduled_event_id?: Snowflake;
}
/**

View File

@@ -33,7 +33,7 @@ export interface APISticker {
* Previously the sticker asset hash, now an empty string
* @deprecated
*/
asset: '';
asset?: '';
/**
* Type of sticker
*

View File

@@ -4,11 +4,26 @@
import type { APIApplication } from './application';
import type { APIPartialChannel } from './channel';
import type { APIPartialGuild } from './guild';
import type { APIGuild } from './guild';
import type { APIGuildScheduledEvent } from './guildScheduledEvent';
import type { APIInviteStageInstance } from './stageInstance';
import type { APIUser } from './user';
export type APIInviteGuild = Pick<
APIGuild,
| 'id'
| 'name'
| 'splash'
| 'banner'
| 'icon'
| 'vanity_url_code'
| 'description'
| 'features'
| 'verification_level'
| 'nsfw_level'
| 'premium_subscription_count'
>;
/**
* https://discord.com/developers/docs/resources/invite#invite-object
* @deprecated API and gateway v8 are deprecated and the types will not receive further updates, please update to v10.
@@ -23,7 +38,7 @@ export interface APIInvite {
*
* See https://discord.com/developers/docs/resources/guild#guild-object
*/
guild?: APIPartialGuild;
guild?: APIInviteGuild;
/**
* The channel this invite is for
*

View File

@@ -1,9 +1,12 @@
import type { LocalizationMap } from '../../../../../v9';
import type { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from './shared';
export interface APIApplicationCommandOptionBase<Type extends ApplicationCommandOptionType> {
type: Type;
name: string;
name_localizations?: LocalizationMap;
description: string;
description_localizations?: LocalizationMap;
required?: boolean;
}

View File

@@ -1,3 +1,5 @@
import type { LocalizationMap } from '../../../../../v9';
/**
* https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-type
*/
@@ -20,5 +22,6 @@ export enum ApplicationCommandOptionType {
*/
export interface APIApplicationCommandOptionChoice<ValueType = string | number> {
name: string;
name_localizations?: LocalizationMap;
value: ValueType;
}

View File

@@ -1,4 +1,5 @@
import type { Permissions, Snowflake } from '../../../globals';
import type { LocalizationMap } from '../../../v9';
import type { APIPartialChannel, APIThreadMetadata } from '../channel';
import type { APIGuildMember } from '../guild';
import type { APIBaseInteraction } from './base';
@@ -45,10 +46,18 @@ export interface APIApplicationCommand {
* 1-32 character name; `CHAT_INPUT` command names must be all lowercase matching `^[\w-]{1,32}$`
*/
name: string;
/**
* Localization dictionary for the name field. Values follow the same restrictions as name
*/
name_localizations?: LocalizationMap;
/**
* 1-100 character description for `CHAT_INPUT` commands, empty string for `USER` and `MESSAGE` commands
*/
description: string;
/**
* Localization dictionary for the description field. Values follow the same restrictions as description
*/
description_localizations?: LocalizationMap;
/**
* The parameters for the `CHAT_INPUT` command, max 25
*/

View File

@@ -1273,7 +1273,7 @@ export interface APISelectMenuComponent extends APIBaseComponent<ComponentType.S
*/
options: APISelectMenuOption[];
/**
* Custom placeholder text if nothing is selected, max 100 characters
* Custom placeholder text if nothing is selected, max 150 characters
*/
placeholder?: string;
/**

View File

@@ -681,7 +681,7 @@ export interface APIGuildIntegration {
/**
* Integration type
*/
type: APIGuildInteractionType;
type: APIGuildIntegrationType;
/**
* Is this integration enabled
*/
@@ -760,7 +760,7 @@ export interface APIGuildIntegration {
application?: APIGuildIntegrationApplication;
}
export type APIGuildInteractionType = 'twitch' | 'youtube' | 'discord';
export type APIGuildIntegrationType = 'twitch' | 'youtube' | 'discord';
/**
* https://discord.com/developers/docs/resources/guild#integration-object-integration-expire-behaviors

View File

@@ -26,7 +26,7 @@ interface APIGuildScheduledEventBase<Type extends GuildScheduledEventEntityType>
/**
* The description of the scheduled event
*/
description?: string;
description?: string | null;
/**
* The time the scheduled event will start
*/
@@ -66,7 +66,7 @@ interface APIGuildScheduledEventBase<Type extends GuildScheduledEventEntityType>
/**
* The cover image of the scheduled event
*/
image: string | null;
image?: string | null;
}
export interface APIStageInstanceGuildScheduledEvent

View File

@@ -4,11 +4,26 @@
import type { APIApplication } from './application';
import type { APIPartialChannel } from './channel';
import type { APIPartialGuild } from './guild';
import type { APIGuild } from './guild';
import type { APIGuildScheduledEvent } from './guildScheduledEvent';
import type { APIInviteStageInstance } from './stageInstance';
import type { APIUser } from './user';
export type APIInviteGuild = Pick<
APIGuild,
| 'id'
| 'name'
| 'splash'
| 'banner'
| 'icon'
| 'vanity_url_code'
| 'description'
| 'features'
| 'verification_level'
| 'nsfw_level'
| 'premium_subscription_count'
>;
/**
* https://discord.com/developers/docs/resources/invite#invite-object
*/
@@ -22,7 +37,7 @@ export interface APIInvite {
*
* See https://discord.com/developers/docs/resources/guild#guild-object
*/
guild?: APIPartialGuild;
guild?: APIInviteGuild;
/**
* The channel this invite is for
*

View File

@@ -32,6 +32,10 @@ export interface APIStageInstance {
* @deprecated
*/
discoverable_disabled: boolean;
/**
* The id of the scheduled event for this stage instance
*/
guild_scheduled_event_id?: Snowflake;
}
/**

View File

@@ -33,7 +33,7 @@ export interface APISticker {
* Previously the sticker asset hash, now an empty string
* @deprecated
*/
asset: '';
asset?: '';
/**
* Type of sticker
*

View File

@@ -47,7 +47,8 @@ export enum RESTJSONErrorCodes {
UnknownInteraction = 10062,
UnknownApplicationCommand,
UnknownApplicationCommandPermissions = 10066,
UnknownVoiceState = 10065,
UnknownApplicationCommandPermissions,
UnknownStageInstance,
UnknownGuildMemberVerificationForm,
UnknownGuildWelcomeScreen,
@@ -109,7 +110,7 @@ export enum RESTJSONErrorCodes {
MaximumNumberOfGuildWidgetSettingsUpdatesHasBeenReached = 30042,
MaxmimumNumberOfEditsToMessagesOlderThanOneHourReached = 30046,
MaximumNumberOfEditsToMessagesOlderThanOneHourReached = 30046,
Unauthorized = 40001,
VerifyYourAccount,
@@ -133,7 +134,7 @@ export enum RESTJSONErrorCodes {
CannotEditMessageAuthoredByAnotherUser,
CannotSendAnEmptyMessage,
CannotSendMessagesToThisUser,
CannotSendMessagesInVoiceChannel,
CannotSendMessagesInNonTextChannel,
ChannelVerificationLevelTooHighForYouToGainAccess,
OAuth2ApplicationDoesNotHaveBot,
OAuth2ApplicationLimitReached,

View File

@@ -95,6 +95,14 @@ export type RESTPatchAPIGuildScheduledEventJSONBody = StrictPartial<RESTPostAPIG
* The status of the scheduled event
*/
status?: GuildScheduledEventStatus;
/**
* The entity metadata of the scheduled event
*/
entity_metadata?: APIGuildScheduledEventEntityMetadata | null;
/**
* The description of the guild event
*/
description?: string | null;
}>;
/**

View File

@@ -95,6 +95,14 @@ export type RESTPatchAPIGuildScheduledEventJSONBody = StrictPartial<RESTPostAPIG
* The status of the scheduled event
*/
status?: GuildScheduledEventStatus;
/**
* The entity metadata of the scheduled event
*/
entity_metadata?: APIGuildScheduledEventEntityMetadata | null;
/**
* The description of the guild event
*/
description?: string | null;
}>;
/**