feat: add API v10 support (#7477)

* feat: add API v10 support

* refactor: update deps

* chore: rebase fixes
This commit is contained in:
Suneet Tipirneni
2022-03-15 16:37:07 -04:00
committed by GitHub
parent 9b0d8cb2d8
commit 72577c4bfd
144 changed files with 196 additions and 203 deletions

View File

@@ -3,7 +3,7 @@ import {
ComponentType,
APIMessageActionRowComponent,
APIModalActionRowComponent,
} from 'discord-api-types/v9';
} from 'discord-api-types/v10';
import type { ButtonBuilder, SelectMenuBuilder, TextInputBuilder } from '..';
import { ComponentBuilder } from './Component';
import { createComponentBuilder } from './Components';

View File

@@ -1,4 +1,4 @@
import { APIMessageComponentEmoji, ButtonStyle } from 'discord-api-types/v9';
import { APIMessageComponentEmoji, ButtonStyle } from 'discord-api-types/v10';
import { z } from 'zod';
import type { SelectMenuOptionBuilder } from './selectMenu/SelectMenuOption';

View File

@@ -8,7 +8,7 @@ import type {
APIModalActionRowComponent,
APIModalComponent,
ComponentType,
} from 'discord-api-types/v9';
} from 'discord-api-types/v10';
/**
* Represents a discord component

View File

@@ -1,4 +1,4 @@
import { APIMessageComponent, APIModalComponent, ComponentType } from 'discord-api-types/v9';
import { APIMessageComponent, APIModalComponent, ComponentType } from 'discord-api-types/v10';
import { ActionRowBuilder, ButtonBuilder, ComponentBuilder, SelectMenuBuilder, TextInputBuilder } from '../index';
import type { MessageComponentBuilder, ModalComponentBuilder } from './ActionRow';

View File

@@ -4,7 +4,7 @@ import type {
APIButtonComponent,
APIButtonComponentWithCustomId,
APIButtonComponentWithURL,
} from 'discord-api-types/v9';
} from 'discord-api-types/v10';
import {
buttonLabelValidator,
buttonStyleValidator,

View File

@@ -5,7 +5,7 @@ import {
type APIButtonComponent,
type APIButtonComponentWithURL,
type APIButtonComponentWithCustomId,
} from 'discord-api-types/v9';
} from 'discord-api-types/v10';
import { ComponentBuilder } from '../Component';
/**

View File

@@ -1,4 +1,4 @@
import type { APISelectMenuComponent } from 'discord-api-types/v9';
import type { APISelectMenuComponent } from 'discord-api-types/v10';
import {
customIdValidator,
disabledValidator,

View File

@@ -1,4 +1,4 @@
import type { APIMessageComponentEmoji, APISelectMenuOption } from 'discord-api-types/v9';
import type { APIMessageComponentEmoji, APISelectMenuOption } from 'discord-api-types/v10';
import {
defaultValidator,
emojiValidator,

View File

@@ -1,4 +1,4 @@
import { APISelectMenuOption, ComponentType, type APISelectMenuComponent } from 'discord-api-types/v9';
import { APISelectMenuOption, ComponentType, type APISelectMenuComponent } from 'discord-api-types/v10';
import { ComponentBuilder } from '../Component';
import { UnsafeSelectMenuOptionBuilder } from './UnsafeSelectMenuOption';

View File

@@ -1,4 +1,4 @@
import type { APIMessageComponentEmoji, APISelectMenuOption } from 'discord-api-types/v9';
import type { APIMessageComponentEmoji, APISelectMenuOption } from 'discord-api-types/v10';
/**
* Represents a non-validated option within a select menu component

View File

@@ -1,4 +1,4 @@
import { TextInputStyle } from 'discord-api-types/v9';
import { TextInputStyle } from 'discord-api-types/v10';
import { z } from 'zod';
import { customIdValidator } from '../Assertions';

View File

@@ -1,4 +1,4 @@
import type { APITextInputComponent } from 'discord-api-types/v9';
import type { APITextInputComponent } from 'discord-api-types/v10';
import {
maxLengthValidator,
minLengthValidator,

View File

@@ -1,4 +1,4 @@
import { ComponentType, type TextInputStyle, type APITextInputComponent } from 'discord-api-types/v9';
import { ComponentType, type TextInputStyle, type APITextInputComponent } from 'discord-api-types/v10';
import { ComponentBuilder } from '../../index';
import isEqual from 'fast-deep-equal';

View File

@@ -1,5 +1,5 @@
import { z } from 'zod';
import { ApplicationCommandType } from 'discord-api-types/v9';
import { ApplicationCommandType } from 'discord-api-types/v10';
import type { ContextMenuCommandType } from './ContextMenuCommandBuilder';
const namePredicate = z

View File

@@ -1,5 +1,5 @@
import { validateRequiredParameters, validateName, validateType, validateDefaultPermission } from './Assertions';
import type { ApplicationCommandType, RESTPostAPIApplicationCommandsJSONBody } from 'discord-api-types/v9';
import type { ApplicationCommandType, RESTPostAPIApplicationCommandsJSONBody } from 'discord-api-types/v10';
export class ContextMenuCommandBuilder {
/**

View File

@@ -1,4 +1,4 @@
import type { APIModalInteractionResponseCallbackData } from 'discord-api-types/v9';
import type { APIModalInteractionResponseCallbackData } from 'discord-api-types/v10';
import { customIdValidator } from '../../components/Assertions';
import { titleValidator, validateRequiredParameters } from './Assertions';
import { UnsafeModalBuilder } from './UnsafeModal';

View File

@@ -2,7 +2,7 @@ import type {
APIActionRowComponent,
APIModalActionRowComponent,
APIModalInteractionResponseCallbackData,
} from 'discord-api-types/v9';
} from 'discord-api-types/v10';
import { ActionRowBuilder, createComponentBuilder, JSONEncodable, ModalActionRowComponentBuilder } from '../../index';
export class UnsafeModalBuilder implements JSONEncodable<APIModalInteractionResponseCallbackData> {

View File

@@ -1,5 +1,5 @@
import is from '@sindresorhus/is';
import type { APIApplicationCommandOptionChoice } from 'discord-api-types/v9';
import type { APIApplicationCommandOptionChoice } from 'discord-api-types/v10';
import { z } from 'zod';
import type { ApplicationCommandOptionBase } from './mixins/ApplicationCommandOptionBase';
import type { ToAPIApplicationCommandOptions } from './SlashCommandBuilder';

View File

@@ -1,4 +1,4 @@
import type { APIApplicationCommandOption, RESTPostAPIApplicationCommandsJSONBody } from 'discord-api-types/v9';
import type { APIApplicationCommandOption, RESTPostAPIApplicationCommandsJSONBody } from 'discord-api-types/v10';
import { mix } from 'ts-mixer';
import {
assertReturnOfBuilder,

View File

@@ -2,7 +2,7 @@ import {
APIApplicationCommandSubcommandGroupOption,
APIApplicationCommandSubcommandOption,
ApplicationCommandOptionType,
} from 'discord-api-types/v9';
} from 'discord-api-types/v10';
import { mix } from 'ts-mixer';
import { assertReturnOfBuilder, validateMaxOptionsLength, validateRequiredParameters } from './Assertions';
import type { ApplicationCommandOptionBase } from './mixins/ApplicationCommandOptionBase';

View File

@@ -1,4 +1,4 @@
import type { APIApplicationCommandBasicOption, ApplicationCommandOptionType } from 'discord-api-types/v9';
import type { APIApplicationCommandBasicOption, ApplicationCommandOptionType } from 'discord-api-types/v10';
import { validateRequiredParameters, validateRequired } from '../Assertions';
import { SharedNameAndDescription } from './NameAndDescription';

View File

@@ -1,4 +1,4 @@
import { ChannelType } from 'discord-api-types/v9';
import { ChannelType } from 'discord-api-types/v10';
import { z, ZodLiteral } from 'zod';
// Only allow valid channel types to be used. (This can't be dynamic because const enums are erased at runtime)

View File

@@ -1,4 +1,4 @@
import { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from 'discord-api-types/v9';
import { APIApplicationCommandOptionChoice, ApplicationCommandOptionType } from 'discord-api-types/v10';
import { z } from 'zod';
import { validateChoicesLength } from '../Assertions';

View File

@@ -1,4 +1,4 @@
import { APIApplicationCommandAttachmentOption, ApplicationCommandOptionType } from 'discord-api-types/v9';
import { APIApplicationCommandAttachmentOption, ApplicationCommandOptionType } from 'discord-api-types/v10';
import { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';
export class SlashCommandAttachmentOption extends ApplicationCommandOptionBase {

View File

@@ -1,4 +1,4 @@
import { APIApplicationCommandBooleanOption, ApplicationCommandOptionType } from 'discord-api-types/v9';
import { APIApplicationCommandBooleanOption, ApplicationCommandOptionType } from 'discord-api-types/v10';
import { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';
export class SlashCommandBooleanOption extends ApplicationCommandOptionBase {

View File

@@ -1,4 +1,4 @@
import { APIApplicationCommandChannelOption, ApplicationCommandOptionType } from 'discord-api-types/v9';
import { APIApplicationCommandChannelOption, ApplicationCommandOptionType } from 'discord-api-types/v10';
import { mix } from 'ts-mixer';
import { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';
import { ApplicationCommandOptionChannelTypesMixin } from '../mixins/ApplicationCommandOptionChannelTypesMixin';

View File

@@ -1,4 +1,4 @@
import { APIApplicationCommandIntegerOption, ApplicationCommandOptionType } from 'discord-api-types/v9';
import { APIApplicationCommandIntegerOption, ApplicationCommandOptionType } from 'discord-api-types/v10';
import { mix } from 'ts-mixer';
import { z } from 'zod';
import { ApplicationCommandNumericOptionMinMaxValueMixin } from '../mixins/ApplicationCommandNumericOptionMinMaxValueMixin';

View File

@@ -1,4 +1,4 @@
import { APIApplicationCommandMentionableOption, ApplicationCommandOptionType } from 'discord-api-types/v9';
import { APIApplicationCommandMentionableOption, ApplicationCommandOptionType } from 'discord-api-types/v10';
import { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';
export class SlashCommandMentionableOption extends ApplicationCommandOptionBase {

View File

@@ -1,4 +1,4 @@
import { APIApplicationCommandNumberOption, ApplicationCommandOptionType } from 'discord-api-types/v9';
import { APIApplicationCommandNumberOption, ApplicationCommandOptionType } from 'discord-api-types/v10';
import { mix } from 'ts-mixer';
import { z } from 'zod';
import { ApplicationCommandNumericOptionMinMaxValueMixin } from '../mixins/ApplicationCommandNumericOptionMinMaxValueMixin';

View File

@@ -1,4 +1,4 @@
import { APIApplicationCommandRoleOption, ApplicationCommandOptionType } from 'discord-api-types/v9';
import { APIApplicationCommandRoleOption, ApplicationCommandOptionType } from 'discord-api-types/v10';
import { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';
export class SlashCommandRoleOption extends ApplicationCommandOptionBase {

View File

@@ -1,4 +1,4 @@
import { APIApplicationCommandStringOption, ApplicationCommandOptionType } from 'discord-api-types/v9';
import { APIApplicationCommandStringOption, ApplicationCommandOptionType } from 'discord-api-types/v10';
import { mix } from 'ts-mixer';
import { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';
import { ApplicationCommandOptionWithChoicesAndAutocompleteMixin } from '../mixins/ApplicationCommandOptionWithChoicesAndAutocompleteMixin';

View File

@@ -1,4 +1,4 @@
import { APIApplicationCommandUserOption, ApplicationCommandOptionType } from 'discord-api-types/v9';
import { APIApplicationCommandUserOption, ApplicationCommandOptionType } from 'discord-api-types/v10';
import { ApplicationCommandOptionBase } from '../mixins/ApplicationCommandOptionBase';
export class SlashCommandUserOption extends ApplicationCommandOptionBase {

View File

@@ -1,4 +1,4 @@
import type { APIEmbedField } from 'discord-api-types/v9';
import type { APIEmbedField } from 'discord-api-types/v10';
import { z } from 'zod';
export const fieldNamePredicate = z.string().min(1).max(256);

View File

@@ -1,4 +1,4 @@
import type { APIEmbedField } from 'discord-api-types/v9';
import type { APIEmbedField } from 'discord-api-types/v10';
import {
authorNamePredicate,
colorPredicate,

View File

@@ -1,4 +1,4 @@
import type { APIEmbed, APIEmbedAuthor, APIEmbedField, APIEmbedFooter, APIEmbedImage } from 'discord-api-types/v9';
import type { APIEmbed, APIEmbedAuthor, APIEmbedField, APIEmbedFooter, APIEmbedImage } from 'discord-api-types/v10';
export type RGBTuple = [red: number, green: number, blue: number];

View File

@@ -1,4 +1,4 @@
import type { APIEmbed } from 'discord-api-types/v9';
import type { APIEmbed } from 'discord-api-types/v10';
export function embedLength(data: APIEmbed) {
return (