aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--ecosystem.config.js4
-rw-r--r--package.json3
-rw-r--r--src/commands/config/config.ts6
-rw-r--r--src/commands/config/features.ts6
-rw-r--r--src/commands/info/guildInfo.ts2
-rw-r--r--src/commands/info/help.ts3
-rw-r--r--src/commands/info/links.ts2
-rw-r--r--src/commands/info/snowflake.ts2
-rw-r--r--src/commands/info/userInfo.ts6
-rw-r--r--src/commands/leveling/leaderboard.ts13
-rw-r--r--src/commands/leveling/level.ts12
-rw-r--r--src/commands/moderation/modlog.ts2
-rw-r--r--src/commands/moderation/unban.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushClient.ts15
-rw-r--r--src/lib/extensions/discord-akairo/BushClientUtil.ts56
-rw-r--r--src/lib/extensions/discord.js/BushClientEvents.d.ts5
-rw-r--r--src/lib/extensions/discord.js/BushGuildMember.ts5
-rw-r--r--src/lib/models/ActivePunishment.ts2
-rw-r--r--src/lib/utils/BushLogger.ts2
-rw-r--r--src/listeners/message/autoThread.ts15
-rw-r--r--src/listeners/other/promiseRejection.ts7
-rw-r--r--src/listeners/other/uncaughtException.ts7
-rw-r--r--src/listeners/other/warning.ts22
-rw-r--r--yarn.lock193
25 files changed, 241 insertions, 153 deletions
diff --git a/README.md b/README.md
index 62affbe..9576bf2 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
<!-- markdownlint-disable-file MD010 MD033 MD041 -->
-<a href="https://discord.com/api/oauth2/authorize?client_id=767478359348740148&permissions=2147483647&scope=bot%20applications.commands"><h1 align="center" > BushBot </h1></a>
+<a href="https://discord.com/api/oauth2/authorize?client_id=767478359348740148&permissions=5368709119918&scope=bot%20applications.commands"><h1 align="center" > BushBot </h1></a>
<div align="center">
<!-- lint -->
diff --git a/ecosystem.config.js b/ecosystem.config.js
index 95db01c..bcaf56e 100644
--- a/ecosystem.config.js
+++ b/ecosystem.config.js
@@ -33,7 +33,7 @@ module.exports = {
deploy: {
production: {
'user': 'pi',
- 'host': '192.168.1.240',
+ 'host': '192.168.1.210',
'ref': 'origin/master',
'repo': 'https://github.com/NotEnoughUpdates/bush-bot.git',
'path': '/code/bush-bot',
@@ -41,7 +41,7 @@ module.exports = {
},
beta: {
'user': 'pi',
- 'host': '192.168.1.240',
+ 'host': '192.168.1.210',
'ref': 'origin/beta',
'repo': 'https://github.com/NotEnoughUpdates/bush-bot.git',
'path': '/code/bush-bot-beta',
diff --git a/package.json b/package.json
index d636695..3dfb25b 100644
--- a/package.json
+++ b/package.json
@@ -56,9 +56,8 @@
"chalk": "^4.1.1",
"common-tags": "^1.8.0",
"discord-akairo": "NotEnoughUpdates/discord-akairo",
- "discord-akairo-message-util": "NotEnoughUpdates/discord-akairo-message-util",
"discord-api-types": "0.22.0",
- "discord.js": "NotEnoughUpdates/discord.js",
+ "discord.js": "npm:@notenoughupdates/discord.js@13.2.0-dev",
"discord.js-minesweeper": "^1.0.6",
"esbuild": "^0.12.11",
"eslint": "^7.29.0",
diff --git a/src/commands/config/config.ts b/src/commands/config/config.ts
index 6e7373c..3f1fc8c 100644
--- a/src/commands/config/config.ts
+++ b/src/commands/config/config.ts
@@ -240,10 +240,8 @@ export default class SettingsCommand extends BushCommand {
}
}
const collector = msg.createMessageComponentCollector({
- channel: message.channel ?? undefined,
- guild: message.guild,
- message: message as Message,
- time: 300_000
+ time: 300_000,
+ filter: (i) => i.guildId === message.guildId && i.message.id === message.id
});
collector.on('collect', async (interaction: MessageComponentInteraction) => {
diff --git a/src/commands/config/features.ts b/src/commands/config/features.ts
index 8010ab9..743b243 100644
--- a/src/commands/config/features.ts
+++ b/src/commands/config/features.ts
@@ -28,11 +28,9 @@ export default class FeaturesCommand extends BushCommand {
const components = this.generateComponents(guildFeaturesArr, false);
const msg = (await message.util.reply({ embeds: [featureEmbed], components: [components] })) as Message;
const collector = msg.createMessageComponentCollector({
- channel: message.channel ?? undefined,
- guild: message.guild,
componentType: 'SELECT_MENU',
- message: message as Message,
- time: 300_000
+ time: 300_000,
+ filter: (i) => i.guildId === message.guildId && i.message.id === message.id
});
collector.on('collect', async (interaction: SelectMenuInteraction) => {
diff --git a/src/commands/info/guildInfo.ts b/src/commands/info/guildInfo.ts
index f70b741..f1db783 100644
--- a/src/commands/info/guildInfo.ts
+++ b/src/commands/info/guildInfo.ts
@@ -105,7 +105,7 @@ export default class GuildInfoCommand extends BushCommand {
guildAbout.push(
`**Owner:** ${guild.members.cache.get(guild.ownerId)?.user.tag}`,
- `**Created** ${guild.createdAt.toLocaleString()} (${util.dateDelta(guild.createdAt)})`,
+ `**Created** ${util.timestamp(guild.createdAt)} (${util.dateDelta(guild.createdAt)})`,
`**Members:** ${guild.memberCount.toLocaleString() ?? 0} (${util.emojis.onlineCircle} ${
guild.approximatePresenceCount?.toLocaleString() ?? 0
}, ${util.emojis.offlineCircle} ${(guild.memberCount - (guild.approximatePresenceCount ?? 0)).toLocaleString() ?? 0})`,
diff --git a/src/commands/info/help.ts b/src/commands/info/help.ts
index 1338f8a..8c97ba8 100644
--- a/src/commands/info/help.ts
+++ b/src/commands/info/help.ts
@@ -1,7 +1,6 @@
import { BushCommand, BushMessage, BushSlashMessage } from '@lib';
import { MessageActionRow, MessageButton, MessageEmbed } from 'discord.js';
import packageDotJSON from '../../../package.json';
-
export default class HelpCommand extends BushCommand {
public constructor() {
super('help', {
@@ -61,7 +60,7 @@ export default class HelpCommand extends BushCommand {
label: 'Invite Me',
url: `https://discord.com/api/oauth2/authorize?client_id=${
client.user!.id
- }&permissions=2147483647&scope=bot%20applications.commands`
+ }&permissions=5368709119918&scope=bot%20applications.commands`
})
);
}
diff --git a/src/commands/info/links.ts b/src/commands/info/links.ts
index 29152d9..b3a762a 100644
--- a/src/commands/info/links.ts
+++ b/src/commands/info/links.ts
@@ -27,7 +27,7 @@ export default class LinksCommand extends BushCommand {
label: 'Invite Me',
url: `https://discord.com/api/oauth2/authorize?client_id=${
client.user!.id
- }&permissions=2147483647&scope=bot%20applications.commands`
+ }&permissions=5368709119918&scope=bot%20applications.commands`
}),
new MessageButton({
style: 'LINK',
diff --git a/src/commands/info/snowflake.ts b/src/commands/info/snowflake.ts
index 8d6129b..df11bce 100644
--- a/src/commands/info/snowflake.ts
+++ b/src/commands/info/snowflake.ts
@@ -139,7 +139,7 @@ export default class SnowflakeCommand extends BushCommand {
const deconstructedSnowflake: DeconstructedSnowflake = SnowflakeUtil.deconstruct(snowflake);
const snowflakeInfo = [
`**Timestamp:** ${deconstructedSnowflake.timestamp}`,
- `**Created:** ${deconstructedSnowflake.date.toLocaleString()}`,
+ `**Created:** ${util.timestamp(deconstructedSnowflake.date)}`,
`**Worker ID:** ${deconstructedSnowflake.workerId}`,
`**Process ID:** ${deconstructedSnowflake.processId}`,
`**Increment:** ${deconstructedSnowflake.increment}`
diff --git a/src/commands/info/userInfo.ts b/src/commands/info/userInfo.ts
index 745dcf0..98ef3ae 100644
--- a/src/commands/info/userInfo.ts
+++ b/src/commands/info/userInfo.ts
@@ -85,11 +85,11 @@ export default class UserInfoCommand extends BushCommand {
else if (member?.permissions.has('ADMINISTRATOR')) emojis.push(client.consts.mappings.otherEmojis.ADMIN);
if (member?.premiumSinceTimestamp) emojis.push(client.consts.mappings.otherEmojis.BOOSTER);
- const createdAt = user.createdAt.toLocaleString(),
+ const createdAt = util.timestamp(user.createdAt),
createdAtDelta = util.dateDelta(user.createdAt),
- joinedAt = member?.joinedAt?.toLocaleString(),
+ joinedAt = util.timestamp(member?.joinedAt),
joinedAtDelta = member && member.joinedAt ? util.dateDelta(member.joinedAt, 2) : undefined,
- premiumSince = member?.premiumSince?.toLocaleString(),
+ premiumSince = util.timestamp(member?.premiumSince),
premiumSinceDelta = member && member.premiumSince ? util.dateDelta(member.premiumSince, 2) : undefined;
// General Info
diff --git a/src/commands/leveling/leaderboard.ts b/src/commands/leveling/leaderboard.ts
index 953a6c5..4fb1765 100644
--- a/src/commands/leveling/leaderboard.ts
+++ b/src/commands/leveling/leaderboard.ts
@@ -41,8 +41,19 @@ export default class LeaderboardCommand extends BushCommand {
if (!message.guild) return await message.util.reply(`${util.emojis.error} This command can only be run in a server.`);
if (!(await message.guild.hasFeature('leveling')))
return await message.util.reply(
- `${util.emojis.error} This command can only be run in commands with the leveling feature enabled.`
+ `${util.emojis.error} This command can only be run in servers with the leveling feature enabled.${
+ message.member?.permissions.has('MANAGE_GUILD')
+ ? ` You can toggle features using the \`${
+ message.util.isSlash
+ ? '/'
+ : client.config.isDevelopment
+ ? 'dev '
+ : message.util.parsed?.prefix ?? client.config.prefix
+ }features\` command.`
+ : ''
+ }`
);
+
const ranks = (await Level.findAll({ where: { guild: message.guild.id } })).sort((a, b) => b.xp - a.xp);
const mapedRanks = ranks.map(
(val, index) => `\`${index + 1}\` <@${val.user}> - Level ${val.level} (${val.xp.toLocaleString()} xp)`
diff --git a/src/commands/leveling/level.ts b/src/commands/leveling/level.ts
index f14c005..33ad705 100644
--- a/src/commands/leveling/level.ts
+++ b/src/commands/leveling/level.ts
@@ -132,7 +132,17 @@ export default class LevelCommand extends BushCommand {
if (!message.guild) return await message.util.reply(`${util.emojis.error} This command can only be run in a server.`);
if (!(await message.guild.hasFeature('leveling')))
return await message.util.reply(
- `${util.emojis.error} This command can only be run in commands with the leveling feature enabled.`
+ `${util.emojis.error} This command can only be run in servers with the leveling feature enabled.${
+ message.member?.permissions.has('MANAGE_GUILD')
+ ? ` You can toggle features using the \`${
+ message.util.isSlash
+ ? '/'
+ : client.config.isDevelopment
+ ? 'dev '
+ : message.util.parsed?.prefix ?? client.config.prefix
+ }features\` command.`
+ : ''
+ }`
);
const user = args.user ?? message.author;
try {
diff --git a/src/commands/moderation/modlog.ts b/src/commands/moderation/modlog.ts
index d1a3900..c72ff39 100644
--- a/src/commands/moderation/modlog.ts
+++ b/src/commands/moderation/modlog.ts
@@ -53,7 +53,7 @@ export default class ModlogCommand extends BushCommand {
modLog.push(`**Moderator**: <@!${log.moderator}>`);
if (log.duration) modLog.push(`**Duration**: ${util.humanizeDuration(log.duration)}`);
modLog.push(`**Reason**: ${trim(log.reason ?? 'No Reason Specified.')}`);
- modLog.push(`**Date**: ${log.createdAt.toLocaleString()}`);
+ modLog.push(`**Date**: ${util.timestamp(log.createdAt)}`);
if (log.evidence) modLog.push(`**Evidence:** ${trim(log.evidence)}`);
return modLog.join(`\n`);
}
diff --git a/src/commands/moderation/unban.ts b/src/commands/moderation/unban.ts
index 5025ede..a319ff9 100644
--- a/src/commands/moderation/unban.ts
+++ b/src/commands/moderation/unban.ts
@@ -76,7 +76,7 @@ export default class UnbanCommand extends BushCommand {
case 'error creating modlog entry':
return `${util.emojis.error} While unbanning **${user.tag}**, there was an error creating a modlog entry, please report this to my developers.`;
case 'user not banned':
- return `${util.emojis.warn} **${user.tag}** but I tried to unban them anyways.`;
+ return `${util.emojis.warn} **${user.tag}** is not banned but I tried to unban them anyways.`;
case 'success':
return `${util.emojis.success} Successfully unbanned **${user.tag}**.`;
}
diff --git a/src/lib/extensions/discord-akairo/BushClient.ts b/src/lib/extensions/discord-akairo/BushClient.ts
index 7d84b5e..48ba90d 100644
--- a/src/lib/extensions/discord-akairo/BushClient.ts
+++ b/src/lib/extensions/discord-akairo/BushClient.ts
@@ -1,4 +1,3 @@
-import chalk from 'chalk';
import { AkairoClient, ContextMenuCommandHandler } from 'discord-akairo';
import {
Awaited,
@@ -21,7 +20,6 @@ import eventsIntercept from 'events-intercept';
import JSON5 from 'json5';
import 'json5/lib/register';
import path from 'path';
-import { exit } from 'process';
import readline from 'readline';
import { Sequelize } from 'sequelize';
import { abbreviatedNumberTypeCaster } from '../../../arguments/abbreviatedNumber';
@@ -292,7 +290,8 @@ export class BushClient<Ready extends boolean = boolean> extends AkairoClient<Re
dialect: 'postgres',
host: this.config.db.host,
port: this.config.db.port,
- logging: this.config.logging.db ? (sql) => this.logger.debug(sql) : false
+ logging: this.config.logging.db ? (sql) => this.logger.debug(sql) : false,
+ timezone: 'America/New_York'
});
}
@@ -337,9 +336,9 @@ export class BushClient<Ready extends boolean = boolean> extends AkairoClient<Re
inhibitors: this.inhibitorHandler,
tasks: this.taskHandler
};
- for (const loader of Object.keys(loaders)) {
+ for (const loader in loaders) {
try {
- loaders[loader as keyof typeof loaders].loadAll();
+ await loaders[loader as keyof typeof loaders].loadAll();
void this.logger.success('startup', `Successfully loaded <<${loader}>>.`, false);
} catch (e) {
void this.logger.error('startup', `Unable to load loader <<${loader}>> with error:\n${e?.stack || e}`, false);
@@ -367,9 +366,10 @@ export class BushClient<Ready extends boolean = boolean> extends AkairoClient<Re
} catch (e) {
await this.console.error(
'startup',
- `Failed to connect to <<database>> with error:\n${typeof e}` === 'object' ? e?.stack : e,
+ `Failed to connect to <<database>> with error:\n${util.inspect(e, { colors: true, depth: 1 })}`,
false
);
+ process.exit(2);
}
}
@@ -397,8 +397,7 @@ export class BushClient<Ready extends boolean = boolean> extends AkairoClient<Re
await this.#init();
await this.login(this.token!);
} catch (e) {
- await this.console.error('start', chalk.red(e?.stack || e), false);
- exit(2);
+ await this.console.error('start', util.inspect(e, { colors: true, depth: 1 }), false);
}
}
diff --git a/src/lib/extensions/discord-akairo/BushClientUtil.ts b/src/lib/extensions/discord-akairo/BushClientUtil.ts
index 38e1a06..c15ca1c 100644
--- a/src/lib/extensions/discord-akairo/BushClientUtil.ts
+++ b/src/lib/extensions/discord-akairo/BushClientUtil.ts
@@ -925,11 +925,12 @@ export class BushClientUtil extends ClientUtil {
#mapCredential(old: string): string {
const mapping = {
- ['token']: 'Main Token',
- ['devToken']: 'Dev Token',
- ['betaToken']: 'Beta Token',
- ['hypixelApiKey']: 'Hypixel Api Key',
- ['wolframAlphaAppId']: 'Wolfram|Alpha App ID'
+ token: 'Main Token',
+ devToken: 'Dev Token',
+ betaToken: 'Beta Token',
+ hypixelApiKey: 'Hypixel Api Key',
+ wolframAlphaAppId: 'Wolfram|Alpha App ID',
+ dbPassword: 'Database Password'
};
return mapping[old as keyof typeof mapping] || old;
}
@@ -938,8 +939,10 @@ export class BushClientUtil extends ClientUtil {
* Redacts credentials from a string
*/
public redact(text: string) {
- for (const credentialName in client.config.credentials) {
- const credential = client.config.credentials[credentialName as keyof typeof client.config.credentials];
+ for (const credentialName in { ...client.config.credentials, dbPassword: client.config.db.password }) {
+ const credential = { ...client.config.credentials, dbPassword: client.config.db.password }[
+ credentialName as keyof typeof client.config.credentials
+ ];
const replacement = this.#mapCredential(credentialName);
const escapeRegex = /[.*+?^${}()|[\]\\]/g;
text = text.replace(new RegExp(credential.toString().replace(escapeRegex, '\\$&'), 'g'), `[${replacement} Omitted]`);
@@ -1182,14 +1185,18 @@ export class BushClientUtil extends ClientUtil {
modlog: string;
extraInfo?: Snowflake;
}): Promise<ActivePunishment | null> {
- const expires = options.duration ? new Date(new Date().getTime() + options.duration ?? 0) : undefined;
+ const expires = options.duration ? new Date(+new Date() + options.duration ?? 0) : undefined;
const user = (await util.resolveNonCachedUser(options.user))!.id;
const guild = client.guilds.resolveId(options.guild)!;
const type = this.#findTypeEnum(options.type)!;
- const entry = options.extraInfo
- ? ActivePunishment.build({ user, type, guild, expires, modlog: options.modlog, extraInfo: options.extraInfo })
- : ActivePunishment.build({ user, type, guild, expires, modlog: options.modlog });
+ console.debug(expires);
+
+ const entry = ActivePunishment.build(
+ options.extraInfo
+ ? { user, type, guild, expires, modlog: options.modlog, extraInfo: options.extraInfo }
+ : { user, type, guild, expires, modlog: options.modlog }
+ );
return await entry.save().catch(async (e) => {
await util.handleError('createPunishmentEntry', e);
return null;
@@ -1200,6 +1207,7 @@ export class BushClientUtil extends ClientUtil {
type: 'mute' | 'ban' | 'role' | 'block';
user: BushGuildMemberResolvable;
guild: BushGuildResolvable;
+ extraInfo?: Snowflake;
}): Promise<boolean> {
const user = await util.resolveNonCachedUser(options.user);
const guild = client.guilds.resolveId(options.guild);
@@ -1211,7 +1219,9 @@ export class BushClientUtil extends ClientUtil {
const entries = await ActivePunishment.findAll({
// finding all cases of a certain type incase there were duplicates or something
- where: { user: user.id, guild: guild, type }
+ where: options.extraInfo
+ ? { user: user.id, guild: guild, type, extraInfo: options.extraInfo }
+ : { user: user.id, guild: guild, type }
}).catch(async (e) => {
await util.handleError('removePunishmentEntry', e);
success = false;
@@ -1243,6 +1253,28 @@ export class BushClientUtil extends ClientUtil {
else return humanizeDuration(duration, { language: 'en', maxDecimalPoints: 2 });
}
+ public timestampDuration(duration: number): string {
+ return `<t:${Math.round(duration / 1000)}:R>`;
+ }
+
+ /**
+ * **Styles:**
+ * - **t**: Short Time
+ * - **T**: Long Time
+ * - **d**: Short Date
+ * - **D**: Long Date
+ * - **f**: Short Date/Time
+ * - **F**: Long Date/Time
+ * - **R**: Relative Time
+ */
+ public timestamp<D extends Date | undefined | null>(
+ date: D,
+ style: 't' | 'T' | 'd' | 'D' | 'f' | 'F' | 'R' = 'f'
+ ): D extends Date ? string : undefined {
+ if (!date) return date as unknown as D extends Date ? string : undefined;
+ return `<t:${Math.round(date.getTime() / 1000)}:${style}>` as unknown as D extends Date ? string : undefined;
+ }
+
public dateDelta(date: Date, largest?: number) {
return this.humanizeDuration(moment(date).diff(moment()), largest ?? 3);
}
diff --git a/src/lib/extensions/discord.js/BushClientEvents.d.ts b/src/lib/extensions/discord.js/BushClientEvents.d.ts
index 96dc4c5..eb36153 100644
--- a/src/lib/extensions/discord.js/BushClientEvents.d.ts
+++ b/src/lib/extensions/discord.js/BushClientEvents.d.ts
@@ -85,7 +85,10 @@ export interface BushClientEvents extends ClientEvents {
inviteDelete: [invite: Invite];
messageCreate: [message: BushMessage];
messageDelete: [message: BushMessage | PartialBushMessage];
- messageReactionRemoveAll: [message: BushMessage | PartialBushMessage];
+ messageReactionRemoveAll: [
+ message: BushMessage | PartialBushMessage,
+ reactions: Collection<string, BushMessageReaction>
+ ];
messageReactionRemoveEmoji: [
reaction: BushMessageReaction | PartialBushMessageReaction
];
diff --git a/src/lib/extensions/discord.js/BushGuildMember.ts b/src/lib/extensions/discord.js/BushGuildMember.ts
index b5bc407..8e855f7 100644
--- a/src/lib/extensions/discord.js/BushGuildMember.ts
+++ b/src/lib/extensions/discord.js/BushGuildMember.ts
@@ -199,7 +199,7 @@ export class BushGuildMember extends GuildMember {
const ret = await (async () => {
if (options.addToModlog) {
const { log: modlog } = await util.createModLogEntry({
- type: ModLogType.PERM_PUNISHMENT_ROLE,
+ type: ModLogType.REMOVE_PUNISHMENT_ROLE,
guild: this.guild,
moderator: moderator.id,
user: this,
@@ -212,7 +212,8 @@ export class BushGuildMember extends GuildMember {
const punishmentEntrySuccess = await util.removePunishmentEntry({
type: 'role',
user: this,
- guild: this.guild
+ guild: this.guild,
+ extraInfo: options.role.id
});
if (!punishmentEntrySuccess) return 'error removing role entry';
diff --git a/src/lib/models/ActivePunishment.ts b/src/lib/models/ActivePunishment.ts
index f453426..12b0cab 100644
--- a/src/lib/models/ActivePunishment.ts
+++ b/src/lib/models/ActivePunishment.ts
@@ -131,7 +131,7 @@ export class ActivePunishment
}
},
extraInfo: {
- type: DataTypes.DATE,
+ type: DataTypes.STRING,
allowNull: true
},
expires: {
diff --git a/src/lib/utils/BushLogger.ts b/src/lib/utils/BushLogger.ts
index c2a9989..f00c19c 100644
--- a/src/lib/utils/BushLogger.ts
+++ b/src/lib/utils/BushLogger.ts
@@ -156,7 +156,7 @@ export class BushLogger {
.setDescription(`**[${header}]** ${this.#parseFormatting(this.#stripColor(newContent), '', true)}`)
.setColor(util.colors.warn)
.setTimestamp();
- await this.channelLog({ embeds: [embed] });
+ await this.channelError({ embeds: [embed] });
}
/**
diff --git a/src/listeners/message/autoThread.ts b/src/listeners/message/autoThread.ts
index 04f6bcf..a254337 100644
--- a/src/listeners/message/autoThread.ts
+++ b/src/listeners/message/autoThread.ts
@@ -6,8 +6,8 @@ import { BushClientEvents } from '../../lib/extensions/discord.js/BushClientEven
export default class autoThreadListener extends BushListener {
public constructor() {
super('autoThread', {
- emitter: 'commandHandler',
- event: 'messageInvalid',
+ emitter: 'client',
+ event: 'messageCreate',
category: 'message'
});
}
@@ -23,6 +23,17 @@ export default class autoThreadListener extends BushListener {
message.content.includes('<:yes:822211477624586260>')
)
return;
+
+ if (
+ (message.content.trim().startsWith(await message.guild.getSetting('prefix')) ||
+ message.content.trim().startsWith(`<@!${client.user!.id}>`) ||
+ message.content.trim().startsWith(`<@${client.user!.id}>`)) &&
+ client.commandHandler.aliases.some((alias) => message.content.includes(alias))
+ )
+ return;
+
+ if (message.thread) return;
+
// todo: make these configurable etc...
if (message.guild.id !== '516977525906341928') return; // mb
if (message.channel.id !== '714332750156660756') return; // neu-support-1
diff --git a/src/listeners/other/promiseRejection.ts b/src/listeners/other/promiseRejection.ts
index 130daa3..dc21c3f 100644
--- a/src/listeners/other/promiseRejection.ts
+++ b/src/listeners/other/promiseRejection.ts
@@ -10,8 +10,11 @@ export default class PromiseRejectionListener extends BushListener {
}
public override async exec(error: Error): Promise<void> {
- // eslint-disable-next-line @typescript-eslint/no-base-to-string
- void client.console.error('promiseRejection', `An unhanded promise rejection occurred:\n${error.stack ?? error}`, false);
+ void client.console.error(
+ 'promiseRejection',
+ `An unhanded promise rejection occurred:\n${typeof error == 'object' ? error.stack : error}`,
+ false
+ );
if (!error.message.includes('reason: getaddrinfo ENOTFOUND canary.discord.com'))
void client.console.channelError({
embeds: [await CommandErrorListener.generateErrorEmbed({ type: 'unhandledRejection', error: error })]
diff --git a/src/listeners/other/uncaughtException.ts b/src/listeners/other/uncaughtException.ts
index 47db37f..4ba47bd 100644
--- a/src/listeners/other/uncaughtException.ts
+++ b/src/listeners/other/uncaughtException.ts
@@ -10,8 +10,11 @@ export default class UncaughtExceptionListener extends BushListener {
}
public override async exec(error: Error): Promise<void> {
- // eslint-disable-next-line @typescript-eslint/no-base-to-string
- void client.console.error('uncaughtException', `An uncaught exception occurred:\n${error?.stack ?? error}`, false);
+ void client.console.error(
+ 'uncaughtException',
+ `An uncaught exception occurred:\n${typeof error == 'object' ? error.stack : error}`,
+ false
+ );
void client.console.channelError({
embeds: [await CommandErrorListener.generateErrorEmbed({ type: 'uncaughtException', error: error })]
});
diff --git a/src/listeners/other/warning.ts b/src/listeners/other/warning.ts
new file mode 100644
index 0000000..d85e9e3
--- /dev/null
+++ b/src/listeners/other/warning.ts
@@ -0,0 +1,22 @@
+import { BushListener } from '@lib';
+import CommandErrorListener from '../commands/commandError';
+
+export default class WarningListener extends BushListener {
+ public constructor() {
+ super('warning', {
+ emitter: 'process',
+ event: 'warning'
+ });
+ }
+
+ public override async exec(error: Error): Promise<void> {
+ void client.console.warn('warning', `A warning occurred:\n${typeof error == 'object' ? error.stack : error}`, false);
+ void client.console.channelError({
+ embeds: [
+ (await CommandErrorListener.generateErrorEmbed({ type: 'unhandledRejection', error: error }))
+ .setColor(util.colors.warn)
+ .setTitle('A Warning Occurred')
+ ]
+ });
+ }
+}
diff --git a/yarn.lock b/yarn.lock
index d1aa211..2baa269 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -32,7 +32,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/runtime@npm:^7.14.6":
+"@babel/runtime@npm:^7.15.4":
version: 7.15.4
resolution: "@babel/runtime@npm:7.15.4"
dependencies:
@@ -214,9 +214,9 @@ __metadata:
linkType: hard
"@sindresorhus/is@npm:^4.0.0, @sindresorhus/is@npm:^4.0.1":
- version: 4.0.1
- resolution: "@sindresorhus/is@npm:4.0.1"
- checksum: 92ae3f3d765bd5bc7355852cb9852091ebce6a76bb00eeb37d08e0247b9b3e742eae43ff3753de0c0c00876c526613db6433c9594ae0d17b305b3d6dbeef2514
+ version: 4.2.0
+ resolution: "@sindresorhus/is@npm:4.2.0"
+ checksum: 59040dfb75c2eb6ab76e8c7ac10b7f7f6ba740f0b5ac618a89a8bcdbaf923836a8e998078d59d81f6f13f4b6bbe15bfe1bca962c877edcbe9160d1c100c56fd7
languageName: node
linkType: hard
@@ -328,9 +328,9 @@ __metadata:
linkType: hard
"@types/lodash@npm:^4.14.172":
- version: 4.14.172
- resolution: "@types/lodash@npm:4.14.172"
- checksum: 5fc51ea40d7e455bd1c760bcc60c9e81f82d85988666d4d4969bd8311367c63bbf1fe2be48755ba87836710e45fff94014ec164ebe6ccaa72815014981152434
+ version: 4.14.173
+ resolution: "@types/lodash@npm:4.14.173"
+ checksum: 9e97ef5816299e5470db1cb32a93e981af60f74f18a35d045ed4caf224a065df96bfae6e444ec96aa392fc01258592b965d840ae042eef77ef719a578c7daef8
languageName: node
linkType: hard
@@ -366,16 +366,16 @@ __metadata:
linkType: hard
"@types/node@npm:*":
- version: 16.7.13
- resolution: "@types/node@npm:16.7.13"
- checksum: 15dc28aa44674d3f49dcca4a6523b6ab1ef9bbea5c659057bec13153e1873718d6b62ab0ea57a3d57ee37f0f1136ae30e3ea503df43b0afa3ae437c8750be7f5
+ version: 16.9.2
+ resolution: "@types/node@npm:16.9.2"
+ checksum: 204aa883bc93a267f43804af8872e538935369ab905d5ca702d2c17a213339f8df974bb95d21e2e714e8f83f669b185d8526f7c4b5d16adbdb5d96d4f2e75fa9
languageName: node
linkType: hard
"@types/node@npm:^14.14.22":
- version: 14.17.15
- resolution: "@types/node@npm:14.17.15"
- checksum: e0840304db236027e822ef1e149de433afd20d2553699cdc2ce651d107a77646c6eaaeaec8c348eabdc05169440dbc2cf069791bef65ca4b6e5ee4412e69c898
+ version: 14.17.17
+ resolution: "@types/node@npm:14.17.17"
+ checksum: ec17a5662e8e4dafbf5c7b577b390811f521ea984525c8fae3b90b14222a61832161c74c9a335abe8ef01a59adba578498298a9ccee0d84d71285680f5bc135a
languageName: node
linkType: hard
@@ -443,11 +443,11 @@ __metadata:
linkType: hard
"@typescript-eslint/eslint-plugin@npm:^4.14.1":
- version: 4.31.0
- resolution: "@typescript-eslint/eslint-plugin@npm:4.31.0"
+ version: 4.31.1
+ resolution: "@typescript-eslint/eslint-plugin@npm:4.31.1"
dependencies:
- "@typescript-eslint/experimental-utils": 4.31.0
- "@typescript-eslint/scope-manager": 4.31.0
+ "@typescript-eslint/experimental-utils": 4.31.1
+ "@typescript-eslint/scope-manager": 4.31.1
debug: ^4.3.1
functional-red-black-tree: ^1.0.1
regexpp: ^3.1.0
@@ -459,66 +459,66 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 3a285a55d493b427644ab864d36b2abc663b1c2707a0bccb748a56e4e8025275025f8268d70dfea7ca2f82fe54a64de4c5634d4552c72a81d6f17a7ab20d5f87
+ checksum: 90bed374dcdb5497a829f6bb02aa2a88dfb74683b0385b433e29a34b03d4b0f2992cd953cee20426c35c2695fb75845824860a77aca12481e9a1f823c4158bf8
languageName: node
linkType: hard
-"@typescript-eslint/experimental-utils@npm:4.31.0":
- version: 4.31.0
- resolution: "@typescript-eslint/experimental-utils@npm:4.31.0"
+"@typescript-eslint/experimental-utils@npm:4.31.1":
+ version: 4.31.1
+ resolution: "@typescript-eslint/experimental-utils@npm:4.31.1"
dependencies:
"@types/json-schema": ^7.0.7
- "@typescript-eslint/scope-manager": 4.31.0
- "@typescript-eslint/types": 4.31.0
- "@typescript-eslint/typescript-estree": 4.31.0
+ "@typescript-eslint/scope-manager": 4.31.1
+ "@typescript-eslint/types": 4.31.1
+ "@typescript-eslint/typescript-estree": 4.31.1
eslint-scope: ^5.1.1
eslint-utils: ^3.0.0
peerDependencies:
eslint: "*"
- checksum: 24581932c50ae561aa7712ae5966ad962096d7b86efd3c0620080b32ba014fc082394e8475b8e1b5ad5ab19b11383f00dd9469b6b1305913e1eb73182febea6c
+ checksum: 0767a1a554b78e3a81df28a40d213b0ca8d16e2360e04a377d99fceec4cf6af132953076fe6ed5a07708e6115091d18744a6b4904878e029bb22278e84193f59
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:^4.14.1":
- version: 4.31.0
- resolution: "@typescript-eslint/parser@npm:4.31.0"
+ version: 4.31.1
+ resolution: "@typescript-eslint/parser@npm:4.31.1"
dependencies:
- "@typescript-eslint/scope-manager": 4.31.0
- "@typescript-eslint/types": 4.31.0
- "@typescript-eslint/typescript-estree": 4.31.0
+ "@typescript-eslint/scope-manager": 4.31.1
+ "@typescript-eslint/types": 4.31.1
+ "@typescript-eslint/typescript-estree": 4.31.1
debug: ^4.3.1
peerDependencies:
eslint: ^5.0.0 || ^6.0.0 || ^7.0.0
peerDependenciesMeta:
typescript:
optional: true
- checksum: 368856dc10ab8ea01f8cd670b48832e20216393a9153b92ee53d4ebba9e1832dfcf1d15b69d76978147f5ac667095bc841eb6211ec71e5a615fbda2a2a689ad4
+ checksum: e4e312ec1ef1666fe3ed9cd565f85cc5e11d0a5ae4dff529fc8f212cc758f46ec8ebd388194a57f73ea3250e0ec9040fef8bee32d922d88153c04870683773fa
languageName: node
linkType: hard
-"@typescript-eslint/scope-manager@npm:4.31.0":
- version: 4.31.0
- resolution: "@typescript-eslint/scope-manager@npm:4.31.0"
+"@typescript-eslint/scope-manager@npm:4.31.1":
+ version: 4.31.1
+ resolution: "@typescript-eslint/scope-manager@npm:4.31.1"
dependencies:
- "@typescript-eslint/types": 4.31.0
- "@typescript-eslint/visitor-keys": 4.31.0
- checksum: d4739d16af4379227711f626142cd656e078c3501082bb78f970ecf83d9332ac2c02b7e6c73b65515c6d4e9f14786fd34fc383056fecbe527fad62b05751782a
+ "@typescript-eslint/types": 4.31.1
+ "@typescript-eslint/visitor-keys": 4.31.1
+ checksum: 386442e7713df96cf32565e0f3caff173a9206630f385c1cfa09f11d8b4479a9f51572a4b795e4b68b2740bacebd1bb3a3de5a69bee564bc28dbce4b035ed3fb
languageName: node
linkType: hard
-"@typescript-eslint/types@npm:4.31.0":
- version: 4.31.0
- resolution: "@typescript-eslint/types@npm:4.31.0"
- checksum: fb6d84efa111b98feaa8b9021b3d225c1d64194fa9b942b9adef39210a4e1ae611aca47b8308dceff7eac847f69474e6926632359180352f5a48f730d827db7c
+"@typescript-eslint/types@npm:4.31.1":
+ version: 4.31.1
+ resolution: "@typescript-eslint/types@npm:4.31.1"
+ checksum: 08b5cf0d02fbf946a4b10e93279e3253287e4826ee744e7d3f38d7da241aaa6fce2743e448f9cdf36d93c20259e17248e50b9fffdff59e1c878289acca0c2d65
languageName: node
linkType: hard
-"@typescript-eslint/typescript-estree@npm:4.31.0":
- version: 4.31.0
- resolution: "@typescript-eslint/typescript-estree@npm:4.31.0"
+"@typescript-eslint/typescript-estree@npm:4.31.1":
+ version: 4.31.1
+ resolution: "@typescript-eslint/typescript-estree@npm:4.31.1"
dependencies:
- "@typescript-eslint/types": 4.31.0
- "@typescript-eslint/visitor-keys": 4.31.0
+ "@typescript-eslint/types": 4.31.1
+ "@typescript-eslint/visitor-keys": 4.31.1
debug: ^4.3.1
globby: ^11.0.3
is-glob: ^4.0.1
@@ -527,17 +527,17 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 80d226ab93e133acb19061ee140aaeddd4291a4425638c4f451d43474c3d0b23b39ce1cb6302f0b5c74f585a0cd645ca2240f831093d0a160545c8bb25abb0b9
+ checksum: 1780223f52fde98fcfef4e7d9a59fc811232f608800e6a69b73789aad34ddf43fc9d4041707baa88b25cf88c223a7f2a749cf084dc45d89de44a803b29e19eb3
languageName: node
linkType: hard
-"@typescript-eslint/visitor-keys@npm:4.31.0":
- version: 4.31.0
- resolution: "@typescript-eslint/visitor-keys@npm:4.31.0"
+"@typescript-eslint/visitor-keys@npm:4.31.1":
+ version: 4.31.1
+ resolution: "@typescript-eslint/visitor-keys@npm:4.31.1"
dependencies:
- "@typescript-eslint/types": 4.31.0
+ "@typescript-eslint/types": 4.31.1
eslint-visitor-keys: ^2.0.0
- checksum: 45a929cfedc922b91526f9cec329a36c86bd3dc42ec2f90a3cdac4ab84ab9569b5fd739db05a3678f6979dead694d9aeadff0a81b208458ad41319482abc5b26
+ checksum: 14a86bf96a41a81feba32f5acbb72539345a33f250b2f17968dc7b9f4ae9eca00209a11dd208b9c6305f5a841a9f809713027c0ed969465e2d62a042d116bdc9
languageName: node
linkType: hard
@@ -609,14 +609,14 @@ __metadata:
linkType: hard
"ajv@npm:^8.0.1":
- version: 8.6.2
- resolution: "ajv@npm:8.6.2"
+ version: 8.6.3
+ resolution: "ajv@npm:8.6.3"
dependencies:
fast-deep-equal: ^3.1.1
json-schema-traverse: ^1.0.0
require-from-string: ^2.0.2
uri-js: ^4.2.2
- checksum: b86d6cb86c69abbd8ce71ab7d4ff272660bf6d34fa9fbe770f73e54da59d531b2546692e36e2b35bbcfb11d20db774b4c09189671335185b8c799d65194e5169
+ checksum: 690ffb9408415fdab43686b3f92037ba0c8362f5d0709a123ba3fb546e6ad81414455f80a2b5cc432ce924afe9864671198f022bc331a19c072d4ede152ec3ca
languageName: node
linkType: hard
@@ -642,9 +642,9 @@ __metadata:
linkType: hard
"ansi-regex@npm:^5.0.0":
- version: 5.0.0
- resolution: "ansi-regex@npm:5.0.0"
- checksum: b1bb4e992a5d96327bb4f72eaba9f8047f1d808d273ad19d399e266bfcc7fb19a4d1a127a32f7bc61fe46f1a94a4d04ec4c424e3fbe184929aa866323d8ed4ce
+ version: 5.0.1
+ resolution: "ansi-regex@npm:5.0.1"
+ checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b
languageName: node
linkType: hard
@@ -783,9 +783,8 @@ __metadata:
chalk: ^4.1.1
common-tags: ^1.8.0
discord-akairo: NotEnoughUpdates/discord-akairo
- discord-akairo-message-util: NotEnoughUpdates/discord-akairo-message-util
discord-api-types: 0.22.0
- discord.js: NotEnoughUpdates/discord.js
+ discord.js: "npm:@notenoughupdates/discord.js@13.2.0-dev"
discord.js-minesweeper: ^1.0.6
esbuild: ^0.12.11
eslint: ^7.29.0
@@ -1127,13 +1126,13 @@ discord-akairo-message-util@NotEnoughUpdates/discord-akairo-message-util:
linkType: hard
discord-akairo@NotEnoughUpdates/discord-akairo:
- version: 8.2.2
- resolution: "discord-akairo@https://github.com/NotEnoughUpdates/discord-akairo.git#commit=535a4797ed196c2c3a39b470562aa4ca3f49af61"
+ version: 9.0.0
+ resolution: "discord-akairo@https://github.com/NotEnoughUpdates/discord-akairo.git#commit=be14ce4023cf05ad11f4a0ab87da40af30bb1c6a"
dependencies:
discord-akairo-message-util: NotEnoughUpdates/discord-akairo-message-util
lodash: ^4.17.21
source-map-support: ^0.5.19
- checksum: 5701a9822ad3aae85c095795d9a261a8b981a1f57400e8a30d8a339898c67c8197149dfe8f0165b8149d1edc06fad458176988a8d587f275274d2e1dbc5d248c
+ checksum: 7326de82d184ce9a68ac6d13d12ca7f844dd12ccf0cc5a29de820ac60d4ce8b0fd46b0134fbd12e5399081dc7360abb2b8c3e2c456d43c8d3db04bc721b07ce6
languageName: node
linkType: hard
@@ -1151,9 +1150,9 @@ discord-akairo@NotEnoughUpdates/discord-akairo:
languageName: node
linkType: hard
-discord.js@NotEnoughUpdates/discord.js:
+"discord.js@npm:@notenoughupdates/discord.js@13.2.0-dev":
version: 13.2.0-dev
- resolution: "discord.js@https://github.com/NotEnoughUpdates/discord.js.git#commit=e6d983a4b402e2070615fdbe8f02b39dc2721013"
+ resolution: "@notenoughupdates/discord.js@npm:13.2.0-dev"
dependencies:
"@discordjs/builders": ^0.5.0
"@discordjs/collection": ^0.2.1
@@ -1163,7 +1162,7 @@ discord.js@NotEnoughUpdates/discord.js:
discord-api-types: ^0.22.0
node-fetch: ^2.6.1
ws: ^7.5.1
- checksum: 38235b8743cbfac0b0c256b4164896ffe68a11bd2d127f6664a36ddfc9826edb3d9523d6dbf18fd8e0baf0fde774af02e62d5b271d2d6c62ab8b1ad6b8997a72
+ checksum: 1212834ad2ad83f012b7c4dacbbed47494cf49b48616ac6b8f5bc90e8b58657d394ec57312f5a6b8dab2570ba3b432a483aa274c28da5ae3b626fc0c6d71b756
languageName: node
linkType: hard
@@ -1241,11 +1240,11 @@ discord.js@NotEnoughUpdates/discord.js:
linkType: hard
"esbuild@npm:^0.12.11":
- version: 0.12.25
- resolution: "esbuild@npm:0.12.25"
+ version: 0.12.28
+ resolution: "esbuild@npm:0.12.28"
bin:
esbuild: bin/esbuild
- checksum: fd92b0541c17e6d863d3b1cf628a35c9844831a1f1f2d16c3091bc7a130a601a8164083b84a65cd3178209e7c395fc61d454f92c8b1a4869d443fd0ca5a51a8d
+ checksum: 9127dc048aad41a59d736460b9ea3cf5e367a7e5a650b2b465e066ee291e3c5e9fa5ad4b56cd4dea76cde9a1dee25a0e9e94f558b24170fc124eb0778e043eae
languageName: node
linkType: hard
@@ -1477,11 +1476,11 @@ discord.js@NotEnoughUpdates/discord.js:
linkType: hard
"fastq@npm:^1.6.0":
- version: 1.12.0
- resolution: "fastq@npm:1.12.0"
+ version: 1.13.0
+ resolution: "fastq@npm:1.13.0"
dependencies:
reusify: ^1.0.4
- checksum: 486db511686b5ab28b1d87170f05c3fa6c8d769cde6861ed34cf3756cdf356950ba9c7dde0bc976ad4308b85aa9ef6214c685887f9f724be72c054a7becb642a
+ checksum: 32cf15c29afe622af187d12fc9cd93e160a0cb7c31a3bb6ace86b7dea3b28e7b72acde89c882663f307b2184e14782c6c664fa315973c03626c7d4bff070bb0b
languageName: node
linkType: hard
@@ -2067,10 +2066,10 @@ discord.js@NotEnoughUpdates/discord.js:
linkType: hard
"mathjs@npm:^9.4.4":
- version: 9.4.4
- resolution: "mathjs@npm:9.4.4"
+ version: 9.4.5
+ resolution: "mathjs@npm:9.4.5"
dependencies:
- "@babel/runtime": ^7.14.6
+ "@babel/runtime": ^7.15.4
complex.js: ^2.0.15
decimal.js: ^10.3.1
escape-latex: ^1.2.0
@@ -2081,7 +2080,7 @@ discord.js@NotEnoughUpdates/discord.js:
typed-function: ^2.0.0
bin:
mathjs: bin/cli.js
- checksum: 3fdaca4d0e8b73c1e75c87023101d8d047ccec395743c80f24031b7523fc8f2209f8bc572c603d8a8ba4e8b977f240e987f72902e48cce6ff261b3f904fefd5b
+ checksum: ce29106d5317e864e798ab303ba1ade04ea6c6f3e08c64aed8f3e99e6ad5d5c4012d14ddda953d6735c13d9bcdae7f19301ecf25932a1430d14e6f1d7d481e31
languageName: node
linkType: hard
@@ -2207,11 +2206,11 @@ discord.js@NotEnoughUpdates/discord.js:
linkType: hard
"minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3":
- version: 3.1.3
- resolution: "minipass@npm:3.1.3"
+ version: 3.1.5
+ resolution: "minipass@npm:3.1.5"
dependencies:
yallist: ^4.0.0
- checksum: 74b623c1f996caafa66772301b66a1b634b20270f0d1a731ef86195d5a1a5f9984a773a1e88a6cecfd264d6c471c4c0fc8574cd96488f01c8f74c0b600021e55
+ checksum: 8b410b9a5bd99ceb9d63c895891d1c30511791fdc7b717da4cf9403ca2419bc57af63b8485ffdaa421ef6cff56f63ae0b2f5135f8df502d21296e8c91460ebf9
languageName: node
linkType: hard
@@ -2597,11 +2596,11 @@ discord.js@NotEnoughUpdates/discord.js:
linkType: hard
"prettier@npm:^2.3.2":
- version: 2.3.2
- resolution: "prettier@npm:2.3.2"
+ version: 2.4.1
+ resolution: "prettier@npm:2.4.1"
bin:
prettier: bin-prettier.js
- checksum: 17ce5784ac67621c292df58e2da60b2ee150c2d6aebea22a6ad9e52fcd6a5e66c349d0a8436ea3bd8ff9d778920a5f68000d7625b74f43558718a49755aa5259
+ checksum: cc6830588b401b0d742862fe9c46bc9118204fb307c3abe0e49e95b35ed23629573807ffdf9cdd65289c252a0bb51fc0171437f6626ee36378dea80f0ee80b91
languageName: node
linkType: hard
@@ -2921,9 +2920,9 @@ discord.js@NotEnoughUpdates/discord.js:
linkType: hard
"signal-exit@npm:^3.0.0":
- version: 3.0.3
- resolution: "signal-exit@npm:3.0.3"
- checksum: f0169d3f1263d06df32ca072b0bf33b34c6f8f0341a7a1621558a2444dfbe8f5fec76b35537fcc6f0bc4944bdb5336fe0bdcf41a5422c4e45a1dba3f45475e6c
+ version: 3.0.4
+ resolution: "signal-exit@npm:3.0.4"
+ checksum: e72633b05df8d65035a0b31718b1a587f55b25953a8e7b959f6c3a963cc0abcb70a0d78a7e0792bc104c874525efdc619e823095d382a775641e3867b1b68c54
languageName: node
linkType: hard
@@ -2999,12 +2998,12 @@ discord.js@NotEnoughUpdates/discord.js:
linkType: hard
"source-map-support@npm:^0.5.19":
- version: 0.5.19
- resolution: "source-map-support@npm:0.5.19"
+ version: 0.5.20
+ resolution: "source-map-support@npm:0.5.20"
dependencies:
buffer-from: ^1.0.0
source-map: ^0.6.0
- checksum: c72802fdba9cb62b92baef18cc14cc4047608b77f0353e6c36dd993444149a466a2845332c5540d4a6630957254f0f68f4ef5a0120c33d2e83974c51a05afbac
+ checksum: 43946aff452011960d16154304b11011e0185549493e65dd90da045959409fb2d266ba1c854fff3d5949f8e59382e3fcc7f7c5fa66136007a6750ad06c6c0baa
languageName: node
linkType: hard
@@ -3277,22 +3276,22 @@ discord.js@NotEnoughUpdates/discord.js:
linkType: hard
typescript@^4.4.2:
- version: 4.4.2
- resolution: "typescript@npm:4.4.2"
+ version: 4.4.3
+ resolution: "typescript@npm:4.4.3"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
- checksum: 194e08e9d1971d667d6fd1a0554616b7022312a2319d70e81a64e502a265992061ee7817ed9a69b52bbabe7a9b85e7938cb8c11c433e40a516b277f8c4dacd51
+ checksum: 05823f21796d450531a7e4ab299715d38fd9ded0e4ce7400876053f4b5166ca3dde7a68cecfe72d9086039f03c0b6edba36516fb10ed83c5837d9600532ea4c2
languageName: node
linkType: hard
"typescript@patch:typescript@^4.4.2#~builtin<compat/typescript>":
- version: 4.4.2
- resolution: "typescript@patch:typescript@npm%3A4.4.2#~builtin<compat/typescript>::version=4.4.2&hash=d8b4e7"
+ version: 4.4.3
+ resolution: "typescript@patch:typescript@npm%3A4.4.3#~builtin<compat/typescript>::version=4.4.3&hash=d8b4e7"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
- checksum: 11d6ab6e868117908c388401e2ac06d503c5c8709115ab80ee69a1a6352c1f98471d1e595636bfe6a2d6b20b03a44df6bb2d3d198cea97c0c328968cd18d2b70
+ checksum: 215a59742afb7e0c3668e2c50ca19813deb24b3cc0d16ac3591990e033728050aaa99e159a72b54cb43653f16c778a5cf9dfeed1f51c3b105710ae082c064af7
languageName: node
linkType: hard
@@ -3418,8 +3417,8 @@ typescript@^4.4.2:
linkType: hard
"ws@npm:^7.4.4, ws@npm:^7.5.1":
- version: 7.5.4
- resolution: "ws@npm:7.5.4"
+ version: 7.5.5
+ resolution: "ws@npm:7.5.5"
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: ^5.0.2
@@ -3428,7 +3427,7 @@ typescript@^4.4.2:
optional: true
utf-8-validate:
optional: true
- checksum: 48582e4feb1fc6b6b977a0ee6136e5cd1c6a14bc5cb6ce5acf596652b34be757cdf0c225235b3263d56d057bc5d6e528dbe27fc88a3d09828aa803c6696f4b2c
+ checksum: bd2b437256012af526c69c03d6670a132e7ab0fe5853f3b7092826acea4203fad4ee2a8d0d9bd44834b2b968e747bf34f753ab535f4a3edf40d262da4b1d0805
languageName: node
linkType: hard