Child Channel Data
diff --git a/eslint.config.js b/eslint.config.js
deleted file mode 100644
index 3bb3fca..0000000
--- a/eslint.config.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// @ts-check
-
-import eslint from '@eslint/js';
-import tseslint from 'typescript-eslint';
-
-export default tseslint.config(
- eslint.configs.recommended,
- ...tseslint.configs.recommended,
- {
- rules: {
- "@typescript-eslint/no-unused-vars": "warn",
- }
- }
-);
\ 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 8923f81..7aac484 100644
--- a/package.json
+++ b/package.json
@@ -1,49 +1,48 @@
{
- "name": "@hunteroi/discord-temp-channels",
- "version": "3.2.1",
- "type": "module",
- "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",
- "main": "lib/index.js",
+ "author": "HunteRoi
(https://tinaeldevresse.eu/)",
"bugs": {
"url": "https://github.com/HunteRoi/discord-temp-channels/issues"
},
+ "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",
+ "@types/node": "^20.14.6",
+ "discord.js": "^14.15.3",
+ "typedoc": "^0.25.13",
+ "typescript": "^5.4.5"
+ },
+ "directories": {
+ "lib": "lib"
+ },
+ "engines": {
+ "node": ">=20.x"
+ },
+ "files": [
+ "lib/**/*"
+ ],
+ "funding": "https://github.com/sponsors/hunteroi",
"homepage": "https://github.com/HunteRoi/discord-temp-channels#readme",
"keywords": [
"discordjs",
"temporary channels",
"discordbot"
],
- "repository": "git://github.com/hunteroi/discord-temp-channels.git",
- "author": "HunteRoi (https://tinaeldevresse.eu/)",
- "funding": "https://github.com/sponsors/hunteroi",
- "engines": {
- "node": ">=20.x"
- },
"license": "MIT",
+ "main": "lib/index.js",
+ "name": "@hunteroi/discord-temp-channels",
+ "peerDependencies": {
+ "discord.js": "^14.x"
+ },
+ "repository": "git://github.com/hunteroi/discord-temp-channels.git",
"scripts": {
"build": "tsc",
"build:docs": "typedoc",
+ "lint": "biome check --apply ./src",
"prepublish": "yarn lint && yarn build && yarn build:docs",
- "lint": "eslint ./src",
- "start": "yarn build & node ./examples/index.js",
- "start:example2": "yarn build & node ./examples/index2.js"
- },
- "dependencies": {
- "discord-logs": "^2.2.1",
- "discord.js": "14.x"
+ "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"
},
- "devDependencies": {
- "@eslint/js": "^9.0.0",
- "discord-sync-commands": "^0.3.0",
- "eslint": "^9.0.0",
- "typedoc": "^0.25.13",
- "typescript": "^5.4.4",
- "typescript-eslint": "^7.6.0"
- },
- "directories": {
- "lib": "lib"
- },
- "files": [
- "lib/**/*"
- ]
+ "type": "module",
+ "version": "3.3.0"
}
diff --git a/src/ClientWithTempManager.ts b/src/ClientWithTempManager.ts
index 7c49367..e1e8d17 100644
--- a/src/ClientWithTempManager.ts
+++ b/src/ClientWithTempManager.ts
@@ -1,5 +1,6 @@
-import { Client, ClientOptions } from 'discord.js';
-import { TempChannelsManager } from './TempChannelsManager';
+import { Client, type ClientOptions } from "discord.js";
+
+import { TempChannelsManager } from "./TempChannelsManager.js";
/**
* A wrapper of {@link Client} that provides a support for the {@link TempChannelsManager}.
@@ -8,22 +9,22 @@ import { TempChannelsManager } from './TempChannelsManager';
* @extends {Client}
*/
export class ClientWithTempManager extends Client {
- /**
- * An instance of {@link TempChannelsManager} that currently manages all the temporary channels for the client.
- *
- * @name ClientWithTempManager#tempChannelsManager
- * @type {TempChannelsManager}
- */
- public readonly tempChannelsManager: TempChannelsManager;
+ /**
+ * An instance of {@link TempChannelsManager} that currently manages all the temporary channels for the client.
+ *
+ * @name ClientWithTempManager#tempChannelsManager
+ * @type {TempChannelsManager}
+ */
+ public readonly tempChannelsManager: TempChannelsManager;
- /**
- * Creates an instance of ClientWithTempManager.
- * @param {ClientOptions} [options] Options for the client
- * @memberof ClientWithTempManager
- */
- constructor(options?: ClientOptions) {
- super(options);
+ /**
+ * Creates an instance of ClientWithTempManager.
+ * @param {ClientOptions} [options] Options for the client
+ * @memberof ClientWithTempManager
+ */
+ constructor(options: ClientOptions) {
+ super(options);
- this.tempChannelsManager = new TempChannelsManager(this);
- }
+ this.tempChannelsManager = new TempChannelsManager(this);
+ }
}
diff --git a/src/TempChannelsManager.ts b/src/TempChannelsManager.ts
index 0d2465e..1551ae4 100644
--- a/src/TempChannelsManager.ts
+++ b/src/TempChannelsManager.ts
@@ -1,8 +1,25 @@
-import { CategoryChannel, ChannelType, Client, DMChannel, Events, Guild, GuildMember, IntentsBitField, NonThreadGuildBasedChannel, OverwriteType, PermissionsBitField, Snowflake, VoiceChannel } from 'discord.js';
-import { ChildChannelData, ParentChannelData, ParentChannelOptions } from './types';
-import { VoiceChannelsManager } from './VoiceChannelsManager';
-import { TempChannelsManagerEvents } from './TempChannelsManagerEvents';
-import addDiscordLogs from 'discord-logs';
+import {
+ type CategoryChannel,
+ ChannelType,
+ type Client,
+ type DMChannel,
+ Events,
+ type GuildMember,
+ IntentsBitField,
+ type NonThreadGuildBasedChannel,
+ OverwriteType,
+ type Snowflake,
+ type VoiceChannel,
+} from "discord.js";
+
+import { TempChannelsManagerEvents } from "./TempChannelsManagerEvents.js";
+import { VoiceChannelsManager } from "./VoiceChannelsManager.js";
+import {
+ ChildChannelData,
+ type ParentChannelData,
+ type ParentChannelOptions,
+} from "./types/index.js";
+
/**
* The temporary channels manager.
* @export
@@ -22,16 +39,17 @@ export class TempChannelsManager extends VoiceChannelsManager {
const intents = new IntentsBitField(client.options.intents);
if (!intents.has(IntentsBitField.Flags.GuildVoiceStates)) {
- throw new Error('GUILD_VOICE_STATES intent is required to use this package!');
+ throw new Error(
+ "GUILD_VOICE_STATES intent is required to use this package!",
+ );
}
if (!intents.has(IntentsBitField.Flags.Guilds)) {
- throw new Error('GUILDS intent is required to use this package!');
+ throw new Error("GUILDS intent is required to use this package!");
}
this.client = client;
this.#listenToChannelEvents();
- addDiscordLogs(client);
}
/**
@@ -44,7 +62,7 @@ export class TempChannelsManager extends VoiceChannelsManager {
* childAutoDeleteIfOwnerLeaves: false,
* childFormat: (name, count) => `[DRoom #${count}] ${name}`,
* childFormatRegex: /^\[DRoom #\d+\]\s+.+/i,
- * childPermissionOverwriteOption: { 'ManageChannels': true }
+ * childPermissionOverwriteOption: { ManageChannels: true }
* }]
*/
public registerChannel(
@@ -55,9 +73,9 @@ export class TempChannelsManager extends VoiceChannelsManager {
childAutoDeleteIfOwnerLeaves: false,
childVoiceFormat: (name, count) => `[DRoom #${count}] ${name}`,
childVoiceFormatRegex: /^\[DRoom #\d+\]\s+.+/i,
- childPermissionOverwriteOptions: { 'ManageChannels': true },
- childShouldBeACopyOfParent: false
- }
+ childPermissionOverwriteOptions: { ManageChannels: true },
+ childShouldBeACopyOfParent: false,
+ },
): void {
super.registerChannel(channelId, options);
}
@@ -70,35 +88,90 @@ export class TempChannelsManager extends VoiceChannelsManager {
public unregisterChannel(channelId: Snowflake): boolean {
const hasBeenUnregistered = super.unregisterChannel(channelId);
if (!hasBeenUnregistered) {
- this.emit(TempChannelsManagerEvents.error, null, `Could not unregister the channel with the id ${channelId}`);
+ this.emit(
+ TempChannelsManagerEvents.error,
+ null,
+ `Could not unregister the channel with the id ${channelId}`,
+ );
}
return hasBeenUnregistered;
}
#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) => await this.#handleChild.apply(this, [member, previousChannel, currentChannel]));
- this.client.on('voiceChannelLeave', async (member: GuildMember, channel: VoiceChannel) => await this.#checkChildForDeletion.apply(this, [channel]));
-
- this.client.on(Events.ChannelUpdate, async (oldState: DMChannel | NonThreadGuildBasedChannel, newState: DMChannel | NonThreadGuildBasedChannel) => await this.#handleChannelRenaming.apply(this, [oldState, newState]));
- this.client.on(Events.ChannelDelete, (channel: DMChannel | NonThreadGuildBasedChannel) => this.#cleanUpAfterDeletion.apply(this, [channel]));
- this.on(TempChannelsManagerEvents.channelRegister, async (parent: ParentChannelData) => await this.#restoreAfterCrash.apply(this, [parent]));
- this.on(TempChannelsManagerEvents.channelUnregister, async (parent: ParentChannelData) => {
- if (parent.options.childAutoDeleteIfParentGetsUnregistered) {
- for (const child of parent.children) {
- await this.#deleteVoiceChannel.apply(this, [child.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, [
+ newState.member,
+ oldState.channel as VoiceChannel,
+ newState.channel as VoiceChannel,
+ ]);
}
});
+
+ this.client.on(
+ Events.ChannelUpdate,
+ async (
+ oldState: DMChannel | NonThreadGuildBasedChannel,
+ newState: DMChannel | NonThreadGuildBasedChannel,
+ ) =>
+ await this.#handleChannelRenaming.apply(this, [
+ oldState,
+ newState,
+ ]),
+ );
+ this.client.on(
+ Events.ChannelDelete,
+ (channel: DMChannel | NonThreadGuildBasedChannel) =>
+ this.#cleanUpAfterDeletion.apply(this, [channel]),
+ );
+ this.on(
+ TempChannelsManagerEvents.channelRegister,
+ async (parent: ParentChannelData) =>
+ await this.#restoreAfterCrash.apply(this, [parent]),
+ );
+ this.on(
+ TempChannelsManagerEvents.channelUnregister,
+ async (parent: ParentChannelData) => {
+ if (parent.options.childAutoDeleteIfParentGetsUnregistered) {
+ for (const child of parent.children) {
+ await this.#deleteVoiceChannel.apply(this, [
+ child.voiceChannel,
+ ]);
+ }
+ }
+ },
+ );
}
async #deleteVoiceChannel(channel: VoiceChannel): Promise {
try {
await channel.delete();
- }
- catch (error) {
- this.emit(TempChannelsManagerEvents.error, error, 'Cannot auto delete channel ' + channel.id);
+ } catch (error) {
+ this.emit(
+ TempChannelsManagerEvents.error,
+ error,
+ `Cannot auto delete channel ${channel.id}`,
+ );
}
}
@@ -106,32 +179,69 @@ export class TempChannelsManager extends VoiceChannelsManager {
if (!parentData) return;
const parent = this.getParentChannel(parentData.channelId);
- const voiceChannel = await this.client.channels.fetch(parent.channelId) as VoiceChannel;
+ if (!parent) return;
+
+ const voiceChannel = (await this.client.channels.fetch(
+ parent.channelId,
+ )) as VoiceChannel;
if (!voiceChannel) return;
- const bot = await voiceChannel.guild.members.fetch(this.client.user);
- const category = await voiceChannel.guild.channels.fetch(parent.options.childCategory ?? voiceChannel.parentId) as CategoryChannel;
- const children = (category?.children ?? voiceChannel.guild.channels).cache
- .filter(c => parent.options.childVoiceFormatRegex.test(c.name) && c.type === ChannelType.GuildVoice && c.permissionOverwrites.cache.some((po) => po.type === OverwriteType.Member));
+ const bot: GuildMember = await voiceChannel.guild.members.fetch(
+ // biome-ignore lint: the user is always defined here
+ this.client.user!,
+ );
+
+ const parentId = parent.options.childCategory ?? voiceChannel.parentId;
+ if (!parentId) return;
+ const category = (await voiceChannel.guild.channels.fetch(
+ parentId,
+ )) as CategoryChannel;
+ const children = (
+ category?.children ?? voiceChannel.guild.channels
+ ).cache.filter(
+ (c) =>
+ parent.options.childVoiceFormatRegex.test(c.name) &&
+ c.type === ChannelType.GuildVoice &&
+ c.permissionOverwrites.cache.some(
+ (po) => po.type === OverwriteType.Member,
+ ),
+ );
for (let child of [...children.values()] as VoiceChannel[]) {
- child = await this.client.channels.fetch(child.id) as VoiceChannel;
- this.bindChannelToParent(parent, child, child.members.size > 0 ? child.members.first() : bot);
+ child = (await this.client.channels.fetch(
+ child.id,
+ )) as VoiceChannel;
+ this.bindChannelToParent(
+ parent,
+ child,
+ // biome-ignore lint: the members collection always has at least one member
+ child.members.size > 0 ? child.members.first()! : bot,
+ );
await this.#checkChildForDeletion(child);
}
}
- async #handleChannelRenaming(oldState: DMChannel | NonThreadGuildBasedChannel, newState: DMChannel | NonThreadGuildBasedChannel): Promise {
+ async #handleChannelRenaming(
+ oldState: DMChannel | NonThreadGuildBasedChannel,
+ newState: DMChannel | NonThreadGuildBasedChannel,
+ ): Promise {
if (oldState.isDMBased() || newState.isDMBased()) return;
if (oldState.name === newState.name) return;
const parent = this.getParentChannel(newState.id, true);
if (!parent) return;
- const child = parent.children.find(c => c.voiceChannel.id === newState.id);
- const nameDoesNotHavePrefix = !parent.options.childVoiceFormatRegex.test(newState.name);
+ const child = parent.children.find(
+ (c) => c.voiceChannel.id === newState.id,
+ );
+ if (!child) return;
+ const nameDoesNotHavePrefix =
+ !parent.options.childVoiceFormatRegex.test(newState.name);
if (!parent.options.childCanBeRenamed && nameDoesNotHavePrefix) {
const count = parent.children.indexOf(child) + 1;
- const nameWithPrefix = parent.options.childVoiceFormat(newState.name, count);
+ const nameWithPrefix = parent.options.childVoiceFormat(
+ newState.name,
+ count,
+ );
await newState.setName(nameWithPrefix);
this.emit(TempChannelsManagerEvents.childPrefixChange, child);
@@ -142,42 +252,66 @@ export class TempChannelsManager extends VoiceChannelsManager {
const parent = this.getParentChannel(channel.id, true);
if (!parent) return;
- const child = parent.children.find(c => c.voiceChannel.id === channel.id);
- const shouldBeDeleted = (parent.options.childAutoDeleteIfEmpty && child.voiceChannel.members.size === 0)
- || (parent.options.childAutoDeleteIfOwnerLeaves && !child.voiceChannel.members.has(child.owner.id));
+ const child = parent.children.find(
+ (c) => c.voiceChannel.id === channel.id,
+ );
+ if (!child) return;
+ const shouldBeDeleted =
+ (parent.options.childAutoDeleteIfEmpty &&
+ child.voiceChannel.members.size === 0) ||
+ (parent.options.childAutoDeleteIfOwnerLeaves &&
+ !child.voiceChannel.members.has(child.owner.id));
if (!shouldBeDeleted) return;
await this.#deleteVoiceChannel(channel);
}
- async #handleChild(member: GuildMember, oldChannel: VoiceChannel, newChannel: VoiceChannel): Promise {
+ async #handleChild(
+ member: GuildMember,
+ oldChannel: VoiceChannel,
+ newChannel: VoiceChannel,
+ ): Promise {
await this.#checkChildForDeletion(oldChannel);
await this.#createNewChild(member, newChannel);
}
- async #createNewChild(member: GuildMember, channel: VoiceChannel): Promise {
+ async #createNewChild(
+ member: GuildMember,
+ channel: VoiceChannel,
+ ): Promise {
const parent = this.getParentChannel(channel.id);
if (!parent) return;
- const parentChannel = await this.client.channels.fetch(parent.channelId) as VoiceChannel;
+ const parentChannel = (await this.client.channels.fetch(
+ parent.channelId,
+ )) as VoiceChannel;
const count = Math.max(
0,
- ...parent.children.map(child => Number(child.voiceChannel.name.match(/\d+/).shift()))
+ ...parent.children.map((child) =>
+ Number((child.voiceChannel.name.match(/\d+/) ?? [0]).shift()),
+ ),
+ );
+
+ const name = parent.options.childVoiceFormat(
+ member.displayName,
+ count + 1,
);
- const name = parent.options.childVoiceFormat(member.displayName, count + 1);
let categoryChannel: CategoryChannel | null = null;
if (parent.options.childCategory) {
- categoryChannel = await channel.guild.channels.fetch(parent.options.childCategory) as CategoryChannel;
- }
- else if (parentChannel.parentId) {
- categoryChannel = await channel.guild.channels.fetch(parentChannel.parentId) as CategoryChannel;
+ categoryChannel = (await channel.guild.channels.fetch(
+ parent.options.childCategory,
+ )) as CategoryChannel;
+ } else if (parentChannel.parentId) {
+ categoryChannel = (await channel.guild.channels.fetch(
+ parentChannel.parentId,
+ )) as CategoryChannel;
}
let voiceChannel: VoiceChannel | null = null;
if (parent.options.childShouldBeACopyOfParent) {
voiceChannel = await parentChannel.clone({
- name
+ name,
});
} else {
voiceChannel = await channel.guild.channels.create({
@@ -186,18 +320,31 @@ export class TempChannelsManager extends VoiceChannelsManager {
bitrate: parent.options.childBitrate,
userLimit: parent.options.childMaxUsers,
type: ChannelType.GuildVoice,
- permissionOverwrites: categoryChannel ? [...categoryChannel.permissionOverwrites.cache.values()] : []
+ permissionOverwrites: categoryChannel
+ ? [...categoryChannel.permissionOverwrites.cache.values()]
+ : [],
});
}
- await voiceChannel.permissionOverwrites.edit(member.id, { 'ManageChannels': true });
+ await voiceChannel.permissionOverwrites.edit(member.id, {
+ ManageChannels: true,
+ });
if (parent.options.childPermissionOverwriteOptions) {
- for (const roleOrUser of parent.options.childOverwriteRolesAndUsers) {
+ for (const roleOrUser of parent.options
+ .childOverwriteRolesAndUsers ?? []) {
try {
- await voiceChannel.permissionOverwrites.edit(roleOrUser, parent.options.childPermissionOverwriteOptions);
- }
- catch (error) {
- this.emit(TempChannelsManagerEvents.error, error, `Couldn't update the permissions of the channel ${voiceChannel.id} for role or user ${roleOrUser.toString()}`);
+ await voiceChannel.permissionOverwrites.edit(
+ roleOrUser,
+ parent.options.childPermissionOverwriteOptions,
+ );
+ } catch (error) {
+ this.emit(
+ TempChannelsManagerEvents.error,
+ error,
+ `Couldn't update the permissions of the channel ${
+ voiceChannel.id
+ } for role or user ${roleOrUser.toString()}`,
+ );
}
}
}
@@ -206,7 +353,9 @@ export class TempChannelsManager extends VoiceChannelsManager {
await member.voice.setChannel(voiceChannel);
}
- #cleanUpAfterDeletion(channel: DMChannel | NonThreadGuildBasedChannel): void {
+ #cleanUpAfterDeletion(
+ channel: DMChannel | NonThreadGuildBasedChannel,
+ ): void {
if (!channel || channel.type !== ChannelType.GuildVoice) return;
let parent = this.getParentChannel(channel.id);
@@ -222,7 +371,6 @@ export class TempChannelsManager extends VoiceChannelsManager {
}
}
-
/**
* Emitted when a voice channel name is changed because it does not respect the prefix regular expression.
* @event TempChannelsManager#childPrefixChange
diff --git a/src/TempChannelsManagerEvents.ts b/src/TempChannelsManagerEvents.ts
index c04c345..e348a43 100644
--- a/src/TempChannelsManagerEvents.ts
+++ b/src/TempChannelsManagerEvents.ts
@@ -1,10 +1,10 @@
export enum TempChannelsManagerEvents {
- channelRegister = 'channelRegister',
- channelUnregister = 'channelUnregister',
+ channelRegister = "channelRegister",
+ channelUnregister = "channelUnregister",
- childAdd = 'childAdd',
- childRemove = 'childRemove',
- childPrefixChange = 'childPrefixChange',
+ childAdd = "childAdd",
+ childRemove = "childRemove",
+ childPrefixChange = "childPrefixChange",
- error = 'error',
+ error = "error",
}
diff --git a/src/VoiceChannelsManager.ts b/src/VoiceChannelsManager.ts
index acd517d..1e01d7f 100644
--- a/src/VoiceChannelsManager.ts
+++ b/src/VoiceChannelsManager.ts
@@ -1,7 +1,17 @@
-import { Collection, GuildMember, Snowflake, VoiceChannel } from 'discord.js';
-import { ChildChannelData, ParentChannelData, ParentChannelOptions } from './types';
-import { EventEmitter } from 'events';
-import { TempChannelsManagerEvents } from './TempChannelsManagerEvents';
+import { EventEmitter } from "node:events";
+import {
+ Collection,
+ type GuildMember,
+ type Snowflake,
+ type VoiceChannel,
+} from "discord.js";
+
+import { TempChannelsManagerEvents } from "./TempChannelsManagerEvents.js";
+import type {
+ ChildChannelData,
+ ParentChannelData,
+ ParentChannelOptions,
+} from "./types/index.js";
/**
* A voice channels manager, handling the relationship between parents and children channels.
@@ -30,13 +40,18 @@ export class VoiceChannelsManager extends EventEmitter {
* @protected
* @param {Snowflake} channelId
* @param {boolean} [lookAsChild=false]
- * @return {*} {ParentChannelData}
+ * @return {ParentChannelData | undefined}
* @memberof VoiceChannelsManager
*/
- protected getParentChannel(channelId: Snowflake, lookAsChild: boolean = false): ParentChannelData {
+ protected getParentChannel(
+ channelId: Snowflake,
+ lookAsChild = false,
+ ): ParentChannelData | undefined {
if (lookAsChild) {
- return this.#channels.find(parent =>
- parent.children.some(child => child.voiceChannel.id === channelId)
+ return this.#channels.find((parent) =>
+ parent.children.some(
+ (child) => child.voiceChannel.id === channelId,
+ ),
);
}
return this.#channels.get(channelId);
@@ -50,7 +65,10 @@ export class VoiceChannelsManager extends EventEmitter {
* @param {ParentChannelOptions} options
* @memberof VoiceChannelsManager
*/
- public registerChannel(channelId: Snowflake, options: ParentChannelOptions): void {
+ public registerChannel(
+ channelId: Snowflake,
+ options: ParentChannelOptions,
+ ): void {
const parent: ParentChannelData = { channelId, options, children: [] };
this.#channels.set(channelId, parent);
this.emit(TempChannelsManagerEvents.channelRegister, parent);
@@ -71,7 +89,9 @@ export class VoiceChannelsManager extends EventEmitter {
const unregisteredSuccessfully = this.#channels.delete(channelId);
if (unregisteredSuccessfully) {
this.emit(TempChannelsManagerEvents.channelUnregister, parent);
- parent.children.forEach(child => this.unbindChannelFromParent(parent, child.voiceChannel.id));
+ for (const child of parent.children) {
+ this.unbindChannelFromParent(parent, child.voiceChannel.id);
+ }
}
return unregisteredSuccessfully;
@@ -87,7 +107,11 @@ export class VoiceChannelsManager extends EventEmitter {
* @return {*} {void}
* @memberof VoiceChannelsManager
*/
- public bindChannelToParent(parent: ParentChannelData, voiceChannel: VoiceChannel, owner: GuildMember): void {
+ public bindChannelToParent(
+ parent: ParentChannelData,
+ voiceChannel: VoiceChannel,
+ owner: GuildMember,
+ ): void {
if (!parent) return;
const child: ChildChannelData = { owner, voiceChannel };
@@ -104,10 +128,15 @@ export class VoiceChannelsManager extends EventEmitter {
* @return {*} {void}
* @memberof VoiceChannelsManager
*/
- public unbindChannelFromParent(parent: ParentChannelData, voiceChannelId: Snowflake): void {
+ public unbindChannelFromParent(
+ parent: ParentChannelData,
+ voiceChannelId: Snowflake,
+ ): void {
if (!parent) return;
- const index = parent.children.findIndex(c => c.voiceChannel.id === voiceChannelId);
+ const index = parent.children.findIndex(
+ (c) => c.voiceChannel.id === voiceChannelId,
+ );
if (index === -1) return;
const [child] = parent.children.splice(index, 1);
@@ -151,4 +180,4 @@ export class VoiceChannelsManager extends EventEmitter {
* @param {ParentChannelData} parent The parent channel data
* @example
* manager.on('childRemove', (child, parent) => {});
- */
\ No newline at end of file
+ */
diff --git a/src/index.ts b/src/index.ts
index 10b0102..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/ChildChannelData.ts b/src/types/ChildChannelData.ts
index 2decb6b..196c900 100644
--- a/src/types/ChildChannelData.ts
+++ b/src/types/ChildChannelData.ts
@@ -1,7 +1,4 @@
-import {
- GuildMember,
- VoiceChannel
-} from 'discord.js';
+import type { GuildMember, VoiceChannel } from "discord.js";
/**
* The data about a temporary channel ticket
@@ -10,19 +7,19 @@ import {
* @interface ChildChannelData
*/
export interface ChildChannelData {
- /**
- * The owner of the ticket
- *
- * @type {GuildMember}
- * @memberof ChildChannelData
- */
- owner: GuildMember;
+ /**
+ * The owner of the ticket
+ *
+ * @type {GuildMember}
+ * @memberof ChildChannelData
+ */
+ owner: GuildMember;
- /**
- * The created voice channel
- *
- * @type {VoiceChannel}
- * @memberof ChildChannelData
- */
- voiceChannel: VoiceChannel;
+ /**
+ * The created voice channel
+ *
+ * @type {VoiceChannel}
+ * @memberof ChildChannelData
+ */
+ voiceChannel: VoiceChannel;
}
diff --git a/src/types/ParentChannelData.ts b/src/types/ParentChannelData.ts
index 11151f7..b948579 100644
--- a/src/types/ParentChannelData.ts
+++ b/src/types/ParentChannelData.ts
@@ -1,5 +1,7 @@
-import { Snowflake } from 'discord.js';
-import { ChildChannelData, ParentChannelOptions } from './';
+import type { Snowflake } from "discord.js";
+
+import type { ChildChannelData } from "./ChildChannelData.js";
+import type { ParentChannelOptions } from "./ParentChannelOptions.js";
/**
* The data about the channel allowing creation of temporary channels
@@ -8,27 +10,27 @@ import { ChildChannelData, ParentChannelOptions } from './';
* @interface ParentChannelData
*/
export interface ParentChannelData {
- /**
- * The unique identifier of the channel
- *
- * @type {Snowflake}
- * @memberof ParentChannelData
- */
- channelId: Snowflake;
+ /**
+ * The unique identifier of the channel
+ *
+ * @type {Snowflake}
+ * @memberof ParentChannelData
+ */
+ channelId: Snowflake;
- /**
- * The customization parameters of this channel and the related children.
- *
- * @type {ParentChannelOptions}
- * @memberof ParentChannelData
- */
- options: ParentChannelOptions;
+ /**
+ * The customization parameters of this channel and the related children.
+ *
+ * @type {ParentChannelOptions}
+ * @memberof ParentChannelData
+ */
+ options: ParentChannelOptions;
- /**
- * The related children channels related to this parent.
- *
- * @type {ChildChannelData[]}
- * @memberof ParentChannelData
- */
- children: ChildChannelData[];
+ /**
+ * The related children channels related to this parent.
+ *
+ * @type {ChildChannelData[]}
+ * @memberof ParentChannelData
+ */
+ children: ChildChannelData[];
}
diff --git a/src/types/ParentChannelOptions.ts b/src/types/ParentChannelOptions.ts
index 588fe74..d158da2 100644
--- a/src/types/ParentChannelOptions.ts
+++ b/src/types/ParentChannelOptions.ts
@@ -1,10 +1,16 @@
-import {
- PermissionOverwriteOptions,
- RoleResolvable,
- Snowflake,
- UserResolvable,
-} from 'discord.js';
+import type {
+ PermissionOverwriteOptions,
+ RoleResolvable,
+ Snowflake,
+ UserResolvable,
+} from "discord.js";
+/**
+ * A specific type that can be either a role or a user.
+ *
+ * @type {RoleResolvable | UserResolvable}
+ * @see {@link https://discord.js.org/docs/packages/discord.js/14.14.1/RoleResolvable:TypeAlias} and {@link https://discord.js.org/docs/packages/discord.js/14.14.1/UserResolvable:TypeAlias} for more information.
+ */
type Resolvables = RoleResolvable | UserResolvable;
/**
@@ -14,114 +20,114 @@ type Resolvables = RoleResolvable | UserResolvable;
* @interface ParentChannelOptions
*/
export interface ParentChannelOptions {
- /**
- * Whether the child channel should be removed if its parent becomes unregistered.
- *
- * @type {boolean}
- * @memberof ParentChannelOptions
- */
- childAutoDeleteIfParentGetsUnregistered?: boolean;
+ /**
+ * Whether the child channel should be removed if its parent becomes unregistered.
+ *
+ * @type {boolean}
+ * @memberof ParentChannelOptions
+ */
+ childAutoDeleteIfParentGetsUnregistered?: boolean;
- /**
- * The category in which the child channels should be created.
- *
- * @type {Snowflake}
- * @memberof ParentChannelOptions
- */
- childCategory?: Snowflake;
+ /**
+ * The category in which the child channels should be created.
+ *
+ * @type {Snowflake? | null}
+ * @memberof ParentChannelOptions
+ */
+ childCategory?: Snowflake | null;
- /**
- * Whether the child channel should be removed when empty.
- *
- * @type {boolean}
- * @memberof ParentChannelOptions
- */
- childAutoDeleteIfEmpty: boolean;
+ /**
+ * Whether the child channel should be removed when empty.
+ *
+ * @type {boolean}
+ * @memberof ParentChannelOptions
+ */
+ childAutoDeleteIfEmpty: boolean;
- /**
- * Whether the child channel should be removed
- * when its owner leaves it.
- *
- * @type {boolean}
- * @memberof ParentChannelOptions
- */
- childAutoDeleteIfOwnerLeaves: boolean;
+ /**
+ * Whether the child channel should be removed
+ * when its owner leaves it.
+ *
+ * @type {boolean}
+ * @memberof ParentChannelOptions
+ */
+ childAutoDeleteIfOwnerLeaves: 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.
- *
- * @type {boolean}
- * @memberof ParentChannelOptions
- */
- 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.
+ *
+ * @type {boolean}
+ * @memberof ParentChannelOptions
+ */
+ childCanBeRenamed?: boolean;
- /**
- * The function that resolves the name of the child voice channels
- * when automatically generated.
- *
- * @param {string} str
- * @param {number} count
- * @return {*} {string}
- * @memberof ParentChannelOptions
- */
- childVoiceFormat(str: string, count: number): string;
+ /**
+ * The function that resolves the name of the child voice channels
+ * when automatically generated.
+ *
+ * @param {string} str
+ * @param {number} count
+ * @return {*} {string}
+ * @memberof ParentChannelOptions
+ */
+ childVoiceFormat(str: string, count: number): string;
- /**
- * The regular expression that should fit the childVoiceFormat in order to detect
- * the child channels in case the bot crashes and reconnects.
- *
- * @type {RegExp}
- * @memberof ParentChannelOptions
- */
- childVoiceFormatRegex: RegExp;
+ /**
+ * The regular expression that should fit the childVoiceFormat in order to detect
+ * the child channels in case the bot crashes and reconnects.
+ *
+ * @type {RegExp}
+ * @memberof ParentChannelOptions
+ */
+ childVoiceFormatRegex: RegExp;
- /**
- * The maximum number of users in a child channel.
- *
- * @remark Will be ignored if {@link childShouldBeACopyOfParent} is set to true.
- *
- * @type {number}
- * @memberof ParentChannelOptions
- */
- childMaxUsers?: number;
+ /**
+ * The maximum number of users in a child channel.
+ *
+ * @remark Will be ignored if {@link childShouldBeACopyOfParent} is set to true.
+ *
+ * @type {number}
+ * @memberof ParentChannelOptions
+ */
+ childMaxUsers?: number;
- /**
- * The bitrate of a child voice channel.
- *
- * @remark Will be ignored if {@link childShouldBeACopyOfParent} is set to true.
- *
- * @type {number}
- * @memberof ParentChannelOptions
- */
- childBitrate?: number;
+ /**
+ * The bitrate of a child voice channel.
+ *
+ * @remark Will be ignored if {@link childShouldBeACopyOfParent} is set to true.
+ *
+ * @type {number}
+ * @memberof ParentChannelOptions
+ */
+ childBitrate?: number;
- /**
- * The permissions overwrites of a child channel.
- *
- * @type {PermissionOverwriteOptions}
- * @memberof ParentChannelOptions
- */
- childPermissionOverwriteOptions?: PermissionOverwriteOptions;
+ /**
+ * The permissions overwrites of a child channel.
+ *
+ * @type {PermissionOverwriteOptions}
+ * @memberof ParentChannelOptions
+ */
+ childPermissionOverwriteOptions?: PermissionOverwriteOptions;
- /**
- * The list of users or roles to which the childPermissionOverwriteOption are applied.
- *
- * @type {Resolvables[]}
- * @memberof ParentChannelOptions
- */
- childOverwriteRolesAndUsers?: Resolvables[];
+ /**
+ * The list of users or roles to which the childPermissionOverwriteOption are applied.
+ *
+ * @type {Resolvables[]}
+ * @memberof ParentChannelOptions
+ */
+ childOverwriteRolesAndUsers?: Resolvables[];
- /**
- * 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 {@link childBitrate} and {@link childMaxUsers}. Only the name of the child channel
- * will be customized.
- *
- * @default false
- * @type {boolean}
- * @memberof ParentChannelOptions
- */
- 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 {@link childBitrate} and {@link childMaxUsers}. Only the name of the child channel
+ * will be customized.
+ *
+ * @default false
+ * @type {boolean}
+ * @memberof ParentChannelOptions
+ */
+ childShouldBeACopyOfParent?: boolean;
}
diff --git a/src/types/index.ts b/src/types/index.ts
index 381e17d..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 07a54ef..a1907d8 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,23 +1,22 @@
{
"compilerOptions": {
- "target": "ESNext",
- "module": "commonjs",
+ "baseUrl": "./src",
"declaration": true,
+ "esModuleInterop": true,
"outDir": "./lib",
- "strict": true,
"resolveJsonModule": true,
- "strictNullChecks": false,
- "esModuleInterop": true,
"skipLibCheck": true,
- "moduleResolution": "node"
+ "strict": true,
+ "strictNullChecks": true,
+ "target": "ESNext",
+ "module": "NodeNext",
+ "moduleResolution": "NodeNext"
},
- "include": ["src/**/*"],
- "exclude": ["lib/*", "node_modules/*"],
- "typedocOptions": {
- "entryPoints": ["src/index.ts"],
- "out": "docs/api-docs",
- "excludePrivate": true,
- "excludeExternals": true,
- "hideGenerator": true
- }
-}
+ "exclude": [
+ "lib/*",
+ "node_modules/*"
+ ],
+ "include": [
+ "src/**/*"
+ ]
+}
\ No newline at end of file
diff --git a/tslint.json b/tslint.json
deleted file mode 100644
index 80607bd..0000000
--- a/tslint.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "defaultSeverity": "error",
- "extends": ["tslint:recommended", "tslint-config-prettier"],
- "jsRules": {
- "no-unused-expression": true
- },
- "rulesDirectory": []
-}
diff --git a/typedoc.config.js b/typedoc.config.js
new file mode 100644
index 0000000..70af344
--- /dev/null
+++ b/typedoc.config.js
@@ -0,0 +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",
+ "Breaking Changes": "https://github.com/hunteroi/discord-temp-channels/blob/master/BREAKING_CHANGES.md"
+ }
+}
diff --git a/yarn.lock b/yarn.lock
index 9462468..21ef3dc 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,377 +2,177 @@
# yarn lockfile v1
-"@aashutoshrathi/word-wrap@^1.2.3":
- version "1.2.6"
- resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf"
- integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
-
-"@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==
- 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.5.0":
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-1.5.0.tgz#f6dd4684e46707eb600eabdfdacd3b44c9e924cd"
- integrity sha512-7XxT78mnNBPigHn2y6KAXkicxIBFtZREGWaRZ249EC1l6gBUEP8IyVY5JTciIjJArxkF+tg675aZvsTNTKBpmA==
- dependencies:
- "@discordjs/formatters" "^0.2.0"
- "@discordjs/util" "^0.2.0"
- "@sapphire/shapeshift" "^3.8.1"
- discord-api-types "^0.37.35"
+"@biomejs/biome@1.6.4":
+ version "1.6.4"
+ resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-1.6.4.tgz#d09ab44c1df2a0cbbbb15901779a164beacd356d"
+ integrity sha512-3groVd2oWsLC0ZU+XXgHSNbq31lUcOCBkCcA7sAQGBopHcmL+jmmdoWlY3S61zIh+f2mqQTQte1g6PZKb3JJjA==
+ optionalDependencies:
+ "@biomejs/cli-darwin-arm64" "1.6.4"
+ "@biomejs/cli-darwin-x64" "1.6.4"
+ "@biomejs/cli-linux-arm64" "1.6.4"
+ "@biomejs/cli-linux-arm64-musl" "1.6.4"
+ "@biomejs/cli-linux-x64" "1.6.4"
+ "@biomejs/cli-linux-x64-musl" "1.6.4"
+ "@biomejs/cli-win32-arm64" "1.6.4"
+ "@biomejs/cli-win32-x64" "1.6.4"
+
+"@biomejs/cli-darwin-arm64@1.6.4":
+ version "1.6.4"
+ resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.6.4.tgz#a2b07cacb0d2769ae5545b6a3cf40907fbfd4ab0"
+ integrity sha512-2WZef8byI9NRzGajGj5RTrroW9BxtfbP9etigW1QGAtwu/6+cLkdPOWRAs7uFtaxBNiKFYA8j/BxV5zeAo5QOQ==
+
+"@biomejs/cli-darwin-x64@1.6.4":
+ version "1.6.4"
+ resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.6.4.tgz#476720d731864508312b12fbef62a35609ef5f96"
+ integrity sha512-uo1zgM7jvzcoDpF6dbGizejDLCqNpUIRkCj/oEK0PB0NUw8re/cn1EnxuOLZqDpn+8G75COLQTOx8UQIBBN/Kg==
+
+"@biomejs/cli-linux-arm64-musl@1.6.4":
+ version "1.6.4"
+ resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.6.4.tgz#403f5889a4ec290e35a0b910c1c26723373cf5fc"
+ integrity sha512-Hp8Jwt6rjj0wCcYAEN6/cfwrrPLLlGOXZ56Lei4Pt4jy39+UuPeAVFPeclrrCfxyL1wQ2xPrhd/saTHSL6DoJg==
+
+"@biomejs/cli-linux-arm64@1.6.4":
+ version "1.6.4"
+ resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.6.4.tgz#7eff2af0fc5d9af9affc963bb594ec2ebf89668f"
+ integrity sha512-wAOieaMNIpLrxGc2/xNvM//CIZg7ueWy3V5A4T7gDZ3OL/Go27EKE59a+vMKsBCYmTt7jFl4yHz0TUkUbodA/w==
+
+"@biomejs/cli-linux-x64-musl@1.6.4":
+ version "1.6.4"
+ resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.6.4.tgz#aeca8dd886b19b7779dfb43898ec896c71da279f"
+ integrity sha512-wqi0hr8KAx5kBO0B+m5u8QqiYFFBJOSJVSuRqTeGWW+GYLVUtXNidykNqf1JsW6jJDpbkSp2xHKE/bTlVaG2Kg==
+
+"@biomejs/cli-linux-x64@1.6.4":
+ version "1.6.4"
+ resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-1.6.4.tgz#545b205dea20195b1fa64f5a0e60331a70133518"
+ integrity sha512-qTWhuIw+/ePvOkjE9Zxf5OqSCYxtAvcTJtVmZT8YQnmY2I62JKNV2m7tf6O5ViKZUOP0mOQ6NgqHKcHH1eT8jw==
+
+"@biomejs/cli-win32-arm64@1.6.4":
+ version "1.6.4"
+ resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.6.4.tgz#2c377c0965749d01280baac6cb273bcbe11cd652"
+ integrity sha512-Wp3FiEeF6v6C5qMfLkHwf4YsoNHr/n0efvoC8jCKO/kX05OXaVExj+1uVQ1eGT7Pvx0XVm/TLprRO0vq/V6UzA==
+
+"@biomejs/cli-win32-x64@1.6.4":
+ version "1.6.4"
+ resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-1.6.4.tgz#317fed21b863d43778665d42a41cbd0f94351051"
+ integrity sha512-mz183Di5hTSGP7KjNWEhivcP1wnHLGmOxEROvoFsIxMYtDhzJDad4k5gI/1JbmA0xe4n52vsgqo09tBhrMT/Zg==
+
+"@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:
+ "@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"
- tslib "^2.5.0"
-
-"@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==
+ ts-mixer "^6.0.4"
+ tslib "^2.6.2"
-"@discordjs/collection@^1.4.0":
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-1.4.0.tgz#6b5d5429db0691a3f5a962c21f6bc7859eef3333"
- integrity sha512-hiOJyk2CPFf1+FL3a4VKCuu1f448LlROVuu8nLz1+jCOAPokUcdFAV+l4pd3B3h6uJlJQSASoZzrdyNdjdtfzQ==
-
-"@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.2.0":
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/@discordjs/formatters/-/formatters-0.2.0.tgz#a861d9c385dfc6c7294e44c5441beee933820a4f"
- integrity sha512-vn4oMSXuMZUm8ITqVOtvE7/fMMISj4cI5oLsR09PEQXHKeKDAMLltG/DWeeIs7Idfy6V8Fk3rn1e69h7NfzuNA==
- dependencies:
- discord-api-types "^0.37.35"
-
-"@discordjs/rest@^1.6.0":
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/@discordjs/rest/-/rest-1.6.0.tgz#d77c9b5533f6d2079468d4fd497d3fabeb529c20"
- integrity sha512-HGvqNCZ5Z5j0tQHjmT1lFvE5ETO4hvomJ1r0cbnpC1zM23XhCpZ9wgTCiEmaxKz05cyf2CI9p39+9LL+6Yz1bA==
- dependencies:
- "@discordjs/collection" "^1.4.0"
- "@discordjs/util" "^0.2.0"
- "@sapphire/async-queue" "^1.5.0"
- "@sapphire/snowflake" "^3.4.0"
- discord-api-types "^0.37.35"
- file-type "^18.2.1"
- tslib "^2.5.0"
- undici "^5.20.0"
-
-"@discordjs/util@^0.2.0":
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/@discordjs/util/-/util-0.2.0.tgz#91b590dae3934ffa5fe34530afc5212c569d6751"
- integrity sha512-/8qNbebFzLWKOOg+UV+RB8itp4SmU5jw0tBUD3ifElW6rYNOj1Ku5JaSW7lLl/WgjjxF01l/1uQPCzkwr110vg==
-
-"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
- integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
- dependencies:
- eslint-visitor-keys "^3.3.0"
-
-"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1":
- version "4.10.0"
- resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63"
- integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==
-
-"@eslint/eslintrc@^3.0.2":
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.0.2.tgz#36180f8e85bf34d2fe3ccc2261e8e204a411ab4e"
- integrity sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==
- dependencies:
- ajv "^6.12.4"
- debug "^4.3.2"
- espree "^10.0.1"
- globals "^14.0.0"
- ignore "^5.2.0"
- import-fresh "^3.2.1"
- js-yaml "^4.1.0"
- minimatch "^3.1.2"
- strip-json-comments "^3.1.1"
+"@discordjs/collection@1.5.3":
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-1.5.3.tgz#5a1250159ebfff9efa4f963cfa7e97f1b291be18"
+ integrity sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==
-"@eslint/js@9.0.0", "@eslint/js@^9.0.0":
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.0.0.tgz#1a9e4b4c96d8c7886e0110ed310a0135144a1691"
- integrity sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==
-
-"@humanwhocodes/config-array@^0.12.3":
- version "0.12.3"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.12.3.tgz#a6216d90f81a30bedd1d4b5d799b47241f318072"
- integrity sha512-jsNnTBlMWuTpDkeE3on7+dWJi0D6fdDfeANj/w7MpS8ztROCoLvIO2nG0CcFj+E4k8j4QrSTh4Oryi3i2G669g==
- dependencies:
- "@humanwhocodes/object-schema" "^2.0.3"
- debug "^4.3.1"
- minimatch "^3.0.5"
-
-"@humanwhocodes/module-importer@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
- integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
-
-"@humanwhocodes/object-schema@^2.0.3":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3"
- integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==
-
-"@nodelib/fs.scandir@2.1.5":
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
- integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
- dependencies:
- "@nodelib/fs.stat" "2.0.5"
- run-parallel "^1.1.9"
-
-"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
- integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+"@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==
-"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8":
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
- integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
- dependencies:
- "@nodelib/fs.scandir" "2.1.5"
- fastq "^1.6.0"
+"@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.83"
+
+"@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.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 "6.13.0"
+
+"@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==
-"@sapphire/async-queue@^1.1.4":
+"@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.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.16.0"
+
+"@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.8.1":
- version "3.8.1"
- resolved "https://registry.yarnpkg.com/@sapphire/shapeshift/-/shapeshift-3.8.1.tgz#b98dc6a7180f9b38219267917b2e6fa33f9ec656"
- integrity sha512-xG1oXXBhCjPKbxrRTlox9ddaZTvVpOhYLmKmApD/vIWOV1xEYXnpoFs68zHIZBGbqztq6FrUPNPerIrO1Hqeaw==
+"@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==
dependencies:
fast-deep-equal "^3.1.3"
lodash "^4.17.21"
-"@sapphire/snowflake@^3.4.0":
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/@sapphire/snowflake/-/snowflake-3.4.0.tgz#25c012158a9feea2256c718985dbd6c1859a5022"
- integrity sha512-zZxymtVO6zeXVMPds+6d7gv/OfnCc25M1Z+7ZLB0oPmeMTPeRWVPQSS16oDJy5ZsyCOLj7M6mbZml5gWXcVRNw==
-
-"@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==
-
-"@tokenizer/token@^0.3.0":
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276"
- integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==
-
-"@types/json-schema@^7.0.15":
- version "7.0.15"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
- integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
+"@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==
"@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/semver@^7.5.8":
- version "7.5.8"
- resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e"
- integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==
-
-"@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==
+"@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" "*"
-"@types/ws@^8.5.4":
- version "8.5.4"
- resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.4.tgz#bb10e36116d6e570dd943735f86c933c1587b8a5"
- integrity sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==
- dependencies:
- "@types/node" "*"
-
-"@typescript-eslint/eslint-plugin@7.6.0":
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.6.0.tgz#1f5df5cda490a0bcb6fbdd3382e19f1241024242"
- integrity sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==
- dependencies:
- "@eslint-community/regexpp" "^4.10.0"
- "@typescript-eslint/scope-manager" "7.6.0"
- "@typescript-eslint/type-utils" "7.6.0"
- "@typescript-eslint/utils" "7.6.0"
- "@typescript-eslint/visitor-keys" "7.6.0"
- debug "^4.3.4"
- graphemer "^1.4.0"
- ignore "^5.3.1"
- natural-compare "^1.4.0"
- semver "^7.6.0"
- ts-api-utils "^1.3.0"
-
-"@typescript-eslint/parser@7.6.0":
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.6.0.tgz#0aca5de3045d68b36e88903d15addaf13d040a95"
- integrity sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==
- dependencies:
- "@typescript-eslint/scope-manager" "7.6.0"
- "@typescript-eslint/types" "7.6.0"
- "@typescript-eslint/typescript-estree" "7.6.0"
- "@typescript-eslint/visitor-keys" "7.6.0"
- debug "^4.3.4"
-
-"@typescript-eslint/scope-manager@7.6.0":
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.6.0.tgz#1e9972f654210bd7500b31feadb61a233f5b5e9d"
- integrity sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==
- dependencies:
- "@typescript-eslint/types" "7.6.0"
- "@typescript-eslint/visitor-keys" "7.6.0"
-
-"@typescript-eslint/type-utils@7.6.0":
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.6.0.tgz#644f75075f379827d25fe0713e252ccd4e4a428c"
- integrity sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==
- dependencies:
- "@typescript-eslint/typescript-estree" "7.6.0"
- "@typescript-eslint/utils" "7.6.0"
- debug "^4.3.4"
- ts-api-utils "^1.3.0"
-
-"@typescript-eslint/types@7.6.0":
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.6.0.tgz#53dba7c30c87e5f10a731054266dd905f1fbae38"
- integrity sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==
-
-"@typescript-eslint/typescript-estree@7.6.0":
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.6.0.tgz#112a3775563799fd3f011890ac8322f80830ac17"
- integrity sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==
- dependencies:
- "@typescript-eslint/types" "7.6.0"
- "@typescript-eslint/visitor-keys" "7.6.0"
- debug "^4.3.4"
- globby "^11.1.0"
- is-glob "^4.0.3"
- minimatch "^9.0.4"
- semver "^7.6.0"
- ts-api-utils "^1.3.0"
-
-"@typescript-eslint/utils@7.6.0":
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.6.0.tgz#e400d782280b6f724c8a1204269d984c79202282"
- integrity sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==
- dependencies:
- "@eslint-community/eslint-utils" "^4.4.0"
- "@types/json-schema" "^7.0.15"
- "@types/semver" "^7.5.8"
- "@typescript-eslint/scope-manager" "7.6.0"
- "@typescript-eslint/types" "7.6.0"
- "@typescript-eslint/typescript-estree" "7.6.0"
- semver "^7.6.0"
-
-"@typescript-eslint/visitor-keys@7.6.0":
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.6.0.tgz#d1ce13145844379021e1f9bd102c1d78946f4e76"
- integrity sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==
- dependencies:
- "@typescript-eslint/types" "7.6.0"
- eslint-visitor-keys "^3.4.3"
-
-acorn-jsx@^5.3.2:
- version "5.3.2"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
- integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
-
-acorn@^8.11.3:
- version "8.11.3"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a"
- integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
-
-ajv@^6.12.4:
- version "6.12.6"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
- integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
- dependencies:
- fast-deep-equal "^3.1.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-ansi-regex@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
- integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+"@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==
ansi-sequence-parser@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz#e0aa1cdcbc8f8bb0b5bca625aac41f5f056973cf"
integrity sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==
-ansi-styles@^4.1.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
- integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
- dependencies:
- color-convert "^2.0.1"
-
-argparse@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
- integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
-
-array-union@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
- integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
-
-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"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
brace-expansion@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
@@ -380,488 +180,40 @@ brace-expansion@^2.0.1:
dependencies:
balanced-match "^1.0.0"
-braces@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
- integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
- dependencies:
- fill-range "^7.0.1"
-
-busboy@^1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893"
- integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==
- dependencies:
- streamsearch "^1.1.0"
-
-callsites@^3.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==
-
-chalk@^4.0.0:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
- integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-color-convert@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
- integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
- dependencies:
- color-name "~1.1.4"
-
-color-name@~1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
-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==
- dependencies:
- delayed-stream "~1.0.0"
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
- integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
-
-cross-spawn@^7.0.2:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
- integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
- dependencies:
- path-key "^3.1.0"
- shebang-command "^2.0.0"
- which "^2.0.1"
-
-debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
- integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
- dependencies:
- ms "2.1.2"
-
-deep-is@^0.1.3:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
- integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
-
-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==
-
-dir-glob@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
- integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
- dependencies:
- path-type "^4.0.0"
-
-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-api-types@^0.37.35:
- version "0.37.36"
- resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.36.tgz#650a8f66dce2c5e54a8c2275db74a0bb7936430d"
- integrity sha512-Nlxmp10UpVr/utgZ9uODQvG2Or+5w7LFrvFMswyeKC9l/+UaqGT6H0OVgEFhu9GEO4U6K7NNO5W8Carv7irnCA==
-
-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.x:
- version "14.8.0"
- resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-14.8.0.tgz#0e5def8a95a22018844cdfc0f63b9806392da79b"
- integrity sha512-UOxYtc/YnV7jAJ2gISluJyYeBw4e+j8gWn+IoqG8unaHAVuvZ13DdYN0M1f9fbUgUvSarV798inIrYFtDNDjwQ==
- dependencies:
- "@discordjs/builders" "^1.5.0"
- "@discordjs/collection" "^1.4.0"
- "@discordjs/formatters" "^0.2.0"
- "@discordjs/rest" "^1.6.0"
- "@discordjs/util" "^0.2.0"
- "@sapphire/snowflake" "^3.4.0"
- "@types/ws" "^8.5.4"
- discord-api-types "^0.37.35"
- fast-deep-equal "^3.1.3"
- lodash.snakecase "^4.1.1"
- tslib "^2.5.0"
- undici "^5.20.0"
- ws "^8.12.1"
-
-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"
-
-escape-string-regexp@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
- integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
-
-eslint-scope@^8.0.1:
- version "8.0.1"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.1.tgz#a9601e4b81a0b9171657c343fb13111688963cfc"
- integrity sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==
- dependencies:
- esrecurse "^4.3.0"
- estraverse "^5.2.0"
-
-eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.3:
- version "3.4.3"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
- integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
-
-eslint-visitor-keys@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb"
- integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==
-
-eslint@^9.0.0:
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.0.0.tgz#6270548758e390343f78c8afd030566d86927d40"
- integrity sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q==
- dependencies:
- "@eslint-community/eslint-utils" "^4.2.0"
- "@eslint-community/regexpp" "^4.6.1"
- "@eslint/eslintrc" "^3.0.2"
- "@eslint/js" "9.0.0"
- "@humanwhocodes/config-array" "^0.12.3"
- "@humanwhocodes/module-importer" "^1.0.1"
- "@nodelib/fs.walk" "^1.2.8"
- ajv "^6.12.4"
- chalk "^4.0.0"
- cross-spawn "^7.0.2"
- debug "^4.3.2"
- escape-string-regexp "^4.0.0"
- eslint-scope "^8.0.1"
- eslint-visitor-keys "^4.0.0"
- espree "^10.0.1"
- esquery "^1.4.2"
- esutils "^2.0.2"
- fast-deep-equal "^3.1.3"
- file-entry-cache "^8.0.0"
- find-up "^5.0.0"
- glob-parent "^6.0.2"
- graphemer "^1.4.0"
- ignore "^5.2.0"
- imurmurhash "^0.1.4"
- is-glob "^4.0.0"
- is-path-inside "^3.0.3"
- json-stable-stringify-without-jsonify "^1.0.1"
- levn "^0.4.1"
- lodash.merge "^4.6.2"
- minimatch "^3.1.2"
- natural-compare "^1.4.0"
- optionator "^0.9.3"
- strip-ansi "^6.0.1"
- text-table "^0.2.0"
-
-espree@^10.0.1:
- version "10.0.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-10.0.1.tgz#600e60404157412751ba4a6f3a2ee1a42433139f"
- integrity sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==
- dependencies:
- acorn "^8.11.3"
- acorn-jsx "^5.3.2"
- eslint-visitor-keys "^4.0.0"
-
-esquery@^1.4.2:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
- integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
- dependencies:
- estraverse "^5.1.0"
-
-esrecurse@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
- integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
- dependencies:
- estraverse "^5.2.0"
-
-estraverse@^5.1.0, estraverse@^5.2.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
- integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
-
-esutils@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
- integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-
-fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
+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==
+
+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:
+ "@discordjs/builders" "^1.8.2"
+ "@discordjs/collection" "1.5.3"
+ "@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 "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==
-fast-glob@^3.2.9:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129"
- integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==
- dependencies:
- "@nodelib/fs.stat" "^2.0.2"
- "@nodelib/fs.walk" "^1.2.3"
- glob-parent "^5.1.2"
- merge2 "^1.3.0"
- micromatch "^4.0.4"
-
-fast-json-stable-stringify@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
- integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-
-fast-levenshtein@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
- integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
-
-fastq@^1.6.0:
- version "1.17.1"
- resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47"
- integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==
- dependencies:
- reusify "^1.0.4"
-
-file-entry-cache@^8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f"
- integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==
- dependencies:
- flat-cache "^4.0.0"
-
-file-type@^18.2.1:
- version "18.2.1"
- resolved "https://registry.yarnpkg.com/file-type/-/file-type-18.2.1.tgz#6d8f1fa3b079606f6ecf89483346f55fcd2c671b"
- integrity sha512-Yw5MtnMv7vgD2/6Bjmmuegc8bQEVA9GmAyaR18bMYWKqsWDG9wgYZ1j4I6gNMF5Y5JBDcUcjRQqNQx7Y8uotcg==
- dependencies:
- readable-web-to-node-stream "^3.0.2"
- strtok3 "^7.0.0"
- token-types "^5.0.1"
-
-fill-range@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
- integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
- dependencies:
- to-regex-range "^5.0.1"
-
-find-up@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
- integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
- dependencies:
- locate-path "^6.0.0"
- path-exists "^4.0.0"
-
-flat-cache@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c"
- integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==
- dependencies:
- flatted "^3.2.9"
- keyv "^4.5.4"
-
-flatted@^3.2.9:
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a"
- integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==
-
-glob-parent@^5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
- integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
- dependencies:
- is-glob "^4.0.1"
-
-glob-parent@^6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
- integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
- dependencies:
- is-glob "^4.0.3"
-
-globals@^14.0.0:
- version "14.0.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e"
- integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==
-
-globby@^11.1.0:
- version "11.1.0"
- resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
- integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
- dependencies:
- array-union "^2.1.0"
- dir-glob "^3.0.1"
- fast-glob "^3.2.9"
- ignore "^5.2.0"
- merge2 "^1.4.1"
- slash "^3.0.0"
-
-graphemer@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
- integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
-
-has-flag@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
- integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-
-ieee754@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
- integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-
-ignore@^5.2.0, ignore@^5.3.1:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef"
- integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==
-
-import-fresh@^3.2.1:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
- integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
- dependencies:
- parent-module "^1.0.0"
- resolve-from "^4.0.0"
-
-imurmurhash@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
- integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
-
-inherits@^2.0.3:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-is-extglob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
- integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
-
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
- integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
- dependencies:
- is-extglob "^2.1.1"
-
-is-number@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
- integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
-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==
-
-is-path-inside@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
- integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
- integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
-
-js-yaml@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
- integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
- dependencies:
- argparse "^2.0.1"
-
-json-buffer@3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
- integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
-
-json-schema-traverse@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
- integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
-
-json-stable-stringify-without-jsonify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
- integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
-
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==
-keyv@^4.5.4:
- version "4.5.4"
- resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
- integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
- dependencies:
- json-buffer "3.0.1"
-
-levn@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
- integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
- dependencies:
- prelude-ls "^1.2.1"
- type-check "~0.4.0"
-
-locate-path@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
- integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
- dependencies:
- p-locate "^5.0.0"
-
-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.merge@^4.6.2:
- version "4.6.2"
- resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
- integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
-
-lodash.snakecase@^4.1.1:
+lodash.snakecase@4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d"
integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==
@@ -871,221 +223,28 @@ lodash@^4.17.21:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-lru-cache@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
- integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
- dependencies:
- yallist "^4.0.0"
-
lunr@^2.3.9:
version "2.3.9"
resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1"
integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==
+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==
+
marked@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3"
integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==
-merge2@^1.3.0, merge2@^1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
- integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-
-micromatch@^4.0.4:
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
- integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
- dependencies:
- braces "^3.0.2"
- picomatch "^2.3.1"
-
-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@^3.0.5, minimatch@^3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
- integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimatch@^9.0.3, minimatch@^9.0.4:
+minimatch@^9.0.3:
version "9.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51"
integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==
dependencies:
brace-expansion "^2.0.1"
-ms@2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
- integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-
-natural-compare@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
- integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-
-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"
-
-optionator@^0.9.3:
- version "0.9.3"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
- integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==
- dependencies:
- "@aashutoshrathi/word-wrap" "^1.2.3"
- deep-is "^0.1.3"
- fast-levenshtein "^2.0.6"
- levn "^0.4.1"
- prelude-ls "^1.2.1"
- type-check "^0.4.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"
-
-p-limit@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
- integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
- dependencies:
- yocto-queue "^0.1.0"
-
-p-locate@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
- integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
- dependencies:
- p-limit "^3.0.2"
-
-parent-module@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
- integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
- dependencies:
- callsites "^3.0.0"
-
-path-exists@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
- integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
-
-path-key@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
- integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
-
-path-type@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
- integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-
-peek-readable@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-5.0.0.tgz#7ead2aff25dc40458c60347ea76cfdfd63efdfec"
- integrity sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==
-
-picomatch@^2.3.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
- integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
-
-prelude-ls@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
- integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
-
-punycode@^2.1.0:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
- integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
-
-queue-microtask@^1.2.2:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
- integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
-
-readable-stream@^3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
- integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
- dependencies:
- inherits "^2.0.3"
- string_decoder "^1.1.1"
- util-deprecate "^1.0.1"
-
-readable-web-to-node-stream@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb"
- integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==
- dependencies:
- readable-stream "^3.6.0"
-
-resolve-from@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
- integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-
-reusify@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
- integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
-
-run-parallel@^1.1.9:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
- integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
- dependencies:
- queue-microtask "^1.2.2"
-
-safe-buffer@~5.2.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
- integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-
-semver@^7.6.0:
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d"
- integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
- dependencies:
- lru-cache "^6.0.0"
-
-shebang-command@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
- integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
- dependencies:
- shebang-regex "^3.0.0"
-
-shebang-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
- integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-
shiki@^0.14.7:
version "0.14.7"
resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.7.tgz#c3c9e1853e9737845f1d2ef81b31bcfb07056d4e"
@@ -1096,112 +255,16 @@ shiki@^0.14.7:
vscode-oniguruma "^1.7.0"
vscode-textmate "^8.0.0"
-slash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
- integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-
-streamsearch@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
- integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
-
-string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
-strip-ansi@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
- integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
- dependencies:
- ansi-regex "^5.0.1"
-
-strip-json-comments@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
- integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-
-strtok3@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-7.0.0.tgz#868c428b4ade64a8fd8fee7364256001c1a4cbe5"
- integrity sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==
- dependencies:
- "@tokenizer/token" "^0.3.0"
- peek-readable "^5.0.0"
-
-supports-color@^7.1.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
- integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
- dependencies:
- has-flag "^4.0.0"
-
-text-table@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
- integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
-
-to-regex-range@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
- integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
- dependencies:
- is-number "^7.0.0"
-
-token-types@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/token-types/-/token-types-5.0.1.tgz#aa9d9e6b23c420a675e55413b180635b86a093b4"
- integrity sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==
- dependencies:
- "@tokenizer/token" "^0.3.0"
- ieee754 "^1.2.1"
-
-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-api-utils@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1"
- integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==
-
-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.3.0:
+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==
-tslib@^2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf"
- integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==
-
-type-check@^0.4.0, type-check@~0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
- integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
- dependencies:
- prelude-ls "^1.2.1"
-
-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"
@@ -1212,43 +275,20 @@ typedoc@^0.25.13:
minimatch "^9.0.3"
shiki "^0.14.7"
-typescript-eslint@^7.6.0:
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-7.6.0.tgz#12dd1de864bedc39df8180ea44a585571586291b"
- integrity sha512-LY6vH6F1l5jpGqRtU+uK4+mOecIb4Cd4kaz1hAiJrgnNiHUA8wiw8BkJyYS+MRLM69F1QuSKwtGlQqnGl1Rc6w==
- dependencies:
- "@typescript-eslint/eslint-plugin" "7.6.0"
- "@typescript-eslint/parser" "7.6.0"
- "@typescript-eslint/utils" "7.6.0"
-
-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==
-
-undici@^5.20.0:
- version "5.21.0"
- resolved "https://registry.yarnpkg.com/undici/-/undici-5.21.0.tgz#b00dfc381f202565ab7f52023222ab862bb2494f"
- integrity sha512-HOjK8l6a57b2ZGXOcUsI5NLfoTrfmbOl90ixJDl0AEFG4wgHNDQxtZy15/ZQp7HhjkpaGlp/eneMgtsu1dIlUA==
- dependencies:
- busboy "^1.6.0"
-
-uri-js@^4.2.2:
- version "4.4.1"
- resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
- integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
- dependencies:
- punycode "^2.1.0"
+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==
-util-deprecate@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
- integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+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"
@@ -1260,42 +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"
-
-which@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
- integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
- dependencies:
- isexe "^2.0.0"
-
-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.12.1:
- version "8.13.0"
- resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0"
- integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==
-
-yallist@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
- integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-
-yocto-queue@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
- integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
+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==
A wrapper of Client that provides a support for the TempChannelsManager.
+- Preparing search index...
- The search index is not available
@hunteroi/discord-temp-channelsClass ClientWithTempManager
A wrapper of Client that provides a support for the TempChannelsManager.
Export
ClientWithTempManager
-Hierarchy
Index
Constructors
Hierarchy
Index
Constructors
Properties
Constructors
constructor
Creates an instance of ClientWithTempManager.
Parameters
Optional
options: ClientOptionsOptions for the client
Returns ClientWithTempManager
Memberof
ClientWithTempManager
-Properties
Readonly
tempAn instance of TempChannelsManager that currently manages all the temporary channels for the client.
+Properties
Readonly
tempAn instance of TempChannelsManager that currently manages all the temporary channels for the client.
Name
ClientWithTempManager#tempChannelsManager
-Settings
Member Visibility
Theme
On This Page
Settings
Member Visibility
Theme
On This Page