diff --git a/.gitignore b/.gitignore index 85bc86f..f257a4f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,7 @@ # Node -node_modules +node_modules/ # Compiled files -lib - -# Tests -**test** +lib/ +examples/index.js +examples/index2.js diff --git a/docs/api-docs/classes/ClientWithTempManager.html b/docs/api-docs/classes/ClientWithTempManager.html index 470f04d..77de5d6 100644 --- a/docs/api-docs/classes/ClientWithTempManager.html +++ b/docs/api-docs/classes/ClientWithTempManager.html @@ -1,10 +1,10 @@ ClientWithTempManager | @hunteroi/discord-temp-channels

A wrapper of Client that provides a support for the TempChannelsManager.

Export

ClientWithTempManager

-

Hierarchy

  • Client
    • ClientWithTempManager

Constructors

Hierarchy

  • Client
    • ClientWithTempManager

Constructors

Properties

Constructors

Properties

tempChannelsManager: TempChannelsManager

An instance of TempChannelsManager that currently manages all the temporary channels for the client.

+

Properties

tempChannelsManager: TempChannelsManager

An instance of TempChannelsManager that currently manages all the temporary channels for the client.

Name

ClientWithTempManager#tempChannelsManager

-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/api-docs/classes/TempChannelsManager.html b/docs/api-docs/classes/TempChannelsManager.html index 1c53801..509aa97 100644 --- a/docs/api-docs/classes/TempChannelsManager.html +++ b/docs/api-docs/classes/TempChannelsManager.html @@ -1,6 +1,6 @@ TempChannelsManager | @hunteroi/discord-temp-channels

The temporary channels manager.

Export

TempChannelsManager

-

Hierarchy

  • VoiceChannelsManager
    • TempChannelsManager

Constructors

Hierarchy

  • VoiceChannelsManager
    • TempChannelsManager

Constructors

Properties

Methods

Constructors

Properties

client: Client<boolean>

Methods

  • Adds a voice channel as a child of a parent. +

Properties

client: Client<boolean>

