aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/badwords.ts2
-rw-r--r--src/lib/common/AutoMod.ts8
-rw-r--r--src/lib/common/ButtonPaginator.ts31
-rw-r--r--src/lib/common/DeleteButton.ts5
-rw-r--r--src/lib/common/Format.ts2
-rw-r--r--src/lib/common/Moderation.ts12
-rw-r--r--src/lib/common/typings/BushInspectOptions.d.ts2
-rw-r--r--src/lib/common/util/Arg.ts8
-rw-r--r--src/lib/extensions/discord-akairo/BushArgumentTypeCaster.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushClient.ts33
-rw-r--r--src/lib/extensions/discord-akairo/BushClientUtil.ts34
-rw-r--r--src/lib/extensions/discord-akairo/BushCommand.ts9
-rw-r--r--src/lib/extensions/discord-akairo/BushCommandHandler.ts9
-rw-r--r--src/lib/extensions/discord-akairo/BushCommandUtil.ts10
-rw-r--r--src/lib/extensions/discord-akairo/BushInhibitor.ts5
-rw-r--r--src/lib/extensions/discord-akairo/BushInhibitorHandler.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushListener.ts5
-rw-r--r--src/lib/extensions/discord-akairo/BushListenerHandler.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushSlashMessage.ts8
-rw-r--r--src/lib/extensions/discord-akairo/BushTask.ts4
-rw-r--r--src/lib/extensions/discord-akairo/BushTaskHandler.ts4
-rw-r--r--src/lib/extensions/discord.js/BushActivity.ts5
-rw-r--r--src/lib/extensions/discord.js/BushApplicationCommand.ts7
-rw-r--r--src/lib/extensions/discord.js/BushApplicationCommandManager.d.ts16
-rw-r--r--src/lib/extensions/discord.js/BushApplicationCommandPermissionsManager.d.ts23
-rw-r--r--src/lib/extensions/discord.js/BushBaseGuildEmojiManager.d.ts8
-rw-r--r--src/lib/extensions/discord.js/BushBaseGuildTextChannel.ts22
-rw-r--r--src/lib/extensions/discord.js/BushButtonInteraction.ts13
-rw-r--r--src/lib/extensions/discord.js/BushCategoryChannel.ts9
-rw-r--r--src/lib/extensions/discord.js/BushChannel.d.ts12
-rw-r--r--src/lib/extensions/discord.js/BushChannelManager.d.ts8
-rw-r--r--src/lib/extensions/discord.js/BushClientEvents.d.ts70
-rw-r--r--src/lib/extensions/discord.js/BushClientUser.d.ts14
-rw-r--r--src/lib/extensions/discord.js/BushCommandInteraction.ts26
-rw-r--r--src/lib/extensions/discord.js/BushDMChannel.ts6
-rw-r--r--src/lib/extensions/discord.js/BushEmoji.ts4
-rw-r--r--src/lib/extensions/discord.js/BushGuild.ts22
-rw-r--r--src/lib/extensions/discord.js/BushGuildApplicationCommandManager.d.ts16
-rw-r--r--src/lib/extensions/discord.js/BushGuildBan.d.ts6
-rw-r--r--src/lib/extensions/discord.js/BushGuildChannel.ts5
-rw-r--r--src/lib/extensions/discord.js/BushGuildEmoji.ts7
-rw-r--r--src/lib/extensions/discord.js/BushGuildEmojiRoleManager.d.ts7
-rw-r--r--src/lib/extensions/discord.js/BushGuildManager.d.ts16
-rw-r--r--src/lib/extensions/discord.js/BushGuildMember.ts11
-rw-r--r--src/lib/extensions/discord.js/BushGuildMemberManager.d.ts34
-rw-r--r--src/lib/extensions/discord.js/BushMessage.ts21
-rw-r--r--src/lib/extensions/discord.js/BushMessageManager.d.ts44
-rw-r--r--src/lib/extensions/discord.js/BushMessageReaction.ts9
-rw-r--r--src/lib/extensions/discord.js/BushNewsChannel.ts9
-rw-r--r--src/lib/extensions/discord.js/BushPresence.ts7
-rw-r--r--src/lib/extensions/discord.js/BushReactionEmoji.ts6
-rw-r--r--src/lib/extensions/discord.js/BushRole.ts9
-rw-r--r--src/lib/extensions/discord.js/BushSelectMenuInteraction.ts13
-rw-r--r--src/lib/extensions/discord.js/BushStageChannel.ts11
-rw-r--r--src/lib/extensions/discord.js/BushStageInstance.ts7
-rw-r--r--src/lib/extensions/discord.js/BushStoreChannel.ts10
-rw-r--r--src/lib/extensions/discord.js/BushTextChannel.ts10
-rw-r--r--src/lib/extensions/discord.js/BushThreadChannel.ts20
-rw-r--r--src/lib/extensions/discord.js/BushThreadManager.d.ts44
-rw-r--r--src/lib/extensions/discord.js/BushThreadMember.ts6
-rw-r--r--src/lib/extensions/discord.js/BushThreadMemberManager.d.ts20
-rw-r--r--src/lib/extensions/discord.js/BushUser.ts7
-rw-r--r--src/lib/extensions/discord.js/BushUserManager.d.ts8
-rw-r--r--src/lib/extensions/discord.js/BushVoiceChannel.ts8
-rw-r--r--src/lib/extensions/discord.js/BushVoiceState.ts8
-rw-r--r--src/lib/index.ts2
-rw-r--r--src/lib/models/ActivePunishment.ts57
-rw-r--r--src/lib/models/BaseModel.ts18
-rw-r--r--src/lib/models/Global.ts45
-rw-r--r--src/lib/models/Guild.ts121
-rw-r--r--src/lib/models/Level.ts47
-rw-r--r--src/lib/models/ModLog.ts73
-rw-r--r--src/lib/models/Stat.ts19
-rw-r--r--src/lib/models/StickyRole.ts33
-rw-r--r--src/lib/models/__helpers.ts2
-rw-r--r--src/lib/utils/AllowedMentions.ts2
-rw-r--r--src/lib/utils/BushCache.ts2
-rw-r--r--src/lib/utils/BushConstants.ts2
-rw-r--r--src/lib/utils/BushLogger.ts4
-rw-r--r--src/lib/utils/Config.ts2
80 files changed, 640 insertions, 630 deletions
diff --git a/src/lib/badwords.ts b/src/lib/badwords.ts
index 5caddd5..18c7755 100644
--- a/src/lib/badwords.ts
+++ b/src/lib/badwords.ts
@@ -1,4 +1,4 @@
-import { BadWords, Severity } from "./common/AutoMod";
+import { Severity, type BadWords } from "./common/AutoMod";
export default {
/* -------------------------------------------------------------------------- */
diff --git a/src/lib/common/AutoMod.ts b/src/lib/common/AutoMod.ts
index 38c488b..c749a33 100644
--- a/src/lib/common/AutoMod.ts
+++ b/src/lib/common/AutoMod.ts
@@ -1,10 +1,8 @@
-import { GuildMember, MessageActionRow, MessageButton, MessageEmbed, TextChannel } from 'discord.js';
+import { Moderation, type BushButtonInteraction, type BushMessage } from '@lib';
+import { GuildMember, MessageActionRow, MessageButton, MessageEmbed, type TextChannel } from 'discord.js';
import badLinksArray from '../badlinks';
import badLinksSecretArray from '../badlinks-secret'; // I cannot make this public so just make a new file that export defaults an empty array
import badWords from '../badwords';
-import { BushButtonInteraction } from '../extensions/discord.js/BushButtonInteraction';
-import { BushMessage } from '../extensions/discord.js/BushMessage';
-import { Moderation } from './Moderation';
export class AutoMod {
private message: BushMessage;
@@ -190,7 +188,7 @@ export class AutoMod {
const [action, userId, reason] = interaction.customId.replace('automod;', '').split(';');
switch (action) {
case 'ban': {
- const victim = await interaction.guild!.members.fetch(userId);
+ const victim = await interaction.guild!.members.fetch(userId).catch(() => null);
const moderator =
interaction.member instanceof GuildMember
? interaction.member
diff --git a/src/lib/common/ButtonPaginator.ts b/src/lib/common/ButtonPaginator.ts
index da595d5..58134b5 100644
--- a/src/lib/common/ButtonPaginator.ts
+++ b/src/lib/common/ButtonPaginator.ts
@@ -1,13 +1,12 @@
+import { DeleteButton, type BushMessage, type BushSlashMessage } from '@lib';
import {
Constants,
MessageActionRow,
MessageButton,
- MessageComponentInteraction,
MessageEmbed,
- MessageEmbedOptions
+ type MessageComponentInteraction,
+ type MessageEmbedOptions
} from 'discord.js';
-import { BushMessage, BushSlashMessage } from '..';
-import { DeleteButton } from './DeleteButton';
export class ButtonPaginator {
protected message: BushMessage | BushSlashMessage;
@@ -86,7 +85,7 @@ export class ButtonPaginator {
protected async collect(interaction: MessageComponentInteraction) {
if (interaction.user.id !== this.message.author.id && !client.config.owners.includes(interaction.user.id))
- return await interaction?.deferUpdate().catch(() => undefined);
+ return await interaction?.deferUpdate().catch(() => null);
switch (interaction.customId) {
case 'paginate_beginning':
@@ -97,8 +96,8 @@ export class ButtonPaginator {
return await this.edit(interaction);
case 'paginate_stop':
if (this.deleteOnExit) {
- await interaction.deferUpdate().catch(() => undefined);
- return await this.sentMessage!.delete().catch(() => undefined);
+ await interaction.deferUpdate().catch(() => null);
+ return await this.sentMessage!.delete().catch(() => null);
} else {
return await interaction
?.update({
@@ -106,7 +105,7 @@ export class ButtonPaginator {
embeds: [],
components: []
})
- .catch(() => undefined);
+ .catch(() => null);
}
case 'paginate_next':
this.curPage++;
@@ -125,19 +124,15 @@ export class ButtonPaginator {
embeds: [this.embeds[this.curPage]],
components: [this.getPaginationRow(true)]
})
- .catch(() => undefined);
+ .catch(() => null);
}
protected async edit(interaction: MessageComponentInteraction) {
- try {
- return interaction?.update({
- content: this.text,
- embeds: [this.embeds[this.curPage]],
- components: [this.getPaginationRow()]
- });
- } catch (e) {
- return undefined;
- }
+ return interaction?.update({
+ content: this.text,
+ embeds: [this.embeds[this.curPage]],
+ components: [this.getPaginationRow()]
+ }).catch(() => null);
}
protected getPaginationRow(disableAll = false): MessageActionRow {
diff --git a/src/lib/common/DeleteButton.ts b/src/lib/common/DeleteButton.ts
index 7d2e41b..95bae24 100644
--- a/src/lib/common/DeleteButton.ts
+++ b/src/lib/common/DeleteButton.ts
@@ -1,6 +1,5 @@
-import { Constants, MessageActionRow, MessageButton, MessageComponentInteraction, MessageOptions } from 'discord.js';
-import { BushMessage, BushSlashMessage } from '..';
-import { PaginateEmojis } from './ButtonPaginator';
+import { PaginateEmojis, type BushMessage, type BushSlashMessage } from '@lib';
+import { Constants, MessageActionRow, MessageButton, type MessageComponentInteraction, type MessageOptions } from 'discord.js';
export class DeleteButton {
protected messageOptions: MessageOptions;
diff --git a/src/lib/common/Format.ts b/src/lib/common/Format.ts
index ba1ee9f..2557b17 100644
--- a/src/lib/common/Format.ts
+++ b/src/lib/common/Format.ts
@@ -1,5 +1,5 @@
+import { type CodeBlockLang } from '@lib';
import { Formatters, Util } from 'discord.js';
-import { CodeBlockLang } from './typings/CodeBlockLang';
/**
* Formats and escapes content for formatting
diff --git a/src/lib/common/Moderation.ts b/src/lib/common/Moderation.ts
index 0c7c21a..d0367d5 100644
--- a/src/lib/common/Moderation.ts
+++ b/src/lib/common/Moderation.ts
@@ -1,14 +1,14 @@
-import { Snowflake } from 'discord-api-types';
import {
ActivePunishment,
ActivePunishmentType,
- BushGuildMember,
- BushGuildMemberResolvable,
- BushGuildResolvable,
Guild,
ModLog,
- ModLogType
-} from '..';
+ ModLogType,
+ type BushGuildMember,
+ type BushGuildMemberResolvable,
+ type BushGuildResolvable
+} from '@lib';
+import { type Snowflake } from 'discord.js';
export class Moderation {
/**
diff --git a/src/lib/common/typings/BushInspectOptions.d.ts b/src/lib/common/typings/BushInspectOptions.d.ts
index c2a2360..11c2dc1 100644
--- a/src/lib/common/typings/BushInspectOptions.d.ts
+++ b/src/lib/common/typings/BushInspectOptions.d.ts
@@ -1,4 +1,4 @@
-import { InspectOptions } from 'util';
+import { type InspectOptions } from 'util';
/**
* {@link https://nodejs.org/api/util.html#util_util_inspect_object_options}
diff --git a/src/lib/common/util/Arg.ts b/src/lib/common/util/Arg.ts
index d267eb9..3c8e642 100644
--- a/src/lib/common/util/Arg.ts
+++ b/src/lib/common/util/Arg.ts
@@ -1,6 +1,6 @@
-import { AkairoMessage, Argument, ArgumentTypeCaster, Flag, ParsedValuePredicate } from 'discord-akairo';
-import { Message } from 'discord.js';
-import { BushArgumentType } from '../..';
+import { type BushArgumentType, type BushMessage, type BushSlashMessage } from '@lib';
+import { Argument, type ArgumentTypeCaster, type Flag, type ParsedValuePredicate } from 'discord-akairo';
+import { type Message } from 'discord.js';
export class Arg {
/**
@@ -9,7 +9,7 @@ export class Arg {
* @param message - Message that called the command.
* @param phrase - Phrase to process.
*/
- public static cast(type: BushArgumentType, message: Message | AkairoMessage, phrase: string): Promise<any> {
+ public static cast(type: BushArgumentType, message: BushMessage | BushSlashMessage, phrase: string): Promise<any> {
return Argument.cast(type, client.commandHandler.resolver, message as Message, phrase);
}
diff --git a/src/lib/extensions/discord-akairo/BushArgumentTypeCaster.ts b/src/lib/extensions/discord-akairo/BushArgumentTypeCaster.ts
index 42d989c..c07644c 100644
--- a/src/lib/extensions/discord-akairo/BushArgumentTypeCaster.ts
+++ b/src/lib/extensions/discord-akairo/BushArgumentTypeCaster.ts
@@ -1,3 +1,3 @@
-import { BushMessage } from '../discord.js/BushMessage';
+import { type BushMessage } from '@lib';
export type BushArgumentTypeCaster = (message: BushMessage, phrase: string) => any;
diff --git a/src/lib/extensions/discord-akairo/BushClient.ts b/src/lib/extensions/discord-akairo/BushClient.ts
index c5d05b7..8f7533c 100644
--- a/src/lib/extensions/discord-akairo/BushClient.ts
+++ b/src/lib/extensions/discord-akairo/BushClient.ts
@@ -1,21 +1,20 @@
import * as Sentry from '@sentry/node';
import { AkairoClient, ContextMenuCommandHandler, version as akairoVersion } from 'discord-akairo';
import {
- Awaitable,
- Collection,
- Intents,
- InteractionReplyOptions,
- Message,
- MessageEditOptions,
- MessageOptions,
- MessagePayload,
- Options,
- PartialDMChannel,
- ReplyMessageOptions,
- Snowflake,
- Structures,
- version as discordJsVersion,
- WebhookEditMessageOptions
+ DMChannel,
+ Intents, Options,
+ Structures, version as discordJsVersion,
+ type Awaitable,
+ type Collection,
+ type InteractionReplyOptions,
+ type Message,
+ type MessageEditOptions,
+ type MessageOptions,
+ type MessagePayload,
+ type PartialDMChannel,
+ type ReplyMessageOptions,
+ type Snowflake,
+ type WebhookEditMessageOptions
} from 'discord.js';
//@ts-ignore: no typings
import eventsIntercept from 'events-intercept';
@@ -89,7 +88,7 @@ export type BushThreadMemberResolvable = BushThreadMember | BushUserResolvable;
export type BushUserResolvable = BushUser | Snowflake | BushMessage | BushGuildMember | BushThreadMember;
export type BushGuildMemberResolvable = BushGuildMember | BushUserResolvable;
export type BushRoleResolvable = BushRole | Snowflake;
-export type BushMessageResolvable = BushMessage | Snowflake;
+export type BushMessageResolvable = Message| BushMessage | Snowflake;
export type BushEmojiResolvable = Snowflake | BushGuildEmoji | BushReactionEmoji;
export type BushEmojiIdentifierResolvable = string | BushEmojiResolvable;
export type BushThreadChannelResolvable = BushThreadChannel | Snowflake;
@@ -97,7 +96,7 @@ export type BushApplicationCommandResolvable = BushApplicationCommand | Snowflak
export type BushGuildTextChannelResolvable = BushTextChannel | BushNewsChannel | Snowflake;
export type BushChannelResolvable = BushChannel | Snowflake;
export type BushTextBasedChannels = PartialDMChannel | BushDMChannel | BushTextChannel | BushNewsChannel | BushThreadChannel;
-export type BushGuildTextBasedChannel = Exclude<BushTextBasedChannels, PartialDMChannel | BushDMChannel>;
+export type BushGuildTextBasedChannel = Exclude<BushTextBasedChannels, PartialDMChannel | BushDMChannel | DMChannel>;
export interface BushFetchedThreads {
threads: Collection<Snowflake, BushThreadChannel>;
hasMore?: boolean;
diff --git a/src/lib/extensions/discord-akairo/BushClientUtil.ts b/src/lib/extensions/discord-akairo/BushClientUtil.ts
index 32081ed..4507458 100644
--- a/src/lib/extensions/discord-akairo/BushClientUtil.ts
+++ b/src/lib/extensions/discord-akairo/BushClientUtil.ts
@@ -1,31 +1,32 @@
import {
- BushCache,
- BushClient,
+ Arg,
BushConstants,
- BushMessage,
- BushSlashMessage,
- BushUser,
Global,
- Pronoun,
- PronounCode
+ type BushCache,
+ type BushClient,
+ type BushMessage,
+ type BushSlashMessage,
+ type BushUser,
+ type Pronoun,
+ type P