Skip to content

Commit

Permalink
feat: add API v10 support (#7477)
Browse files Browse the repository at this point in the history
* feat: add API v10 support

* refactor: update deps

* chore: rebase fixes
  • Loading branch information
suneettipirneni committed Mar 15, 2022
1 parent 9b0d8cb commit 72577c4
Show file tree
Hide file tree
Showing 144 changed files with 196 additions and 203 deletions.
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -54,7 +54,7 @@ Register a slash command against the Discord API:

```js
const { REST } = require('@discordjs/rest');
const { Routes } = require('discord-api-types/v9');
const { Routes } = require('discord-api-types/v10');

const commands = [
{
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/__tests__/components/actionRow.test.ts
@@ -1,4 +1,4 @@
import { APIActionRowComponent, APIMessageActionRowComponent, ButtonStyle, ComponentType } from 'discord-api-types/v9';
import { APIActionRowComponent, APIMessageActionRowComponent, ButtonStyle, ComponentType } from 'discord-api-types/v10';
import {
ActionRowBuilder,
ButtonBuilder,
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/__tests__/components/button.test.ts
Expand Up @@ -3,7 +3,7 @@ import {
APIButtonComponentWithURL,
ButtonStyle,
ComponentType,
} from 'discord-api-types/v9';
} from 'discord-api-types/v10';
import { buttonLabelValidator, buttonStyleValidator } from '../../src/components/Assertions';
import { ButtonBuilder } from '../../src/components/button/Button';

Expand Down
2 changes: 1 addition & 1 deletion packages/builders/__tests__/components/selectMenu.test.ts
@@ -1,4 +1,4 @@
import { APISelectMenuComponent, APISelectMenuOption, ComponentType } from 'discord-api-types/v9';
import { APISelectMenuComponent, APISelectMenuOption, ComponentType } from 'discord-api-types/v10';
import { SelectMenuBuilder, SelectMenuOptionBuilder } from '../../src/index';

const selectMenu = () => new SelectMenuBuilder();
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/__tests__/components/textInput.test.ts
@@ -1,4 +1,4 @@
import { APITextInputComponent, ComponentType, TextInputStyle } from 'discord-api-types/v9';
import { APITextInputComponent, ComponentType, TextInputStyle } from 'discord-api-types/v10';
import {
labelValidator,
maxLengthValidator,
Expand Down
Expand Up @@ -9,7 +9,7 @@ import {
APIApplicationCommandUserOption,
ApplicationCommandOptionType,
ChannelType,
} from 'discord-api-types/v9';
} from 'discord-api-types/v10';
import {
SlashCommandBooleanOption,
SlashCommandChannelOption,
Expand Down
@@ -1,4 +1,4 @@
import { APIApplicationCommandOptionChoice, ChannelType } from 'discord-api-types/v9';
import { APIApplicationCommandOptionChoice, ChannelType } from 'discord-api-types/v10';
import {
SlashCommandAssertions,
SlashCommandBooleanOption,
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/__tests__/interactions/modal.test.ts
@@ -1,4 +1,4 @@
import { APIModalInteractionResponseCallbackData, ComponentType, TextInputStyle } from 'discord-api-types/v9';
import { APIModalInteractionResponseCallbackData, ComponentType, TextInputStyle } from 'discord-api-types/v10';
import {
ActionRowBuilder,
ButtonBuilder,
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/package.json
Expand Up @@ -53,7 +53,7 @@
"homepage": "https://discord.js.org",
"dependencies": {
"@sindresorhus/is": "^4.4.0",
"discord-api-types": "^0.27.3",
"discord-api-types": "^0.29.0",
"fast-deep-equal": "^3.1.3",
"ts-mixer": "^6.0.0",
"tslib": "^2.3.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/src/components/ActionRow.ts
Expand Up @@ -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';
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/src/components/Assertions.ts
@@ -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';

Expand Down
2 changes: 1 addition & 1 deletion packages/builders/src/components/Component.ts
Expand Up @@ -8,7 +8,7 @@ import type {
APIModalActionRowComponent,
APIModalComponent,
ComponentType,
} from 'discord-api-types/v9';
} from 'discord-api-types/v10';

/**
* Represents a discord component
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/src/components/Components.ts
@@ -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';

Expand Down
2 changes: 1 addition & 1 deletion packages/builders/src/components/button/Button.ts
Expand Up @@ -4,7 +4,7 @@ import type {
APIButtonComponent,
APIButtonComponentWithCustomId,
APIButtonComponentWithURL,
} from 'discord-api-types/v9';
} from 'discord-api-types/v10';
import {
buttonLabelValidator,
buttonStyleValidator,
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/src/components/button/UnsafeButton.ts
Expand Up @@ -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';

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/src/components/selectMenu/SelectMenu.ts
@@ -1,4 +1,4 @@
import type { APISelectMenuComponent } from 'discord-api-types/v9';
import type { APISelectMenuComponent } from 'discord-api-types/v10';
import {
customIdValidator,
disabledValidator,
Expand Down
@@ -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,
Expand Down
@@ -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';

Expand Down
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/src/components/textInput/Assertions.ts
@@ -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';

Expand Down
2 changes: 1 addition & 1 deletion packages/builders/src/components/textInput/TextInput.ts
@@ -1,4 +1,4 @@
import type { APITextInputComponent } from 'discord-api-types/v9';
import type { APITextInputComponent } from 'discord-api-types/v10';
import {
maxLengthValidator,
minLengthValidator,
Expand Down
@@ -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';

Expand Down
@@ -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
Expand Down
@@ -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 {
/**
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/src/interactions/modals/Modal.ts
@@ -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';
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/src/interactions/modals/UnsafeModal.ts
Expand Up @@ -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> {
Expand Down
@@ -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';
Expand Down
@@ -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,
Expand Down
Expand Up @@ -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';
Expand Down
@@ -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';

Expand Down
@@ -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)
Expand Down
@@ -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';

Expand Down
@@ -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 {
Expand Down
@@ -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 {
Expand Down
@@ -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';
Expand Down
@@ -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';
Expand Down
@@ -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 {
Expand Down
@@ -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';
Expand Down
@@ -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 {
Expand Down
@@ -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';
Expand Down
@@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/src/messages/embed/Assertions.ts
@@ -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);
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/src/messages/embed/Embed.ts
@@ -1,4 +1,4 @@
import type { APIEmbedField } from 'discord-api-types/v9';
import type { APIEmbedField } from 'discord-api-types/v10';
import {
authorNamePredicate,
colorPredicate,
Expand Down
2 changes: 1 addition & 1 deletion packages/builders/src/messages/embed/UnsafeEmbed.ts
@@ -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];

Expand Down
2 changes: 1 addition & 1 deletion packages/builders/src/util/componentUtil.ts
@@ -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 (
Expand Down
2 changes: 1 addition & 1 deletion packages/discord.js/README.md
Expand Up @@ -54,7 +54,7 @@ Register a slash command against the Discord API:

```js
const { REST } = require('@discordjs/rest');
const { Routes } = require('discord-api-types/v9');
const { Routes } = require('discord-api-types/v10');

const commands = [
{
Expand Down
2 changes: 1 addition & 1 deletion packages/discord.js/package.json
Expand Up @@ -52,7 +52,7 @@
"@discordjs/rest": "workspace:^",
"@sapphire/snowflake": "^3.1.0",
"@types/ws": "^8.2.2",
"discord-api-types": "^0.27.3",
"discord-api-types": "^0.29.0",
"fast-deep-equal": "^3.1.3",
"lodash.snakecase": "^4.1.1",
"undici": "^4.14.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/discord.js/src/client/Client.js
Expand Up @@ -2,7 +2,7 @@

const process = require('node:process');
const { Collection } = require('@discordjs/collection');
const { OAuth2Scopes, Routes } = require('discord-api-types/v9');
const { OAuth2Scopes, Routes } = require('discord-api-types/v10');
const BaseClient = require('./BaseClient');
const ActionsManager = require('./actions/ActionsManager');
const ClientVoiceManager = require('./voice/ClientVoiceManager');
Expand Down
@@ -1,6 +1,6 @@
'use strict';

const { InteractionType, ComponentType, ApplicationCommandType } = require('discord-api-types/v9');
const { InteractionType, ComponentType, ApplicationCommandType } = require('discord-api-types/v10');
const Action = require('./Action');
const AutocompleteInteraction = require('../../structures/AutocompleteInteraction');
const ButtonInteraction = require('../../structures/ButtonInteraction');
Expand Down
Expand Up @@ -4,7 +4,7 @@ const EventEmitter = require('node:events');
const { setImmediate } = require('node:timers');
const { setTimeout: sleep } = require('node:timers/promises');
const { Collection } = require('@discordjs/collection');
const { GatewayCloseCodes, GatewayDispatchEvents, Routes } = require('discord-api-types/v9');
const { GatewayCloseCodes, GatewayDispatchEvents, Routes } = require('discord-api-types/v10');
const WebSocketShard = require('./WebSocketShard');
const PacketHandlers = require('./handlers');
const { Error } = require('../../errors');
Expand Down
2 changes: 1 addition & 1 deletion packages/discord.js/src/client/websocket/WebSocketShard.js
Expand Up @@ -2,7 +2,7 @@

const EventEmitter = require('node:events');
const { setTimeout, setInterval, clearTimeout, clearInterval } = require('node:timers');
const { GatewayDispatchEvents, GatewayIntentBits, GatewayOpcodes } = require('discord-api-types/v9');
const { GatewayDispatchEvents, GatewayIntentBits, GatewayOpcodes } = require('discord-api-types/v10');
const WebSocket = require('../../WebSocket');
const Events = require('../../util/Events');
const IntentsBitField = require('../../util/IntentsBitField');
Expand Down

0 comments on commit 72577c4

Please sign in to comment.