Methods

  • Protected

    Gets the parent channel either based on its ID or by looking for a match +

  • Protected

    Gets the parent channel either based on its ID or by looking for a match on the provided ID and its list of children.

    Parameters

    • channelId: string
    • Optional lookAsChild: boolean = false

    Returns undefined | ParentChannelData

    Memberof

    VoiceChannelsManager

    -
  • Registers a parent channel. When a user joins a it, a child will be created and they will be moved to it.

    +
  • Registers a parent channel. When a user joins a it, a child will be created and they will be moved to it.

    Parameters

    • channelId: string
    • Optional options: ParentChannelOptions = ...

      [DRoom #${count}] ${name}, childFormatRegex: /^[DRoom #\d+]\s+.+/i, childPermissionOverwriteOption: { ManageChannels: true } }]

      -

    Returns void

  • Removes a voice channel from the list of children of a parent. +

Returns void

  • Unregisters a parent channel. When a user joins it, nothing will happen.

    -

    Parameters

    • channelId: string

    Returns boolean

\ No newline at end of file +
\ No newline at end of file diff --git a/docs/api-docs/enums/TempChannelsManagerEvents.html b/docs/api-docs/enums/TempChannelsManagerEvents.html index a794255..281af39 100644 --- a/docs/api-docs/enums/TempChannelsManagerEvents.html +++ b/docs/api-docs/enums/TempChannelsManagerEvents.html @@ -1,7 +1,7 @@ -TempChannelsManagerEvents | @hunteroi/discord-temp-channels

Enumeration Members

channelRegister +TempChannelsManagerEvents | @hunteroi/discord-temp-channels

Enumeration Members

channelRegister: "channelRegister"
channelUnregister: "channelUnregister"
childAdd: "childAdd"
childPrefixChange: "childPrefixChange"
childRemove: "childRemove"
error: "error"
\ No newline at end of file +

Enumeration Members

channelRegister: "channelRegister"
channelUnregister: "channelUnregister"
childAdd: "childAdd"
childPrefixChange: "childPrefixChange"
childRemove: "childRemove"
error: "error"
\ No newline at end of file diff --git a/docs/api-docs/interfaces/ChildChannelData.html b/docs/api-docs/interfaces/ChildChannelData.html index 8956d5b..12361d8 100644 --- a/docs/api-docs/interfaces/ChildChannelData.html +++ b/docs/api-docs/interfaces/ChildChannelData.html @@ -1,9 +1,9 @@ ChildChannelData | @hunteroi/discord-temp-channels

The data about a temporary channel ticket

Export

ChildChannelData

-
interface ChildChannelData {
    owner: GuildMember;
    voiceChannel: VoiceChannel;
}

Properties

interface ChildChannelData {
    owner: GuildMember;
    voiceChannel: VoiceChannel;
}

Properties

Properties

owner: GuildMember

The owner of the ticket

Memberof

ChildChannelData

-
voiceChannel: VoiceChannel

The created voice channel

+
voiceChannel: VoiceChannel

The created voice channel

Memberof

ChildChannelData

-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/api-docs/interfaces/ParentChannelData.html b/docs/api-docs/interfaces/ParentChannelData.html index c1a8823..e518133 100644 --- a/docs/api-docs/interfaces/ParentChannelData.html +++ b/docs/api-docs/interfaces/ParentChannelData.html @@ -1,12 +1,12 @@ ParentChannelData | @hunteroi/discord-temp-channels

The data about the channel allowing creation of temporary channels

Export

ParentChannelData

-
interface ParentChannelData {
    channelId: string;
    children: ChildChannelData[];
    options: ParentChannelOptions;
}

Properties

interface ParentChannelData {
    channelId: string;
    children: ChildChannelData[];
    options: ParentChannelOptions;
}

Properties

channelId: string

The unique identifier of the channel

Memberof

ParentChannelData

-
children: ChildChannelData[]

The related children channels related to this parent.

+
children: ChildChannelData[]

The related children channels related to this parent.

Memberof

ParentChannelData

-

The customization parameters of this channel and the related children.

+

The customization parameters of this channel and the related children.

Memberof

ParentChannelData

-
\ No newline at end of file +
\ No newline at end of file diff --git a/docs/api-docs/interfaces/ParentChannelOptions.html b/docs/api-docs/interfaces/ParentChannelOptions.html index 9e311e2..55539c9 100644 --- a/docs/api-docs/interfaces/ParentChannelOptions.html +++ b/docs/api-docs/interfaces/ParentChannelOptions.html @@ -1,6 +1,6 @@ ParentChannelOptions | @hunteroi/discord-temp-channels

The configuration for the channel that triggers the system.

Export

ParentChannelOptions

-
interface ParentChannelOptions {
    childAutoDeleteIfEmpty: boolean;
    childAutoDeleteIfOwnerLeaves: boolean;
    childAutoDeleteIfParentGetsUnregistered?: boolean;
    childBitrate?: number;
    childCanBeRenamed?: boolean;
    childCategory?: null | string;
    childMaxUsers?: number;
    childOverwriteRolesAndUsers?: Resolvables[];
    childPermissionOverwriteOptions?: Partial<Record<"CreateInstantInvite" | "KickMembers" | "BanMembers" | "Administrator" | "ManageChannels" | "ManageGuild" | "AddReactions" | "ViewAuditLog" | "PrioritySpeaker" | "Stream" | "ViewChannel" | "SendMessages" | "SendTTSMessages" | "ManageMessages" | "EmbedLinks" | "AttachFiles" | "ReadMessageHistory" | "MentionEveryone" | "UseExternalEmojis" | "ViewGuildInsights" | "Connect" | "Speak" | "MuteMembers" | "DeafenMembers" | "MoveMembers" | "UseVAD" | "ChangeNickname" | "ManageNicknames" | "ManageRoles" | "ManageWebhooks" | "ManageEmojisAndStickers" | "ManageGuildExpressions" | "UseApplicationCommands" | "RequestToSpeak" | "ManageEvents" | "ManageThreads" | "CreatePublicThreads" | "CreatePrivateThreads" | "UseExternalStickers" | "SendMessagesInThreads" | "UseEmbeddedActivities" | "ModerateMembers" | "ViewCreatorMonetizationAnalytics" | "UseSoundboard" | "UseExternalSounds" | "SendVoiceMessages", null | boolean>>;
    childShouldBeACopyOfParent?: boolean;
    childVoiceFormatRegex: RegExp;
    childVoiceFormat(str, count): string;
}

Properties

interface ParentChannelOptions {
    childAutoDeleteIfEmpty: boolean;
    childAutoDeleteIfOwnerLeaves: boolean;
    childAutoDeleteIfParentGetsUnregistered?: boolean;
    childBitrate?: number;
    childCanBeRenamed?: boolean;
    childCategory?: null | string;
    childMaxUsers?: number;
    childOverwriteRolesAndUsers?: Resolvables[];
    childPermissionOverwriteOptions?: Partial<Record<"CreateInstantInvite" | "KickMembers" | "BanMembers" | "Administrator" | "ManageChannels" | "ManageGuild" | "AddReactions" | "ViewAuditLog" | "PrioritySpeaker" | "Stream" | "ViewChannel" | "SendMessages" | "SendTTSMessages" | "ManageMessages" | "EmbedLinks" | "AttachFiles" | "ReadMessageHistory" | "MentionEveryone" | "UseExternalEmojis" | "ViewGuildInsights" | "Connect" | "Speak" | "MuteMembers" | "DeafenMembers" | "MoveMembers" | "UseVAD" | "ChangeNickname" | "ManageNicknames" | "ManageRoles" | "ManageWebhooks" | "ManageEmojisAndStickers" | "ManageGuildExpressions" | "UseApplicationCommands" | "RequestToSpeak" | "ManageEvents" | "ManageThreads" | "CreatePublicThreads" | "CreatePrivateThreads" | "UseExternalStickers" | "SendMessagesInThreads" | "UseEmbeddedActivities" | "ModerateMembers" | "ViewCreatorMonetizationAnalytics" | "UseSoundboard" | "CreateGuildExpressions" | "CreateEvents" | "UseExternalSounds" | "SendVoiceMessages" | "SendPolls", null | boolean>>;
    childShouldBeACopyOfParent?: boolean;
    childVoiceFormatRegex: RegExp;
    childVoiceFormat(str, count): string;
}

Properties

childAutoDeleteIfEmpty: boolean

Whether the child channel should be removed when empty.

Memberof

ParentChannelOptions

-
childAutoDeleteIfOwnerLeaves: boolean

Whether the child channel should be removed +

childAutoDeleteIfOwnerLeaves: boolean

Whether the child channel should be removed when its owner leaves it.

Memberof

ParentChannelOptions

-
childAutoDeleteIfParentGetsUnregistered?: boolean

Whether the child channel should be removed if its parent becomes unregistered.

+
childAutoDeleteIfParentGetsUnregistered?: boolean

Whether the child channel should be removed if its parent becomes unregistered.

Memberof

ParentChannelOptions

-
childBitrate?: number

The bitrate of a child voice channel.

+
childBitrate?: number

The bitrate of a child voice channel.

Remark

Will be ignored if childShouldBeACopyOfParent is set to true.

Memberof

ParentChannelOptions

-
childCanBeRenamed?: boolean

Whether the child channel can be renamed or not without forcing the add of the prefix. +

childCanBeRenamed?: boolean

Whether the child channel can be renamed or not without forcing the add of the prefix. Please notice that if set on true, the capacity to reload channels into memory on bot restart cannot be guaranteed.

Memberof

ParentChannelOptions

-
childCategory?: null | string

The category in which the child channels should be created.

+
childCategory?: null | string

The category in which the child channels should be created.

Memberof

ParentChannelOptions

-
childMaxUsers?: number

The maximum number of users in a child channel.

+
childMaxUsers?: number

The maximum number of users in a child channel.

Remark

Will be ignored if childShouldBeACopyOfParent is set to true.

Memberof

ParentChannelOptions

-
childOverwriteRolesAndUsers?: Resolvables[]

The list of users or roles to which the childPermissionOverwriteOption are applied.

+
childOverwriteRolesAndUsers?: Resolvables[]

The list of users or roles to which the childPermissionOverwriteOption are applied.

Memberof

ParentChannelOptions

-
childPermissionOverwriteOptions?: Partial<Record<"CreateInstantInvite" | "KickMembers" | "BanMembers" | "Administrator" | "ManageChannels" | "ManageGuild" | "AddReactions" | "ViewAuditLog" | "PrioritySpeaker" | "Stream" | "ViewChannel" | "SendMessages" | "SendTTSMessages" | "ManageMessages" | "EmbedLinks" | "AttachFiles" | "ReadMessageHistory" | "MentionEveryone" | "UseExternalEmojis" | "ViewGuildInsights" | "Connect" | "Speak" | "MuteMembers" | "DeafenMembers" | "MoveMembers" | "UseVAD" | "ChangeNickname" | "ManageNicknames" | "ManageRoles" | "ManageWebhooks" | "ManageEmojisAndStickers" | "ManageGuildExpressions" | "UseApplicationCommands" | "RequestToSpeak" | "ManageEvents" | "ManageThreads" | "CreatePublicThreads" | "CreatePrivateThreads" | "UseExternalStickers" | "SendMessagesInThreads" | "UseEmbeddedActivities" | "ModerateMembers" | "ViewCreatorMonetizationAnalytics" | "UseSoundboard" | "UseExternalSounds" | "SendVoiceMessages", null | boolean>>

The permissions overwrites of a child channel.

+
childPermissionOverwriteOptions?: Partial<Record<"CreateInstantInvite" | "KickMembers" | "BanMembers" | "Administrator" | "ManageChannels" | "ManageGuild" | "AddReactions" | "ViewAuditLog" | "PrioritySpeaker" | "Stream" | "ViewChannel" | "SendMessages" | "SendTTSMessages" | "ManageMessages" | "EmbedLinks" | "AttachFiles" | "ReadMessageHistory" | "MentionEveryone" | "UseExternalEmojis" | "ViewGuildInsights" | "Connect" | "Speak" | "MuteMembers" | "DeafenMembers" | "MoveMembers" | "UseVAD" | "ChangeNickname" | "ManageNicknames" | "ManageRoles" | "ManageWebhooks" | "ManageEmojisAndStickers" | "ManageGuildExpressions" | "UseApplicationCommands" | "RequestToSpeak" | "ManageEvents" | "ManageThreads" | "CreatePublicThreads" | "CreatePrivateThreads" | "UseExternalStickers" | "SendMessagesInThreads" | "UseEmbeddedActivities" | "ModerateMembers" | "ViewCreatorMonetizationAnalytics" | "UseSoundboard" | "CreateGuildExpressions" | "CreateEvents" | "UseExternalSounds" | "SendVoiceMessages" | "SendPolls", null | boolean>>

The permissions overwrites of a child channel.

Memberof

ParentChannelOptions

-
childShouldBeACopyOfParent?: boolean

Whether the child channel should be a clone of the parent's channel or not.

+
childShouldBeACopyOfParent?: boolean

Whether the child channel should be a clone of the parent's channel or not.

Remark

Setting this parameter to true will force the manager to fully clone the parent's channel, giving no use to childBitrate and childMaxUsers. Only the name of the child channel will be customized.

Default

false
 

Memberof

ParentChannelOptions

-
childVoiceFormatRegex: RegExp

The regular expression that should fit the childVoiceFormat in order to detect +

childVoiceFormatRegex: RegExp

The regular expression that should fit the childVoiceFormat in order to detect the child channels in case the bot crashes and reconnects.

Memberof

ParentChannelOptions

-

Methods

Methods

  • The function that resolves the name of the child voice channels when automatically generated.

    Parameters

    • str: string
    • count: number

    Returns string

    {string}

    Memberof

    ParentChannelOptions

    -
\ No newline at end of file +
\ No newline at end of file diff --git a/examples/index.js b/examples/index.ts similarity index 80% rename from examples/index.js rename to examples/index.ts index 1f348a9..a4c03f6 100644 --- a/examples/index.js +++ b/examples/index.ts @@ -1,5 +1,6 @@ -const { Client, IntentsBitField } = require('discord.js'); -const { TempChannelsManager, TempChannelsManagerEvents } = require('../lib'); +import { Client, IntentsBitField } from 'discord.js'; + +import { TempChannelsManager, TempChannelsManagerEvents } from '../lib/index.js'; const client = new Client({ intents: [ @@ -17,7 +18,7 @@ const manager = new TempChannelsManager(client); client.on('ready', () => { console.log('Connected!'); - manager.registerChannel('CHANNEL_ID', { + manager.registerChannel('VOICE_CHANNEL_ID', { childCategory: 'CATEGORY_ID', childAutoDeleteIfEmpty: true, childAutoDeleteIfParentGetsUnregistered: true, @@ -30,7 +31,10 @@ client.on('ready', () => { }); }); -client.on('messageCreate', (message) => message.content === 'unregister' && manager.unregisterChannel('CHANNEL_ID')); +client.on('messageCreate', (message) => { + if (message.content === 'unregister') + manager.unregisterChannel('VOICE_CHANNEL_ID'); +}); manager.on(TempChannelsManagerEvents.channelRegister, (parent) => console.log('Registered', parent)); manager.on(TempChannelsManagerEvents.channelUnregister, (parent) => console.log('Unregistered', parent)); diff --git a/examples/index2.js b/examples/index2.ts similarity index 82% rename from examples/index2.js rename to examples/index2.ts index 205819d..0bdf606 100644 --- a/examples/index2.js +++ b/examples/index2.ts @@ -1,5 +1,6 @@ -const { IntentsBitField } = require('discord.js'); -const { ClientWithTempManager, TempChannelsManagerEvents } = require('../lib'); +import { IntentsBitField } from 'discord.js'; + +import { ClientWithTempManager, TempChannelsManagerEvents } from '../lib/index.js'; const client = new ClientWithTempManager({ intents: [ @@ -27,7 +28,10 @@ client.on('ready', () => { childShouldBeACopyOfParent: false }); - client.on('messageCreate', (message) => message.content === 'unregister' && manager.unregisterChannel('CHANNEL_ID')); + client.on('messageCreate', (message) => { + if (message.content === 'unregister') + client.tempChannelsManager.unregisterChannel('VOICE_CHANNEL_ID'); + }); client.tempChannelsManager.on(TempChannelsManagerEvents.channelRegister, (parent) => console.log('Registered', parent)); client.tempChannelsManager.on(TempChannelsManagerEvents.channelUnregister, (parent) => console.log('Unregistered', parent)); diff --git a/package.json b/package.json index 7949f30..7aac484 100644 --- a/package.json +++ b/package.json @@ -3,16 +3,14 @@ "bugs": { "url": "https://github.com/HunteRoi/discord-temp-channels/issues" }, - "dependencies": { - "discord-logs": "^2.2.1" - }, + "dependencies": {}, "description": "Based on Androz2091's package, this is a simple framework to facilitate the creation of a temporary voice & text channels system using Discord.js", "devDependencies": { "@biomejs/biome": "1.6.4", - "discord-sync-commands": "^0.3.0", - "discord.js": "^14.14.1", + "@types/node": "^20.14.6", + "discord.js": "^14.15.3", "typedoc": "^0.25.13", - "typescript": "^5.4.4" + "typescript": "^5.4.5" }, "directories": { "lib": "lib" @@ -42,9 +40,9 @@ "build:docs": "typedoc", "lint": "biome check --apply ./src", "prepublish": "yarn lint && yarn build && yarn build:docs", - "start": "yarn build & node ./examples/index.js", - "start:example2": "yarn build & node ./examples/index2.js" + "start": "yarn build && tsc ./examples/index.ts --target esnext --module nodenext --moduleResolution nodenext && node ./examples/index.js", + "start:2": "yarn build && tsc ./examples/index2.ts --target esnext --module nodenext --moduleResolution nodenext && node ./examples/index2.js" }, "type": "module", - "version": "3.2.2" -} \ No newline at end of file + "version": "3.3.0" +} diff --git a/src/ClientWithTempManager.ts b/src/ClientWithTempManager.ts index d950f9a..e1e8d17 100644 --- a/src/ClientWithTempManager.ts +++ b/src/ClientWithTempManager.ts @@ -1,5 +1,6 @@ import { Client, type ClientOptions } from "discord.js"; -import { TempChannelsManager } from "./TempChannelsManager"; + +import { TempChannelsManager } from "./TempChannelsManager.js"; /** * A wrapper of {@link Client} that provides a support for the {@link TempChannelsManager}. diff --git a/src/TempChannelsManager.ts b/src/TempChannelsManager.ts index b803b5f..1551ae4 100644 --- a/src/TempChannelsManager.ts +++ b/src/TempChannelsManager.ts @@ -1,4 +1,3 @@ -import addDiscordLogs from "discord-logs"; import { type CategoryChannel, ChannelType, @@ -12,13 +11,15 @@ import { type Snowflake, type VoiceChannel, } from "discord.js"; -import { TempChannelsManagerEvents } from "./TempChannelsManagerEvents"; -import { VoiceChannelsManager } from "./VoiceChannelsManager"; + +import { TempChannelsManagerEvents } from "./TempChannelsManagerEvents.js"; +import { VoiceChannelsManager } from "./VoiceChannelsManager.js"; import { ChildChannelData, type ParentChannelData, type ParentChannelOptions, -} from "./types"; // eslint-disable-line @typescript-eslint/no-unused-vars +} from "./types/index.js"; + /** * The temporary channels manager. * @export @@ -49,7 +50,6 @@ export class TempChannelsManager extends VoiceChannelsManager { this.client = client; this.#listenToChannelEvents(); - addDiscordLogs(client); } /** @@ -99,29 +99,34 @@ export class TempChannelsManager extends VoiceChannelsManager { } #listenToChannelEvents(): void { - this.client.on( - "voiceChannelJoin", - async (member: GuildMember, channel: VoiceChannel) => - await this.#createNewChild.apply(this, [member, channel]), - ); - this.client.on( - "voiceChannelSwitch", - async ( - member: GuildMember, - previousChannel: VoiceChannel, - currentChannel: VoiceChannel, - ) => + this.client.on(Events.VoiceStateUpdate, async (oldState, newState) => { + if (!oldState.channel && newState.channel && newState.member) { + // User joins a channel + await this.#createNewChild.apply(this, [ + newState.member, + newState.channel as VoiceChannel, + ]); + } + if (oldState.channel && !newState.channel) { + // User leaves a channel + await this.#checkChildForDeletion.apply(this, [ + oldState.channel as VoiceChannel, + ]); + } + if ( + oldState.channel && + newState.channel && + oldState.channel.id !== newState.channel.id && + newState.member + ) { + // User moves to another channel await this.#handleChild.apply(this, [ - member, - previousChannel, - currentChannel, - ]), - ); - this.client.on( - "voiceChannelLeave", - async (member: GuildMember, channel: VoiceChannel) => - await this.#checkChildForDeletion.apply(this, [channel]), - ); + newState.member, + oldState.channel as VoiceChannel, + newState.channel as VoiceChannel, + ]); + } + }); this.client.on( Events.ChannelUpdate, diff --git a/src/VoiceChannelsManager.ts b/src/VoiceChannelsManager.ts index 03c23c9..1e01d7f 100644 --- a/src/VoiceChannelsManager.ts +++ b/src/VoiceChannelsManager.ts @@ -5,12 +5,13 @@ import { type Snowflake, type VoiceChannel, } from "discord.js"; -import { TempChannelsManagerEvents } from "./TempChannelsManagerEvents"; + +import { TempChannelsManagerEvents } from "./TempChannelsManagerEvents.js"; import type { ChildChannelData, ParentChannelData, ParentChannelOptions, -} from "./types"; +} from "./types/index.js"; /** * A voice channels manager, handling the relationship between parents and children channels. diff --git a/src/index.ts b/src/index.ts index 4bc51f2..ef02ef5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,4 +1,4 @@ -export * from "./ClientWithTempManager"; -export * from "./TempChannelsManager"; -export * from "./TempChannelsManagerEvents"; -export * from "./types"; +export * from "./ClientWithTempManager.js"; +export * from "./TempChannelsManager.js"; +export * from "./TempChannelsManagerEvents.js"; +export * from "./types/index.js"; diff --git a/src/types/ParentChannelData.ts b/src/types/ParentChannelData.ts index 298ec1a..b948579 100644 --- a/src/types/ParentChannelData.ts +++ b/src/types/ParentChannelData.ts @@ -1,5 +1,7 @@ import type { Snowflake } from "discord.js"; -import type { ChildChannelData, ParentChannelOptions } from "./"; + +import type { ChildChannelData } from "./ChildChannelData.js"; +import type { ParentChannelOptions } from "./ParentChannelOptions.js"; /** * The data about the channel allowing creation of temporary channels diff --git a/src/types/index.ts b/src/types/index.ts index 80bde61..1b293f5 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -1,3 +1,3 @@ -export * from "./ChildChannelData"; -export * from "./ParentChannelData"; -export * from "./ParentChannelOptions"; +export * from "./ChildChannelData.js"; +export * from "./ParentChannelData.js"; +export * from "./ParentChannelOptions.js"; diff --git a/tsconfig.json b/tsconfig.json index 72e9a86..a1907d8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,13 +3,14 @@ "baseUrl": "./src", "declaration": true, "esModuleInterop": true, - "module": "commonjs", "outDir": "./lib", "resolveJsonModule": true, "skipLibCheck": true, "strict": true, "strictNullChecks": true, - "target": "es6" + "target": "ESNext", + "module": "NodeNext", + "moduleResolution": "NodeNext" }, "exclude": [ "lib/*", diff --git a/typedoc.config.js b/typedoc.config.js index befc036..70af344 100644 --- a/typedoc.config.js +++ b/typedoc.config.js @@ -1,12 +1,12 @@ /** @type {import('typedoc').TypeDocOptions} */ export default { - "entryPoints": ["src/index.ts"], - "out": "docs/api-docs", - "hideGenerator": true, - "excludePrivate": true, - "excludeExternals": true, - "navigationLinks": { - "GitHub": "https://github.com/hunteroi/discord-temp-channels", + entryPoints: ["src/index.ts"], + out: "docs/api-docs", + hideGenerator: true, + excludePrivate: true, + excludeExternals: true, + navigationLinks: { + GitHub: "https://github.com/hunteroi/discord-temp-channels", "Breaking Changes": "https://github.com/hunteroi/discord-temp-channels/blob/master/BREAKING_CHANGES.md" } } diff --git a/yarn.lock b/yarn.lock index 3cf2398..21ef3dc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -56,28 +56,17 @@ resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-1.6.4.tgz#317fed21b863d43778665d42a41cbd0f94351051" integrity sha512-mz183Di5hTSGP7KjNWEhivcP1wnHLGmOxEROvoFsIxMYtDhzJDad4k5gI/1JbmA0xe4n52vsgqo09tBhrMT/Zg== -"@discordjs/builders@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-0.5.0.tgz#646cbea9cc67f68639e6fb70ed1278b26dacdb14" - integrity sha512-HP5y4Rqw68o61Qv4qM5tVmDbWi4mdTFftqIOGRo33SNPpLJ1Ga3KEIR2ibKofkmsoQhEpLmopD1AZDs3cKpHuw== +"@discordjs/builders@^1.8.2": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-1.8.2.tgz#535d970331ee40f20dec9ef8079e43092f323ce9" + integrity sha512-6wvG3QaCjtMu0xnle4SoOIeFB4y6fKMN6WZfy3BMKJdQQtPLik8KGzDwBVL/+wTtcE/ZlFjgEk74GublyEVZ7g== dependencies: - "@sindresorhus/is" "^4.0.1" - discord-api-types "^0.22.0" - ow "^0.27.0" - ts-mixer "^6.0.0" - tslib "^2.3.0" - -"@discordjs/builders@^1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-1.7.0.tgz#e2478c7e55b0f4c40837edb8f102bce977323a37" - integrity sha512-GDtbKMkg433cOZur8Dv6c25EHxduNIBsxeHrsRoIM8+AwmEZ8r0tEpckx/sHwTLwQPOF3e2JWloZh9ofCaMfAw== - dependencies: - "@discordjs/formatters" "^0.3.3" - "@discordjs/util" "^1.0.2" - "@sapphire/shapeshift" "^3.9.3" - discord-api-types "0.37.61" + "@discordjs/formatters" "^0.4.0" + "@discordjs/util" "^1.1.0" + "@sapphire/shapeshift" "^3.9.7" + discord-api-types "0.37.83" fast-deep-equal "^3.1.3" - ts-mixer "^6.0.3" + ts-mixer "^6.0.4" tslib "^2.6.2" "@discordjs/collection@1.5.3": @@ -85,83 +74,59 @@ resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-1.5.3.tgz#5a1250159ebfff9efa4f963cfa7e97f1b291be18" integrity sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ== -"@discordjs/collection@^0.2.1": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-0.2.4.tgz#c8ff2250430dcec7324dd4aafd1ccbcbdfa9ac14" - integrity sha512-PVrEJH+V6Ob0OwfagYQ/57kwt/HNEJxt5jqY4P+S3st9y29t9iokdnGMQoJXG5VEMAQIPbzu9Snw1F6yE8PdLA== +"@discordjs/collection@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-2.1.0.tgz#f327d944ab2dcf9a1f674470a481f78a120a5e3b" + integrity sha512-mLcTACtXUuVgutoznkh6hS3UFqYirDYAg5Dc1m8xn6OvPjetnUlf/xjtqnnc47OwWdaoCQnHmHh9KofhD6uRqw== -"@discordjs/collection@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-2.0.0.tgz#409b80c74eb8486cc4ee6a9b83426aaff1380f8c" - integrity sha512-YTWIXLrf5FsrLMycpMM9Q6vnZoR/lN2AWX23/Cuo8uOOtS8eHB2dyQaaGnaF8aZPYnttf2bkLMcXn/j6JUOi3w== - -"@discordjs/form-data@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@discordjs/form-data/-/form-data-3.0.1.tgz#5c9e6be992e2e57d0dfa0e39979a850225fb4697" - integrity sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -"@discordjs/formatters@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@discordjs/formatters/-/formatters-0.3.3.tgz#b16fdd79bb819680ab7e519193004e9dc124a749" - integrity sha512-wTcI1Q5cps1eSGhl6+6AzzZkBBlVrBdc9IUhJbijRgVjCNIIIZPgqnUj3ntFODsHrdbGU8BEG9XmDQmgEEYn3w== +"@discordjs/formatters@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@discordjs/formatters/-/formatters-0.4.0.tgz#066a2c2163b26ac066e6f621f17445be9690c6a9" + integrity sha512-fJ06TLC1NiruF35470q3Nr1bi95BdvKFAF+T5bNfZJ4bNdqZ3VZ+Ttg6SThqTxm6qumSG3choxLBHMC69WXNXQ== dependencies: - discord-api-types "0.37.61" + discord-api-types "0.37.83" -"@discordjs/rest@^2.1.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@discordjs/rest/-/rest-2.2.0.tgz#f4ec00d3faff965c00a879b7e87bb4b6f4446966" - integrity sha512-nXm9wT8oqrYFRMEqTXQx9DUTeEtXUDMmnUKIhZn6O2EeDY9VCdwj23XCPq7fkqMPKdF7ldAfeVKyxxFdbZl59A== +"@discordjs/rest@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@discordjs/rest/-/rest-2.3.0.tgz#06d37c7fb54a9be61134b5bbb201abd760343472" + integrity sha512-C1kAJK8aSYRv3ZwMG8cvrrW4GN0g5eMdP8AuN8ODH5DyOCbHgJspze1my3xHOAgwLJdKUbWNVyAeJ9cEdduqIg== dependencies: - "@discordjs/collection" "^2.0.0" - "@discordjs/util" "^1.0.2" - "@sapphire/async-queue" "^1.5.0" - "@sapphire/snowflake" "^3.5.1" - "@vladfrangu/async_event_emitter" "^2.2.2" - discord-api-types "0.37.61" - magic-bytes.js "^1.5.0" + "@discordjs/collection" "^2.1.0" + "@discordjs/util" "^1.1.0" + "@sapphire/async-queue" "^1.5.2" + "@sapphire/snowflake" "^3.5.3" + "@vladfrangu/async_event_emitter" "^2.2.4" + discord-api-types "0.37.83" + magic-bytes.js "^1.10.0" tslib "^2.6.2" - undici "5.27.2" + undici "6.13.0" -"@discordjs/util@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@discordjs/util/-/util-1.0.2.tgz#dc1896d764452b1bd9707eb9aa99ccfbb30bd1c0" - integrity sha512-IRNbimrmfb75GMNEjyznqM1tkI7HrZOf14njX7tCAAUetyZM1Pr8hX/EK2lxBCOgWDRmigbp24fD1hdMfQK5lw== +"@discordjs/util@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@discordjs/util/-/util-1.1.0.tgz#dcffd2b61aab8eadd66bea67811bc34fc769bb2a" + integrity sha512-IndcI5hzlNZ7GS96RV3Xw1R2kaDuXEp7tRIy/KlhidpN/BQ1qh1NZt3377dMLTa44xDUNKT7hnXkA/oUAzD/lg== -"@discordjs/ws@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@discordjs/ws/-/ws-1.0.2.tgz#3933b12d4686aabf6a95dfe5fb6e744342a661d1" - integrity sha512-+XI82Rm2hKnFwAySXEep4A7Kfoowt6weO6381jgW+wVdTpMS/56qCvoXyFRY0slcv7c/U8My2PwIB2/wEaAh7Q== +"@discordjs/ws@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@discordjs/ws/-/ws-1.1.1.tgz#bffbfd46838258ab09054ed98ddef1a36f6507a3" + integrity sha512-PZ+vLpxGCRtmr2RMkqh8Zp+BenUaJqlS6xhgWKEZcgC/vfHLEzpHtKkB0sl3nZWpwtcKk6YWy+pU3okL2I97FA== dependencies: - "@discordjs/collection" "^2.0.0" - "@discordjs/rest" "^2.1.0" - "@discordjs/util" "^1.0.2" - "@sapphire/async-queue" "^1.5.0" - "@types/ws" "^8.5.9" - "@vladfrangu/async_event_emitter" "^2.2.2" - discord-api-types "0.37.61" + "@discordjs/collection" "^2.1.0" + "@discordjs/rest" "^2.3.0" + "@discordjs/util" "^1.1.0" + "@sapphire/async-queue" "^1.5.2" + "@types/ws" "^8.5.10" + "@vladfrangu/async_event_emitter" "^2.2.4" + discord-api-types "0.37.83" tslib "^2.6.2" - ws "^8.14.2" + ws "^8.16.0" -"@fastify/busboy@^2.0.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" - integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== - -"@sapphire/async-queue@^1.1.4": +"@sapphire/async-queue@^1.5.2": version "1.5.2" resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.5.2.tgz#2982dce16e5b8b1ea792604d20c23c0585877b97" integrity sha512-7X7FFAA4DngXUl95+hYbUF19bp1LGiffjJtu7ygrZrbdCSsdDDBaSjB7Akw0ZbOu6k0xpXyljnJ6/RZUvLfRdg== -"@sapphire/async-queue@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.5.0.tgz#2f255a3f186635c4fb5a2381e375d3dfbc5312d8" - integrity sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA== - -"@sapphire/shapeshift@^3.9.3": +"@sapphire/shapeshift@^3.9.7": version "3.9.7" resolved "https://registry.yarnpkg.com/@sapphire/shapeshift/-/shapeshift-3.9.7.tgz#43e23243cac8a0c046bf1e73baf3dbf407d33a0c" integrity sha512-4It2mxPSr4OGn4HSQWGmhFMsNFGfFVhWeRPCRwbH972Ek2pzfGRZtb0pJ4Ze6oIzcyh2jw7nUDa6qGlWofgd9g== @@ -169,60 +134,31 @@ fast-deep-equal "^3.1.3" lodash "^4.17.21" -"@sapphire/snowflake@3.5.1": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@sapphire/snowflake/-/snowflake-3.5.1.tgz#254521c188b49e8b2d4cc048b475fb2b38737fec" - integrity sha512-BxcYGzgEsdlG0dKAyOm0ehLGm2CafIrfQTZGWgkfKYbj+pNNsorZ7EotuZukc2MT70E0UbppVbtpBrqpzVzjNA== - -"@sapphire/snowflake@^3.5.1": +"@sapphire/snowflake@3.5.3", "@sapphire/snowflake@^3.5.3": version "3.5.3" resolved "https://registry.yarnpkg.com/@sapphire/snowflake/-/snowflake-3.5.3.tgz#0c102aa2ec5b34f806e9bc8625fc6a5e1d0a0c6a" integrity sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ== -"@sindresorhus/is@^4.0.1": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" - integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== - "@types/node@*": version "17.0.30" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.30.tgz#2c6e8512acac70815e8176aa30c38025067880ef" integrity sha512-oNBIZjIqyHYP8VCNAV9uEytXVeXG2oR0w9lgAXro20eugRQfY002qr3CUl6BAe+Yf/z3CRjPdz27Pu6WWtuSRw== -"@types/node@^18.7.11": - version "18.11.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.7.tgz#8ccef136f240770c1379d50100796a6952f01f94" - integrity sha512-LhFTglglr63mNXUSRYD8A+ZAIu5sFqNJ4Y2fPuY7UlrySJH87rRRlhtVmMHplmfk5WkoJGmDjE9oiTfyX94CpQ== - -"@types/ws@8.5.9": - version "8.5.9" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.9.tgz#384c489f99c83225a53f01ebc3eddf3b8e202a8c" - integrity sha512-jbdrY0a8lxfdTp/+r7Z4CkycbOFN8WX+IOchLJr3juT/xzbJ8URyTVSJ/hvNdadTgM1mnedb47n+Y31GsFnQlg== - dependencies: - "@types/node" "*" - -"@types/ws@^7.4.7": - version "7.4.7" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" - integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== +"@types/node@^20.14.6": + version "20.14.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.6.tgz#f3c19ffc98c2220e18de259bb172dd4d892a6075" + integrity sha512-JbA0XIJPL1IiNnU7PFxDXyfAwcwVVrOoqyzzyQTyMeVhBzkJVMSkC1LlVsRQ2lpqiY4n6Bb9oCS6lzDKVQxbZw== dependencies: - "@types/node" "*" + undici-types "~5.26.4" -"@types/ws@^8.5.3": - version "8.5.3" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" - integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== - dependencies: - "@types/node" "*" - -"@types/ws@^8.5.9": +"@types/ws@^8.5.10": version "8.5.10" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== dependencies: "@types/node" "*" -"@vladfrangu/async_event_emitter@^2.2.2": +"@vladfrangu/async_event_emitter@^2.2.4": version "2.2.4" resolved "https://registry.yarnpkg.com/@vladfrangu/async_event_emitter/-/async_event_emitter-2.2.4.tgz#d3537432c6db6444680a596271dff8ea407343b3" integrity sha512-ButUPz9E9cXMLgvAW8aLAKKJJsPu1dY1/l/E8xzLFuysowXygs6GBcyunK9rnGC4zTsnIc2mQo71rGw9U+Ykug== @@ -232,11 +168,6 @@ ansi-sequence-parser@^1.1.0: resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz#e0aa1cdcbc8f8bb0b5bca625aac41f5f056973cf" integrity sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg== -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -249,108 +180,39 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -callsites@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== +discord-api-types@0.37.83: + version "0.37.83" + resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.83.tgz#a22a799729ceded8176ea747157837ddf4708b1f" + integrity sha512-urGGYeWtWNYMKnYlZnOnDHm8fVRffQs3U0SpE8RHeiuLKb/u92APS8HoQnPTFbnXmY1vVnXjXO4dOxcAn3J+DA== -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== +discord.js@^14.15.3: + version "14.15.3" + resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-14.15.3.tgz#b2a67a1a4ef192be498fb8b6784224a42906f1be" + integrity sha512-/UJDQO10VuU6wQPglA4kz2bw2ngeeSbogiIPx/TsnctfzV/tNf+q+i1HlgtX1OGpeOBpJH9erZQNO5oRM2uAtQ== dependencies: - delayed-stream "~1.0.0" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -discord-api-types@0.37.61: - version "0.37.61" - resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.61.tgz#9dd8e58c624237e6f1b23be2d29579af268b8c5b" - integrity sha512-o/dXNFfhBpYHpQFdT6FWzeO7pKc838QeeZ9d91CfVAtpr5XLK4B/zYxQbYgPdoMiTDvJfzcsLW5naXgmHGDNXw== - -discord-api-types@^0.22.0: - version "0.22.0" - resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.22.0.tgz#34dc57fe8e016e5eaac5e393646cd42a7e1ccc2a" - integrity sha512-l8yD/2zRbZItUQpy7ZxBJwaLX/Bs2TGaCthRppk8Sw24LOIWg12t9JEreezPoYD0SQcC2htNNo27kYEpYW/Srg== - -discord-logs@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/discord-logs/-/discord-logs-2.2.1.tgz#5711bca4ad6c4573c05797632203980a0d3de3cf" - integrity sha512-VTNe/uRcfdLDLBLf1Taaj3OYU1GLWTAVEcCPC/xZqZd1X4D3DXW1qYJWxoyx3yqiJZ4rwQ3A0bPIFryIdniKrQ== - dependencies: - "@types/node" "^18.7.11" - "@types/ws" "^8.5.3" - -discord-sync-commands@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/discord-sync-commands/-/discord-sync-commands-0.3.0.tgz#471d711a7c6cbcccb7ab29e29bb53d68d02d0dfa" - integrity sha512-JPKJTqzUvAtqTFcHp8GgEZfgpkOaeUIHpLVcnP88lK8gMMxUfz1X9+DsVgbAbsWSF7uer0PpBowHyWomzTJH/g== - dependencies: - discord.js discordjs/discord.js#refs/pull/6414/head - -discord.js@^14.14.1: - version "14.14.1" - resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-14.14.1.tgz#9a2bea23bba13819705ab87612837610abce9ee3" - integrity sha512-/hUVzkIerxKHyRKopJy5xejp4MYKDPTszAnpYxzVVv4qJYf+Tkt+jnT2N29PIPschicaEEpXwF2ARrTYHYwQ5w== - dependencies: - "@discordjs/builders" "^1.7.0" + "@discordjs/builders" "^1.8.2" "@discordjs/collection" "1.5.3" - "@discordjs/formatters" "^0.3.3" - "@discordjs/rest" "^2.1.0" - "@discordjs/util" "^1.0.2" - "@discordjs/ws" "^1.0.2" - "@sapphire/snowflake" "3.5.1" - "@types/ws" "8.5.9" - discord-api-types "0.37.61" + "@discordjs/formatters" "^0.4.0" + "@discordjs/rest" "^2.3.0" + "@discordjs/util" "^1.1.0" + "@discordjs/ws" "^1.1.1" + "@sapphire/snowflake" "3.5.3" + discord-api-types "0.37.83" fast-deep-equal "3.1.3" lodash.snakecase "4.1.1" tslib "2.6.2" - undici "5.27.2" - ws "8.14.2" - -discord.js@discordjs/discord.js#refs/pull/6414/head: - version "13.2.0-dev" - resolved "https://codeload.github.com/discordjs/discord.js/tar.gz/b2ef10fdd742aa08da3a33b2cf35f0f2350e915a" - dependencies: - "@discordjs/builders" "^0.5.0" - "@discordjs/collection" "^0.2.1" - "@discordjs/form-data" "^3.0.1" - "@sapphire/async-queue" "^1.1.4" - "@types/ws" "^7.4.7" - discord-api-types "^0.22.0" - node-fetch "^2.6.1" - ws "^7.5.1" - -dot-prop@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" - integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== - dependencies: - is-obj "^2.0.0" + undici "6.13.0" fast-deep-equal@3.1.3, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - jsonc-parser@^3.2.0: version "3.2.1" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - lodash.snakecase@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" @@ -366,7 +228,7 @@ lunr@^2.3.9: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -magic-bytes.js@^1.5.0: +magic-bytes.js@^1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/magic-bytes.js/-/magic-bytes.js-1.10.0.tgz#c41cf4bc2f802992b05e64962411c9dd44fdef92" integrity sha512-/k20Lg2q8LE5xiaaSkMXk4sfvI+9EGEykFS4b0CHHGWqDYU0bGUFSwchNOMA56D7TCs9GwVTkqe9als1/ns8UQ== @@ -376,18 +238,6 @@ marked@^4.3.0: resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - minimatch@^9.0.3: version "9.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" @@ -395,25 +245,6 @@ minimatch@^9.0.3: dependencies: brace-expansion "^2.0.1" -node-fetch@^2.6.1: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -ow@^0.27.0: - version "0.27.0" - resolved "https://registry.yarnpkg.com/ow/-/ow-0.27.0.tgz#d44da088e8184fa11de64b5813206f9f86ab68d0" - integrity sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ== - dependencies: - "@sindresorhus/is" "^4.0.1" - callsites "^3.1.0" - dot-prop "^6.0.1" - lodash.isequal "^4.5.0" - type-fest "^1.2.1" - vali-date "^1.0.0" - shiki@^0.14.7: version "0.14.7" resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.7.tgz#c3c9e1853e9737845f1d2ef81b31bcfb07056d4e" @@ -424,31 +255,16 @@ shiki@^0.14.7: vscode-oniguruma "^1.7.0" vscode-textmate "^8.0.0" -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -ts-mixer@^6.0.0: +ts-mixer@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/ts-mixer/-/ts-mixer-6.0.4.tgz#1da39ceabc09d947a82140d9f09db0f84919ca28" integrity sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA== -ts-mixer@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/ts-mixer/-/ts-mixer-6.0.3.tgz#69bd50f406ff39daa369885b16c77a6194c7cae6" - integrity sha512-k43M7uCG1AkTyxgnmI5MPwKoUvS/bRvLvUb7+Pgpdlmok8AoqmUaZxUUw8zKM5B1lqZrt41GjYgnvAi0fppqgQ== - -tslib@2.6.2, tslib@^2.3.0, tslib@^2.6.2: +tslib@2.6.2, tslib@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== -type-fest@^1.2.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" - integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== - typedoc@^0.25.13: version "0.25.13" resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.25.13.tgz#9a98819e3b2d155a6d78589b46fa4c03768f0922" @@ -459,22 +275,20 @@ typedoc@^0.25.13: minimatch "^9.0.3" shiki "^0.14.7" -typescript@^5.4.4: - version "5.4.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.4.tgz#eb2471e7b0a5f1377523700a21669dce30c2d952" - integrity sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw== +typescript@^5.4.5: + version "5.4.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" + integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== -undici@5.27.2: - version "5.27.2" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.27.2.tgz#a270c563aea5b46cc0df2550523638c95c5d4411" - integrity sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ== - dependencies: - "@fastify/busboy" "^2.0.0" +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== -vali-date@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" - integrity sha512-sgECfZthyaCKW10N0fm27cg8HYTFK5qMWgypqkXMQ4Wbl/zZKx7xZICgcoxIIE+WFAP/MBL2EFwC/YvLxw3Zeg== +undici@6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-6.13.0.tgz#7edbf4b7f3aac5f8a681d515151bf55cb3589d72" + integrity sha512-Q2rtqmZWrbP8nePMq7mOJIN98M0fYvSgV89vwl/BQRT4mDOeY2GXZngfGpcBBhtky3woM7G24wZV3Q304Bv6cw== vscode-oniguruma@^1.7.0: version "1.7.0" @@ -486,30 +300,7 @@ vscode-textmate@^8.0.0: resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d" integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg== -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -ws@8.14.2: - version "8.14.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" - integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== - -ws@^7.5.1: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^8.14.2: - version "8.16.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" - integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== +ws@^8.16.0: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==