Update bot to discord.js v13 (#125)
* Update bot to discord.js v13 * Remove debug code
This commit is contained in:
parent
2ca9a40458
commit
39c06fbc8e
22 changed files with 125 additions and 92 deletions
4
.github/workflows/testing.yml
vendored
4
.github/workflows/testing.yml
vendored
|
@ -13,7 +13,7 @@ jobs:
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [12.x, 14.x, 16.x]
|
node-version: [16.x]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
@ -23,5 +23,5 @@ jobs:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
- run: yarn install
|
- run: yarn install
|
||||||
- run: yarn build
|
- run: yarn build
|
||||||
- run: yarn test --coverage
|
- run: yarn test
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/jest": "^27.0.3",
|
"@types/jest": "^27.0.3",
|
||||||
"@types/uuid": "^8.3.4",
|
"@types/uuid": "^8.3.4",
|
||||||
"discord.js": "12.5.3",
|
"discord.js": "^13.6.0",
|
||||||
"dotenv": "^10.0.0",
|
"dotenv": "^10.0.0",
|
||||||
"emoji-regex": "^9.2.0",
|
"emoji-regex": "^9.2.0",
|
||||||
"jest": "^27.4.5",
|
"jest": "^27.4.5",
|
||||||
|
|
|
@ -25,8 +25,8 @@ export class CoreClient extends Client {
|
||||||
return this._eventItems;
|
return this._eventItems;
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor(devmode: boolean = false) {
|
constructor(intents: number[], devmode: boolean = false) {
|
||||||
super();
|
super({ intents: intents });
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
|
||||||
DefaultValues.useDevPrefix = devmode;
|
DefaultValues.useDevPrefix = devmode;
|
||||||
|
@ -49,7 +49,9 @@ export class CoreClient extends Client {
|
||||||
return;
|
return;
|
||||||
});
|
});
|
||||||
|
|
||||||
super.on("message", (message) => this._events.onMessage(message, this._commandItems));
|
super.on("message", (message) => {
|
||||||
|
this._events.onMessage(message, this._commandItems)
|
||||||
|
});
|
||||||
super.on("ready", this._events.onReady);
|
super.on("ready", this._events.onReady);
|
||||||
|
|
||||||
super.login(process.env.BOT_TOKEN);
|
super.login(process.env.BOT_TOKEN);
|
||||||
|
|
|
@ -11,9 +11,9 @@ export default class About extends Command {
|
||||||
|
|
||||||
public override execute(context: ICommandContext): ICommandReturnContext {
|
public override execute(context: ICommandContext): ICommandReturnContext {
|
||||||
const embed = new PublicEmbed(context, "About", "")
|
const embed = new PublicEmbed(context, "About", "")
|
||||||
.addField("Version", process.env.BOT_VER)
|
.addField("Version", process.env.BOT_VER!)
|
||||||
.addField("Author", process.env.BOT_AUTHOR)
|
.addField("Author", process.env.BOT_AUTHOR!)
|
||||||
.addField("Date", process.env.BOT_DATE);
|
.addField("Date", process.env.BOT_DATE!);
|
||||||
|
|
||||||
embed.SendToCurrentChannel();
|
embed.SendToCurrentChannel();
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ export default class Ban extends Command {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const targetMember = context.message.guild?.member(targetUser);
|
const targetMember = context.message.guild?.members.cache.find(x => x.user.id == targetUser.id);
|
||||||
|
|
||||||
if (!targetMember) {
|
if (!targetMember) {
|
||||||
const embed = new ErrorEmbed(context, "User is not in this server");
|
const embed = new ErrorEmbed(context, "User is not in this server");
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
import { CommandResponse } from "../constants/CommandResponse";
|
|
||||||
import { ICommandContext } from "../contracts/ICommandContext";
|
import { ICommandContext } from "../contracts/ICommandContext";
|
||||||
import ErrorEmbed from "../helpers/embeds/ErrorEmbed";
|
|
||||||
import PublicEmbed from "../helpers/embeds/PublicEmbed";
|
import PublicEmbed from "../helpers/embeds/PublicEmbed";
|
||||||
import SettingsHelper from "../helpers/SettingsHelper";
|
import SettingsHelper from "../helpers/SettingsHelper";
|
||||||
import StringTools from "../helpers/StringTools";
|
|
||||||
import { Command } from "../type/command";
|
import { Command } from "../type/command";
|
||||||
|
|
||||||
export default class Disable extends Command {
|
export default class Disable extends Command {
|
||||||
|
|
|
@ -29,7 +29,7 @@ export default class Kick extends Command {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const targetMember = context.message.guild?.member(targetUser);
|
const targetMember = context.message.guild?.members.cache.find(x => x.user.id == targetUser.id);
|
||||||
|
|
||||||
if (!targetMember) {
|
if (!targetMember) {
|
||||||
const embed = new ErrorEmbed(context, "User is not in this server");
|
const embed = new ErrorEmbed(context, "User is not in this server");
|
||||||
|
|
|
@ -29,7 +29,7 @@ export default class Mute extends Command {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const targetMember = context.message.guild?.member(targetUser);
|
const targetMember = context.message.guild?.members.cache.find(x => x.user.id == targetUser.id);
|
||||||
|
|
||||||
if (!targetMember) {
|
if (!targetMember) {
|
||||||
const embed = new ErrorEmbed(context, "User is not in this server");
|
const embed = new ErrorEmbed(context, "User is not in this server");
|
||||||
|
|
|
@ -49,14 +49,14 @@ export default class Poll extends Command {
|
||||||
|
|
||||||
const embed = new PublicEmbed(context, title, description.join("\n"));
|
const embed = new PublicEmbed(context, title, description.join("\n"));
|
||||||
|
|
||||||
const message = await context.message.channel.send(embed);
|
const message = await context.message.channel.send({ embeds: [ embed ]});
|
||||||
|
|
||||||
description.forEach(async (value, index) => {
|
description.forEach(async (value, index) => {
|
||||||
await message.react(reactionEmojis[index]);
|
await message.react(reactionEmojis[index]);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (context.message.deletable) {
|
if (context.message.deletable) {
|
||||||
await context.message.delete({ reason: "Poll command" });
|
await context.message.delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import { ICommandContext } from "../contracts/ICommandContext";
|
import { ICommandContext } from "../contracts/ICommandContext";
|
||||||
import ICommandReturnContext from "../contracts/ICommandReturnContext";
|
|
||||||
import Server from "../entity/Server";
|
import Server from "../entity/Server";
|
||||||
import ErrorEmbed from "../helpers/embeds/ErrorEmbed";
|
import ErrorEmbed from "../helpers/embeds/ErrorEmbed";
|
||||||
import PublicEmbed from "../helpers/embeds/PublicEmbed";
|
import PublicEmbed from "../helpers/embeds/PublicEmbed";
|
||||||
|
|
|
@ -29,7 +29,7 @@ export default class Unmute extends Command {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const targetMember = context.message.guild?.member(targetUser);
|
const targetMember = context.message.guild?.members.cache.find(x => x.user.id == targetUser.id);
|
||||||
|
|
||||||
if (!targetMember) {
|
if (!targetMember) {
|
||||||
const embed = new ErrorEmbed(context, "User is not in this server");
|
const embed = new ErrorEmbed(context, "User is not in this server");
|
||||||
|
|
|
@ -28,7 +28,7 @@ export default class Warn extends Command {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const member = context.message.guild?.member(user);
|
const member = context.message.guild?.members.cache.find(x => x.user.id == user.id);
|
||||||
|
|
||||||
if (!member) {
|
if (!member) {
|
||||||
const errorEmbed = new ErrorEmbed(context, "User is not in this server");
|
const errorEmbed = new ErrorEmbed(context, "User is not in this server");
|
||||||
|
|
|
@ -12,8 +12,8 @@ export default class MemberEvents extends Event {
|
||||||
public override async guildMemberAdd(member: GuildMember): Promise<IEventReturnContext> {
|
public override async guildMemberAdd(member: GuildMember): Promise<IEventReturnContext> {
|
||||||
const embed = new EventEmbed(member.guild, "Member Joined");
|
const embed = new EventEmbed(member.guild, "Member Joined");
|
||||||
embed.AddUser("User", member.user, true);
|
embed.AddUser("User", member.user, true);
|
||||||
embed.addField("Created", member.user.createdAt);
|
embed.addField("Created", member.user.createdAt.toISOString());
|
||||||
embed.setFooter(`Id: ${member.user.id}`);
|
embed.setFooter({ text: `Id: ${member.user.id}` });
|
||||||
|
|
||||||
await embed.SendToMemberLogsChannel();
|
await embed.SendToMemberLogsChannel();
|
||||||
|
|
||||||
|
@ -25,8 +25,8 @@ export default class MemberEvents extends Event {
|
||||||
public override async guildMemberRemove(member: GuildMember): Promise<IEventReturnContext> {
|
public override async guildMemberRemove(member: GuildMember): Promise<IEventReturnContext> {
|
||||||
const embed = new EventEmbed(member.guild, "Member Left");
|
const embed = new EventEmbed(member.guild, "Member Left");
|
||||||
embed.AddUser("User", member.user, true);
|
embed.AddUser("User", member.user, true);
|
||||||
embed.addField("Joined", member.joinedAt);
|
embed.addField("Joined", member.joinedAt?.toISOString() || "n/a");
|
||||||
embed.setFooter(`Id: ${member.user.id}`);
|
embed.setFooter({ text: `Id: ${member.user.id}` });
|
||||||
|
|
||||||
await embed.SendToMemberLogsChannel();
|
await embed.SendToMemberLogsChannel();
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ export default class GuildMemberUpdate {
|
||||||
embed.AddUser("User", this.newMember.user, true);
|
embed.AddUser("User", this.newMember.user, true);
|
||||||
embed.addField("Before", oldNickname, true);
|
embed.addField("Before", oldNickname, true);
|
||||||
embed.addField("After", newNickname, true);
|
embed.addField("After", newNickname, true);
|
||||||
embed.setFooter(`Id: ${this.newMember.user.id}`);
|
embed.setFooter({ text: `Id: ${this.newMember.user.id}` });
|
||||||
|
|
||||||
await embed.SendToMemberLogsChannel();
|
await embed.SendToMemberLogsChannel();
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ export default class MessageEvents extends Event {
|
||||||
|
|
||||||
const embed = new EventEmbed(message.guild, "Message Deleted");
|
const embed = new EventEmbed(message.guild, "Message Deleted");
|
||||||
embed.AddUser("User", message.author, true);
|
embed.AddUser("User", message.author, true);
|
||||||
embed.addField("Channel", message.channel, true);
|
embed.addField("Channel", message.channel.toString(), true);
|
||||||
embed.addField("Content", `\`\`\`${message.content || "*none*"}\`\`\``);
|
embed.addField("Content", `\`\`\`${message.content || "*none*"}\`\`\``);
|
||||||
|
|
||||||
if (message.attachments.size > 0) {
|
if (message.attachments.size > 0) {
|
||||||
|
@ -60,7 +60,7 @@ export default class MessageEvents extends Event {
|
||||||
|
|
||||||
const embed = new EventEmbed(newMessage.guild, "Message Edited");
|
const embed = new EventEmbed(newMessage.guild, "Message Edited");
|
||||||
embed.AddUser("User", newMessage.author, true);
|
embed.AddUser("User", newMessage.author, true);
|
||||||
embed.addField("Channel", newMessage.channel, true);
|
embed.addField("Channel", newMessage.channel.toString(), true);
|
||||||
embed.addField("Before", `\`\`\`${oldMessage.content || "*none*"}\`\`\``);
|
embed.addField("Before", `\`\`\`${oldMessage.content || "*none*"}\`\`\``);
|
||||||
embed.addField("After", `\`\`\`${newMessage.content || "*none*"}\`\`\``);
|
embed.addField("After", `\`\`\`${newMessage.content || "*none*"}\`\`\``);
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ import { ICommandContext } from "../../contracts/ICommandContext";
|
||||||
export default class ErrorEmbed extends MessageEmbed {
|
export default class ErrorEmbed extends MessageEmbed {
|
||||||
public context: ICommandContext;
|
public context: ICommandContext;
|
||||||
|
|
||||||
constructor(context: ICommandContext, message: String) {
|
constructor(context: ICommandContext, message: string) {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
super.setColor(0xd52803);
|
super.setColor(0xd52803);
|
||||||
|
@ -14,6 +14,6 @@ export default class ErrorEmbed extends MessageEmbed {
|
||||||
}
|
}
|
||||||
|
|
||||||
public SendToCurrentChannel() {
|
public SendToCurrentChannel() {
|
||||||
this.context.message.channel.send(this);
|
this.context.message.channel.send({ embeds: [ this ]});
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -23,7 +23,7 @@ export default class EventEmbed extends MessageEmbed {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public AddReason(message: String) {
|
public AddReason(message: string) {
|
||||||
this.addField("Reason", message || "*none*");
|
this.addField("Reason", message || "*none*");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ export default class EventEmbed extends MessageEmbed {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
channel.send(this);
|
channel.send({embeds: [ this ]});
|
||||||
}
|
}
|
||||||
|
|
||||||
public async SendToMessageLogsChannel() {
|
public async SendToMessageLogsChannel() {
|
||||||
|
|
|
@ -25,13 +25,13 @@ export default class LogEmbed extends MessageEmbed {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public AddReason(message: String) {
|
public AddReason(message: string) {
|
||||||
this.addField("Reason", message || "*none*");
|
this.addField("Reason", message || "*none*");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send methods
|
// Send methods
|
||||||
public SendToCurrentChannel() {
|
public SendToCurrentChannel() {
|
||||||
this.context.message.channel.send(this);
|
this.context.message.channel.send({ embeds: [ this ]});
|
||||||
}
|
}
|
||||||
|
|
||||||
public SendToChannel(name: string) {
|
public SendToChannel(name: string) {
|
||||||
|
@ -44,7 +44,7 @@ export default class LogEmbed extends MessageEmbed {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
channel.send(this);
|
channel.send({ embeds: [ this ]});
|
||||||
}
|
}
|
||||||
|
|
||||||
public async SendToMessageLogsChannel() {
|
public async SendToMessageLogsChannel() {
|
||||||
|
|
|
@ -15,12 +15,12 @@ export default class PublicEmbed extends MessageEmbed {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Detail methods
|
// Detail methods
|
||||||
public AddReason(message: String) {
|
public AddReason(message: string) {
|
||||||
this.addField("Reason", message || "*none*");
|
this.addField("Reason", message || "*none*");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send methods
|
// Send methods
|
||||||
public SendToCurrentChannel() {
|
public SendToCurrentChannel() {
|
||||||
this.context.message.channel.send(this);
|
this.context.message.channel.send({ embeds: [ this ]});
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
import { Channel, Guild, User, GuildMember, Message, PartialDMChannel, PartialGuildMember, PartialMessage } from "discord.js";
|
import { Channel, Guild, GuildMember, Message, PartialDMChannel, PartialGuildMember, PartialMessage, GuildBan } from "discord.js";
|
||||||
|
|
||||||
export class Event {
|
export class Event {
|
||||||
public channelCreate(channel: Channel) {
|
public channelCreate(channel: Channel) {
|
||||||
|
@ -13,11 +13,11 @@ export class Event {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public guildBanAdd(guild: Guild, user: User) {
|
public guildBanAdd(ban: GuildBan) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public guildBanRemove(guild: Guild, user: User) {
|
public guildBanRemove(ban: GuildBan) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import { CoreClient } from "./client/client";
|
import { CoreClient } from "./client/client";
|
||||||
import * as dotenv from "dotenv";
|
import * as dotenv from "dotenv";
|
||||||
import registry from "./registry";
|
import registry from "./registry";
|
||||||
|
import { Intents } from "discord.js";
|
||||||
|
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
|
||||||
|
@ -20,7 +21,11 @@ requiredConfigs.forEach(config => {
|
||||||
|
|
||||||
const devmode = process.argv.find(x => x.toLowerCase() == "--dev") != null;
|
const devmode = process.argv.find(x => x.toLowerCase() == "--dev") != null;
|
||||||
|
|
||||||
const client = new CoreClient(devmode);
|
const client = new CoreClient([
|
||||||
|
Intents.FLAGS.GUILDS,
|
||||||
|
Intents.FLAGS.GUILD_MESSAGES,
|
||||||
|
Intents.FLAGS.GUILD_MEMBERS,
|
||||||
|
], devmode);
|
||||||
|
|
||||||
registry.RegisterCommands(client);
|
registry.RegisterCommands(client);
|
||||||
registry.RegisterEvents(client);
|
registry.RegisterEvents(client);
|
||||||
|
|
134
yarn.lock
134
yarn.lock
|
@ -286,19 +286,21 @@
|
||||||
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
|
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
|
||||||
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
|
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
|
||||||
|
|
||||||
"@discordjs/collection@^0.1.6":
|
"@discordjs/builders@^0.11.0":
|
||||||
version "0.1.6"
|
version "0.11.0"
|
||||||
resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-0.1.6.tgz#9e9a7637f4e4e0688fd8b2b5c63133c91607682c"
|
resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-0.11.0.tgz#4102abe3e0cd093501f3f71931df43eb92f5b0cc"
|
||||||
integrity sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ==
|
integrity sha512-ZTB8yJdJKrKlq44dpWkNUrAtEJEq0gqpb7ASdv4vmq6/mZal5kOv312hQ56I/vxwMre+VIkoHquNUAfnTbiYtg==
|
||||||
|
|
||||||
"@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:
|
dependencies:
|
||||||
asynckit "^0.4.0"
|
"@sindresorhus/is" "^4.2.0"
|
||||||
combined-stream "^1.0.8"
|
discord-api-types "^0.26.0"
|
||||||
mime-types "^2.1.12"
|
ts-mixer "^6.0.0"
|
||||||
|
tslib "^2.3.1"
|
||||||
|
zod "^3.11.6"
|
||||||
|
|
||||||
|
"@discordjs/collection@^0.4.0":
|
||||||
|
version "0.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-0.4.0.tgz#b6488286a1cc7b41b644d7e6086f25a1c1e6f837"
|
||||||
|
integrity sha512-zmjq+l/rV35kE6zRrwe8BHqV78JvIh2ybJeZavBi5NySjWXqN3hmmAKg7kYMMXSeiWtSsMoZ/+MQi0DiQWy2lw==
|
||||||
|
|
||||||
"@istanbuljs/load-nyc-config@^1.0.0":
|
"@istanbuljs/load-nyc-config@^1.0.0":
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
|
@ -485,11 +487,21 @@
|
||||||
"@types/yargs" "^16.0.0"
|
"@types/yargs" "^16.0.0"
|
||||||
chalk "^4.0.0"
|
chalk "^4.0.0"
|
||||||
|
|
||||||
|
"@sapphire/async-queue@^1.1.9":
|
||||||
|
version "1.3.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.3.1.tgz#9d861e626dbffae02d808e13f823d4510e450a78"
|
||||||
|
integrity sha512-FFTlPOWZX1kDj9xCAsRzH5xEJfawg1lNoYAA+ecOWJMHOfiZYb1uXOI3ne9U4UILSEPwfE68p3T9wUHwIQfR0g==
|
||||||
|
|
||||||
"@sindresorhus/is@^4.0.0":
|
"@sindresorhus/is@^4.0.0":
|
||||||
version "4.2.0"
|
version "4.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.2.0.tgz#667bfc6186ae7c9e0b45a08960c551437176e1ca"
|
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.2.0.tgz#667bfc6186ae7c9e0b45a08960c551437176e1ca"
|
||||||
integrity sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==
|
integrity sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==
|
||||||
|
|
||||||
|
"@sindresorhus/is@^4.2.0":
|
||||||
|
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==
|
||||||
|
|
||||||
"@sinonjs/commons@^1.7.0":
|
"@sinonjs/commons@^1.7.0":
|
||||||
version "1.8.3"
|
version "1.8.3"
|
||||||
resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d"
|
resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d"
|
||||||
|
@ -610,6 +622,14 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
|
"@types/node-fetch@^2.5.12":
|
||||||
|
version "2.6.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.1.tgz#8f127c50481db65886800ef496f20bbf15518975"
|
||||||
|
integrity sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==
|
||||||
|
dependencies:
|
||||||
|
"@types/node" "*"
|
||||||
|
form-data "^3.0.0"
|
||||||
|
|
||||||
"@types/node@*":
|
"@types/node@*":
|
||||||
version "16.11.11"
|
version "16.11.11"
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.11.tgz#6ea7342dfb379ea1210835bada87b3c512120234"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.11.tgz#6ea7342dfb379ea1210835bada87b3c512120234"
|
||||||
|
@ -642,6 +662,13 @@
|
||||||
resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc"
|
resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc"
|
||||||
integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==
|
integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==
|
||||||
|
|
||||||
|
"@types/ws@^8.2.2":
|
||||||
|
version "8.5.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d"
|
||||||
|
integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==
|
||||||
|
dependencies:
|
||||||
|
"@types/node" "*"
|
||||||
|
|
||||||
"@types/yargs-parser@*":
|
"@types/yargs-parser@*":
|
||||||
version "20.2.1"
|
version "20.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129"
|
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129"
|
||||||
|
@ -664,13 +691,6 @@ abab@^2.0.3, abab@^2.0.5:
|
||||||
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a"
|
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a"
|
||||||
integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==
|
integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==
|
||||||
|
|
||||||
abort-controller@^3.0.0:
|
|
||||||
version "3.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
|
|
||||||
integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
|
|
||||||
dependencies:
|
|
||||||
event-target-shim "^5.0.0"
|
|
||||||
|
|
||||||
acorn-globals@^6.0.0:
|
acorn-globals@^6.0.0:
|
||||||
version "6.0.0"
|
version "6.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45"
|
resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45"
|
||||||
|
@ -1153,19 +1173,25 @@ diff-sequences@^27.4.0:
|
||||||
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5"
|
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5"
|
||||||
integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==
|
integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==
|
||||||
|
|
||||||
discord.js@12.5.3:
|
discord-api-types@^0.26.0:
|
||||||
version "12.5.3"
|
version "0.26.1"
|
||||||
resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-12.5.3.tgz#56820d473c24320871df9ea0bbc6b462f21cf85c"
|
resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.26.1.tgz#726f766ddc37d60da95740991d22cb6ef2ed787b"
|
||||||
integrity sha512-D3nkOa/pCkNyn6jLZnAiJApw2N9XrIsXUAdThf01i7yrEuqUmDGc7/CexVWwEcgbQR97XQ+mcnqJpmJ/92B4Aw==
|
integrity sha512-T5PdMQ+Y1MEECYMV5wmyi9VEYPagEDEi4S0amgsszpWY0VB9JJ/hEvM6BgLhbdnKky4gfmZEXtEEtojN8ZKJQQ==
|
||||||
|
|
||||||
|
discord.js@^13.6.0:
|
||||||
|
version "13.6.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-13.6.0.tgz#d8a8a591dbf25cbcf9c783d5ddf22c4694860475"
|
||||||
|
integrity sha512-tXNR8zgsEPxPBvGk3AQjJ9ljIIC6/LOPjzKwpwz8Y1Q2X66Vi3ZqFgRHYwnHKC0jC0F+l4LzxlhmOJsBZDNg9g==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@discordjs/collection" "^0.1.6"
|
"@discordjs/builders" "^0.11.0"
|
||||||
"@discordjs/form-data" "^3.0.1"
|
"@discordjs/collection" "^0.4.0"
|
||||||
abort-controller "^3.0.0"
|
"@sapphire/async-queue" "^1.1.9"
|
||||||
|
"@types/node-fetch" "^2.5.12"
|
||||||
|
"@types/ws" "^8.2.2"
|
||||||
|
discord-api-types "^0.26.0"
|
||||||
|
form-data "^4.0.0"
|
||||||
node-fetch "^2.6.1"
|
node-fetch "^2.6.1"
|
||||||
prism-media "^1.2.9"
|
ws "^8.4.0"
|
||||||
setimmediate "^1.0.5"
|
|
||||||
tweetnacl "^1.0.3"
|
|
||||||
ws "^7.4.4"
|
|
||||||
|
|
||||||
domexception@^2.0.1:
|
domexception@^2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
|
@ -1253,11 +1279,6 @@ esutils@^2.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
|
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
|
||||||
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
|
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
|
||||||
|
|
||||||
event-target-shim@^5.0.0:
|
|
||||||
version "5.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
|
|
||||||
integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
|
|
||||||
|
|
||||||
execa@^5.0.0:
|
execa@^5.0.0:
|
||||||
version "5.1.1"
|
version "5.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
|
resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
|
||||||
|
@ -1331,6 +1352,15 @@ form-data@^3.0.0:
|
||||||
combined-stream "^1.0.8"
|
combined-stream "^1.0.8"
|
||||||
mime-types "^2.1.12"
|
mime-types "^2.1.12"
|
||||||
|
|
||||||
|
form-data@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
|
||||||
|
integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
|
||||||
|
dependencies:
|
||||||
|
asynckit "^0.4.0"
|
||||||
|
combined-stream "^1.0.8"
|
||||||
|
mime-types "^2.1.12"
|
||||||
|
|
||||||
fs.realpath@^1.0.0:
|
fs.realpath@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
||||||
|
@ -2452,11 +2482,6 @@ pretty-format@^27.0.0, pretty-format@^27.4.2:
|
||||||
ansi-styles "^5.0.0"
|
ansi-styles "^5.0.0"
|
||||||
react-is "^17.0.1"
|
react-is "^17.0.1"
|
||||||
|
|
||||||
prism-media@^1.2.9:
|
|
||||||
version "1.3.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/prism-media/-/prism-media-1.3.2.tgz#a1f04423ec15d22f3d62b1987b6a25dc49aad13b"
|
|
||||||
integrity sha512-L6UsGHcT6i4wrQhFF1aPK+MNYgjRqR2tUoIqEY+CG1NqVkMjPRKzS37j9f8GiYPlD6wG9ruBj+q5Ax+bH8Ik1g==
|
|
||||||
|
|
||||||
process-nextick-args@~2.0.0:
|
process-nextick-args@~2.0.0:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
||||||
|
@ -2612,11 +2637,6 @@ semver@^6.0.0, semver@^6.3.0:
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
||||||
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||||
|
|
||||||
setimmediate@^1.0.5:
|
|
||||||
version "1.0.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
|
|
||||||
integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
|
|
||||||
|
|
||||||
sha.js@^2.4.11:
|
sha.js@^2.4.11:
|
||||||
version "2.4.11"
|
version "2.4.11"
|
||||||
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
|
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
|
||||||
|
@ -2860,16 +2880,16 @@ ts-jest@^27.1.2:
|
||||||
semver "7.x"
|
semver "7.x"
|
||||||
yargs-parser "20.x"
|
yargs-parser "20.x"
|
||||||
|
|
||||||
tslib@^2.1.0:
|
ts-mixer@^6.0.0:
|
||||||
|
version "6.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/ts-mixer/-/ts-mixer-6.0.1.tgz#7c2627fb98047eb5f3c7f2fee39d1521d18fe87a"
|
||||||
|
integrity sha512-hvE+ZYXuINrx6Ei6D6hz+PTim0Uf++dYbK9FFifLNwQj+RwKquhQpn868yZsCtJYiclZF1u8l6WZxxKi+vv7Rg==
|
||||||
|
|
||||||
|
tslib@^2.1.0, tslib@^2.3.1:
|
||||||
version "2.3.1"
|
version "2.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
|
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
|
||||||
integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
|
integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
|
||||||
|
|
||||||
tweetnacl@^1.0.3:
|
|
||||||
version "1.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596"
|
|
||||||
integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==
|
|
||||||
|
|
||||||
type-check@~0.3.2:
|
type-check@~0.3.2:
|
||||||
version "0.3.2"
|
version "0.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
|
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
|
||||||
|
@ -3047,11 +3067,16 @@ write-file-atomic@^3.0.0:
|
||||||
signal-exit "^3.0.2"
|
signal-exit "^3.0.2"
|
||||||
typedarray-to-buffer "^3.1.5"
|
typedarray-to-buffer "^3.1.5"
|
||||||
|
|
||||||
ws@^7.4.4, ws@^7.4.6:
|
ws@^7.4.6:
|
||||||
version "7.5.6"
|
version "7.5.6"
|
||||||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b"
|
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b"
|
||||||
integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==
|
integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==
|
||||||
|
|
||||||
|
ws@^8.4.0:
|
||||||
|
version "8.5.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f"
|
||||||
|
integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==
|
||||||
|
|
||||||
xml-name-validator@^3.0.0:
|
xml-name-validator@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
|
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
|
||||||
|
@ -3133,3 +3158,8 @@ zen-observable@0.8.15:
|
||||||
version "0.8.15"
|
version "0.8.15"
|
||||||
resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15"
|
resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15"
|
||||||
integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==
|
integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==
|
||||||
|
|
||||||
|
zod@^3.11.6:
|
||||||
|
version "3.14.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/zod/-/zod-3.14.4.tgz#e678fe9e5469f4663165a5c35c8f3dc66334a5d6"
|
||||||
|
integrity sha512-U9BFLb2GO34Sfo9IUYp0w3wJLlmcyGoMd75qU9yf+DrdGA4kEx6e+l9KOkAlyUO0PSQzZCa3TR4qVlcmwqSDuw==
|
||||||
|
|
Loading…
Reference in a new issue