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.ts14
-rw-r--r--src/lib/common/DeleteButton.ts2
-rw-r--r--src/lib/common/Format.ts2
-rw-r--r--src/lib/common/Moderation.ts18
-rw-r--r--src/lib/common/Sentry.ts2
-rw-r--r--src/lib/common/util/Arg.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushArgumentTypeCaster.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushClient.ts137
-rw-r--r--src/lib/extensions/discord-akairo/BushClientUtil.ts18
-rw-r--r--src/lib/extensions/discord-akairo/BushCommand.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushCommandHandler.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushCommandUtil.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushInhibitor.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushInhibitorHandler.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushListener.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushListenerHandler.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushSlashMessage.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushTask.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushTaskHandler.ts2
-rw-r--r--src/lib/extensions/discord.js/BushActivity.ts4
-rw-r--r--src/lib/extensions/discord.js/BushApplicationCommand.ts4
-rw-r--r--src/lib/extensions/discord.js/BushApplicationCommandManager.d.ts22
-rw-r--r--src/lib/extensions/discord.js/BushApplicationCommandPermissionsManager.d.ts9
-rw-r--r--src/lib/extensions/discord.js/BushBaseGuildEmojiManager.d.ts2
-rw-r--r--src/lib/extensions/discord.js/BushBaseGuildTextChannel.ts18
-rw-r--r--src/lib/extensions/discord.js/BushButtonInteraction.ts6
-rw-r--r--src/lib/extensions/discord.js/BushCategoryChannel.ts2
-rw-r--r--src/lib/extensions/discord.js/BushChannel.d.ts6
-rw-r--r--src/lib/extensions/discord.js/BushChannelManager.d.ts4
-rw-r--r--src/lib/extensions/discord.js/BushClientEvents.d.ts76
-rw-r--r--src/lib/extensions/discord.js/BushClientUser.d.ts16
-rw-r--r--src/lib/extensions/discord.js/BushCommandInteraction.ts22
-rw-r--r--src/lib/extensions/discord.js/BushDMChannel.ts4
-rw-r--r--src/lib/extensions/discord.js/BushEmoji.ts4
-rw-r--r--src/lib/extensions/discord.js/BushGuild.ts30
-rw-r--r--src/lib/extensions/discord.js/BushGuildApplicationCommandManager.d.ts6
-rw-r--r--src/lib/extensions/discord.js/BushGuildBan.d.ts4
-rw-r--r--src/lib/extensions/discord.js/BushGuildChannel.ts4
-rw-r--r--src/lib/extensions/discord.js/BushGuildEmoji.ts4
-rw-r--r--src/lib/extensions/discord.js/BushGuildEmojiRoleManager.d.ts2
-rw-r--r--src/lib/extensions/discord.js/BushGuildManager.d.ts2
-rw-r--r--src/lib/extensions/discord.js/BushGuildMember.ts4
-rw-r--r--src/lib/extensions/discord.js/BushGuildMemberManager.d.ts18
-rw-r--r--src/lib/extensions/discord.js/BushMessage.ts20
-rw-r--r--src/lib/extensions/discord.js/BushMessageManager.d.ts17
-rw-r--r--src/lib/extensions/discord.js/BushMessageReaction.ts4
-rw-r--r--src/lib/extensions/discord.js/BushNewsChannel.ts2
-rw-r--r--src/lib/extensions/discord.js/BushPresence.ts4
-rw-r--r--src/lib/extensions/discord.js/BushReactionEmoji.ts4
-rw-r--r--src/lib/extensions/discord.js/BushRole.ts4
-rw-r--r--src/lib/extensions/discord.js/BushSelectMenuInteraction.ts6
-rw-r--r--src/lib/extensions/discord.js/BushStageChannel.ts4
-rw-r--r--src/lib/extensions/discord.js/BushStageInstance.ts4
-rw-r--r--src/lib/extensions/discord.js/BushStoreChannel.ts4
-rw-r--r--src/lib/extensions/discord.js/BushTextChannel.ts4
-rw-r--r--src/lib/extensions/discord.js/BushThreadChannel.ts20
-rw-r--r--src/lib/extensions/discord.js/BushThreadManager.d.ts8
-rw-r--r--src/lib/extensions/discord.js/BushThreadMember.ts4
-rw-r--r--src/lib/extensions/discord.js/BushThreadMemberManager.d.ts4
-rw-r--r--src/lib/extensions/discord.js/BushUser.ts4
-rw-r--r--src/lib/extensions/discord.js/BushUserManager.d.ts4
-rw-r--r--src/lib/extensions/discord.js/BushVoiceChannel.ts4
-rw-r--r--src/lib/extensions/discord.js/BushVoiceState.ts4
-rw-r--r--src/lib/extensions/global.d.ts3
-rw-r--r--src/lib/index.ts156
-rw-r--r--src/lib/models/ActivePunishment.ts7
-rw-r--r--src/lib/models/BaseModel.ts2
-rw-r--r--src/lib/models/Global.ts8
-rw-r--r--src/lib/models/Guild.ts14
-rw-r--r--src/lib/models/Level.ts6
-rw-r--r--src/lib/models/ModLog.ts8
-rw-r--r--src/lib/models/Stat.ts8
-rw-r--r--src/lib/models/StickyRole.ts8
-rw-r--r--src/lib/models/__helpers.ts5
-rw-r--r--src/lib/utils/BushCache.ts2
77 files changed, 445 insertions, 411 deletions
diff --git a/src/lib/badwords.ts b/src/lib/badwords.ts
index 18c7755..2401a15 100644
--- a/src/lib/badwords.ts
+++ b/src/lib/badwords.ts
@@ -1,4 +1,4 @@
-import { Severity, type BadWords } from "./common/AutoMod";
+import { Severity, type BadWords } from "./common/AutoMod.js";
export default {
/* -------------------------------------------------------------------------- */
diff --git a/src/lib/common/AutoMod.ts b/src/lib/common/AutoMod.ts
index c749a33..8b31e55 100644
--- a/src/lib/common/AutoMod.ts
+++ b/src/lib/common/AutoMod.ts
@@ -1,8 +1,8 @@
-import { Moderation, type BushButtonInteraction, type BushMessage } from '@lib';
+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 badLinksSecretArray from '../badlinks-secret.js'; // I cannot make this public so just make a new file that export defaults an empty array
+import badLinksArray from '../badlinks.js';
+import badWords from '../badwords.js';
export class AutoMod {
private message: BushMessage;
diff --git a/src/lib/common/ButtonPaginator.ts b/src/lib/common/ButtonPaginator.ts
index 58134b5..6a2dba2 100644
--- a/src/lib/common/ButtonPaginator.ts
+++ b/src/lib/common/ButtonPaginator.ts
@@ -1,11 +1,11 @@
-import { DeleteButton, type BushMessage, type BushSlashMessage } from '@lib';
+import { DeleteButton, type BushMessage, type BushSlashMessage } from '#lib';
import {
- Constants,
- MessageActionRow,
- MessageButton,
- MessageEmbed,
- type MessageComponentInteraction,
- type MessageEmbedOptions
+ Constants,
+ MessageActionRow,
+ MessageButton,
+ MessageEmbed,
+ type MessageComponentInteraction,
+ type MessageEmbedOptions
} from 'discord.js';
export class ButtonPaginator {
diff --git a/src/lib/common/DeleteButton.ts b/src/lib/common/DeleteButton.ts
index 95bae24..4792cf7 100644
--- a/src/lib/common/DeleteButton.ts
+++ b/src/lib/common/DeleteButton.ts
@@ -1,4 +1,4 @@
-import { PaginateEmojis, type BushMessage, type BushSlashMessage } from '@lib';
+import { PaginateEmojis, type BushMessage, type BushSlashMessage } from '#lib';
import { Constants, MessageActionRow, MessageButton, type MessageComponentInteraction, type MessageOptions } from 'discord.js';
export class DeleteButton {
diff --git a/src/lib/common/Format.ts b/src/lib/common/Format.ts
index 2557b17..55a6666 100644
--- a/src/lib/common/Format.ts
+++ b/src/lib/common/Format.ts
@@ -1,4 +1,4 @@
-import { type CodeBlockLang } from '@lib';
+import { type CodeBlockLang } from '#lib';
import { Formatters, Util } from 'discord.js';
/**
diff --git a/src/lib/common/Moderation.ts b/src/lib/common/Moderation.ts
index d0367d5..13ebf69 100644
--- a/src/lib/common/Moderation.ts
+++ b/src/lib/common/Moderation.ts
@@ -1,13 +1,13 @@
import {
- ActivePunishment,
- ActivePunishmentType,
- Guild,
- ModLog,
- ModLogType,
- type BushGuildMember,
- type BushGuildMemberResolvable,
- type BushGuildResolvable
-} from '@lib';
+ ActivePunishment,
+ ActivePunishmentType,
+ Guild,
+ ModLog,
+ ModLogType,
+ type BushGuildMember,
+ type BushGuildMemberResolvable,
+ type BushGuildResolvable
+} from '#lib';
import { type Snowflake } from 'discord.js';
export class Moderation {
diff --git a/src/lib/common/Sentry.ts b/src/lib/common/Sentry.ts
index 2040536..1de09ac 100644
--- a/src/lib/common/Sentry.ts
+++ b/src/lib/common/Sentry.ts
@@ -1,5 +1,5 @@
import * as SentryNode from '@sentry/node';
-import config from './../../config/options';
+import config from './../../config/options.js';
export class Sentry {
public constructor() {
diff --git a/src/lib/common/util/Arg.ts b/src/lib/common/util/Arg.ts
index 3c8e642..ee9aee0 100644
--- a/src/lib/common/util/Arg.ts
+++ b/src/lib/common/util/Arg.ts
@@ -1,4 +1,4 @@
-import { type BushArgumentType, type BushMessage, type BushSlashMessage } from '@lib';
+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';
diff --git a/src/lib/extensions/discord-akairo/BushArgumentTypeCaster.ts b/src/lib/extensions/discord-akairo/BushArgumentTypeCaster.ts
index c07644c..f27fb89 100644
--- a/src/lib/extensions/discord-akairo/BushArgumentTypeCaster.ts
+++ b/src/lib/extensions/discord-akairo/BushArgumentTypeCaster.ts
@@ -1,3 +1,3 @@
-import { type BushMessage } from '@lib';
+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 8f7533c..6b25aaa 100644
--- a/src/lib/extensions/discord-akairo/BushClient.ts
+++ b/src/lib/extensions/discord-akairo/BushClient.ts
@@ -1,12 +1,24 @@
+import type {
+ BushApplicationCommand,
+ BushBaseGuildEmojiManager,
+ BushChannel,
+ BushChannelManager,
+ BushClientEvents,
+ BushClientUser,
+ BushGuildManager,
+ BushReactionEmoji,
+ BushUserManager,
+ Config
+} from '#lib';
import * as Sentry from '@sentry/node';
import { AkairoClient, ContextMenuCommandHandler, version as akairoVersion } from 'discord-akairo';
import {
- DMChannel,
- Intents, Options,
- Structures, version as discordJsVersion,
+ Intents,
+ Options,
+ Structures,
+ version as discordJsVersion,
type Awaitable,
- type Collection,
- type InteractionReplyOptions,
+ type Collection, type DMChannel, type InteractionReplyOptions,
type Message,
type MessageEditOptions,
type MessageOptions,
@@ -18,66 +30,59 @@ import {
} from 'discord.js';
//@ts-ignore: no typings
import eventsIntercept from 'events-intercept';
-import path from 'path';
+import path, { dirname } from 'path';
import readline from 'readline';
-import { Sequelize } from 'sequelize';
-import { abbreviatedNumberTypeCaster } from '../../../arguments/abbreviatedNumber';
-import { contentWithDurationTypeCaster } from '../../../arguments/contentWithDuration';
-import { discordEmojiTypeCaster } from '../../../arguments/discordEmoji';
-import { durationTypeCaster } from '../../../arguments/duration';
-import { durationSecondsTypeCaster } from '../../../arguments/durationSeconds';
-import { globalUserTypeCaster } from '../../../arguments/globalUser';
-import { permissionTypeCaster } from '../../../arguments/permission';
-import { roleWithDurationTypeCaster } from '../../../arguments/roleWithDuation';
-import { snowflakeTypeCaster } from '../../../arguments/snowflake';
-import UpdateCacheTask from '../../../tasks/updateCache';
-import UpdateStatsTask from '../../../tasks/updateStats';
-import { ActivePunishment } from '../../models/ActivePunishment';
-import { Global } from '../../models/Global';
-import { Guild as GuildModel } from '../../models/Guild';
-import { Level } from '../../models/Level';
-import { ModLog } from '../../models/ModLog';
-import { Stat } from '../../models/Stat';
-import { StickyRole } from '../../models/StickyRole';
-import { AllowedMentions } from '../../utils/AllowedMentions';
-import { BushCache } from '../../utils/BushCache';
-import { BushConstants } from '../../utils/BushConstants';
-import { BushLogger } from '../../utils/BushLogger';
-import { Config } from '../../utils/Config';
-import { BushApplicationCommand } from '../discord.js/BushApplicationCommand';
-import { BushBaseGuildEmojiManager } from '../discord.js/BushBaseGuildEmojiManager';
-import { BushButtonInteraction } from '../discord.js/BushButtonInteraction';
-import { BushCategoryChannel } from '../discord.js/BushCategoryChannel';
-import { BushChannel } from '../discord.js/BushChannel';
-import { BushChannelManager } from '../discord.js/BushChannelManager';
-import { BushClientEvents } from '../discord.js/BushClientEvents';
-import { BushClientUser } from '../discord.js/BushClientUser';
-import { BushCommandInteraction } from '../discord.js/BushCommandInteraction';
-import { BushDMChannel } from '../discord.js/BushDMChannel';
-import { BushGuild } from '../discord.js/BushGuild';
-import { BushGuildEmoji } from '../discord.js/BushGuildEmoji';
-import { BushGuildManager } from '../discord.js/BushGuildManager';
-import { BushGuildMember } from '../discord.js/BushGuildMember';
-import { BushMessage } from '../discord.js/BushMessage';
-import { BushMessageReaction } from '../discord.js/BushMessageReaction';
-import { BushNewsChannel } from '../discord.js/BushNewsChannel';
-import { BushPresence } from '../discord.js/BushPresence';
-import { BushReactionEmoji } from '../discord.js/BushReactionEmoji';
-import { BushRole } from '../discord.js/BushRole';
-import { BushSelectMenuInteraction } from '../discord.js/BushSelectMenuInteraction';
-import { BushStoreChannel } from '../discord.js/BushStoreChannel';
-import { BushTextChannel } from '../discord.js/BushTextChannel';
-import { BushThreadChannel } from '../discord.js/BushThreadChannel';
-import { BushThreadMember } from '../discord.js/BushThreadMember';
-import { BushUser } from '../discord.js/BushUser';
-import { BushUserManager } from '../discord.js/BushUserManager';
-import { BushVoiceChannel } from '../discord.js/BushVoiceChannel';
-import { BushVoiceState } from '../discord.js/BushVoiceState';
-import { BushClientUtil } from './BushClientUtil';
-import { BushCommandHandler } from './BushCommandHandler';
-import { BushInhibitorHandler } from './BushInhibitorHandler';
-import { BushListenerHandler } from './BushListenerHandler';
-import { BushTaskHandler } from './BushTaskHandler';
+import type { Sequelize as SequelizeType } from 'sequelize';
+import { fileURLToPath } from 'url';
+import { abbreviatedNumberTypeCaster } from '../../../arguments/abbreviatedNumber.js';
+import { contentWithDurationTypeCaster } from '../../../arguments/contentWithDuration.js';
+import { discordEmojiTypeCaster } from '../../../arguments/discordEmoji.js';
+import { durationTypeCaster } from '../../../arguments/duration.js';
+import { durationSecondsTypeCaster } from '../../../arguments/durationSeconds.js';
+import { globalUserTypeCaster } from '../../../arguments/globalUser.js';
+import { permissionTypeCaster } from '../../../arguments/permission.js';
+import { roleWithDurationTypeCaster } from '../../../arguments/roleWithDuration.js';
+import { snowflakeTypeCaster } from '../../../arguments/snowflake.js';
+import UpdateCacheTask from '../../../tasks/updateCache.js';
+import UpdateStatsTask from '../../../tasks/updateStats.js';
+import { ActivePunishment } from '../../models/ActivePunishment.js';
+import { Global } from '../../models/Global.js';
+import { Guild as GuildModel } from '../../models/Guild.js';
+import { Level } from '../../models/Level.js';
+import { ModLog } from '../../models/ModLog.js';
+import { Stat } from '../../models/Stat.js';
+import { StickyRole } from '../../models/StickyRole.js';
+import { AllowedMentions } from '../../utils/AllowedMentions.js';
+import { BushCache } from '../../utils/BushCache.js';
+import { BushConstants } from '../../utils/BushConstants.js';
+import { BushLogger } from '../../utils/BushLogger.js';
+import { BushButtonInteraction } from '../discord.js/BushButtonInteraction.js';
+import { BushCategoryChannel } from '../discord.js/BushCategoryChannel.js';
+import { BushCommandInteraction } from '../discord.js/BushCommandInteraction.js';
+import { BushDMChannel } from '../discord.js/BushDMChannel.js';
+import { BushGuild } from '../discord.js/BushGuild.js';
+import { BushGuildEmoji } from '../discord.js/BushGuildEmoji.js';
+import { BushGuildMember } from '../discord.js/BushGuildMember.js';
+import { BushMessage } from '../discord.js/BushMessage.js';
+import { BushMessageReaction } from '../discord.js/BushMessageReaction.js';
+import { BushNewsChannel } from '../discord.js/BushNewsChannel.js';
+import { BushPresence } from '../discord.js/BushPresence.js';
+import { BushRole } from '../discord.js/BushRole.js';
+import { BushSelectMenuInteraction } from '../discord.js/BushSelectMenuInteraction.js';
+import { BushStoreChannel } from '../discord.js/BushStoreChannel.js';
+import { BushTextChannel } from '../discord.js/BushTextChannel.js';
+import { BushThreadChannel } from '../discord.js/BushThreadChannel.js';
+import { BushThreadMember } from '../discord.js/BushThreadMember.js';
+import { BushUser } from '../discord.js/BushUser.js';
+import { BushVoiceChannel } from '../discord.js/BushVoiceChannel.js';
+import { BushVoiceState } from '../discord.js/BushVoiceState.js';
+import { BushClientUtil } from './BushClientUtil.js';
+import { BushCommandHandler } from './BushCommandHandler.js';
+import { BushInhibitorHandler } from './BushInhibitorHandler.js';
+import { BushListenerHandler } from './BushListenerHandler.js';
+import { BushTaskHandler } from './BushTaskHandler.js';
+const { Sequelize } = (await import('sequelize')).default;
+
export type BushReplyMessageType = string | MessagePayload | ReplyMessageOptions;
export type BushEditMessageType = string | MessageEditOptions | MessagePayload;
@@ -110,6 +115,8 @@ const rl = readline.createInterface({
type If<T extends boolean, A, B = null> = T extends true ? A : T extends false ? B : A | B;
+const __dirname = dirname(fileURLToPath(import.meta.url));
+
export class BushClient<Ready extends boolean = boolean> extends AkairoClient<Ready> {
public static init(): void {
Structures.extend('GuildEmoji', () => BushGuildEmoji);
@@ -150,7 +157,7 @@ export class BushClient<Ready extends boolean = boolean> extends AkairoClient<Re
public contextMenuCommandHandler: ContextMenuCommandHandler;
public declare util: BushClientUtil;
public declare ownerID: Snowflake[];
- public db: Sequelize;
+ public db: SequelizeType;
public logger = BushLogger;
public constants = BushConstants;
public cache = BushCache;
diff --git a/src/lib/extensions/discord-akairo/BushClientUtil.ts b/src/lib/extensions/discord-akairo/BushClientUtil.ts
index 4507458..594c9af 100644
--- a/src/lib/extensions/discord-akairo/BushClientUtil.ts
+++ b/src/lib/extensions/discord-akairo/BushClientUtil.ts
@@ -4,12 +4,19 @@ import {
Global,
type BushCache,
type BushClient,
+ type BushInspectOptions,
type BushMessage,
+ type BushNewsChannel,
+ type BushSlashEditMessageType,
type BushSlashMessage,
+ type BushSlashSendMessageType,
+ type BushTextChannel,
type BushUser,
+ type BushUserResolvable,
+ type CodeBlockLang,
type Pronoun,
type PronounCode
-} from '@lib';
+} from '#lib';
import { exec } from 'child_process';
import { ClientUtil, Util as AkairoUtil } from 'discord-akairo';
import { APIMessage } from 'discord-api-types';
@@ -33,13 +40,8 @@ import humanizeDuration from 'humanize-duration';
import _ from 'lodash';
import moment from 'moment';
import { inspect, promisify } from 'util';
-import CommandErrorListener from '../../../listeners/commands/commandError';
-import { Format } from '../../common/Format';
-import { BushInspectOptions } from '../../common/typings/BushInspectOptions';
-import { CodeBlockLang } from '../../common/typings/CodeBlockLang';
-import { BushNewsChannel } from '../discord.js/BushNewsChannel';
-import { BushTextChannel } from '../discord.js/BushTextChannel';
-import { BushSlashEditMessageType, BushSlashSendMessageType, BushUserResolvable } from './BushClient';
+import CommandErrorListener from '../../../listeners/commands/commandError.js';
+import { Format } from '../../common/Format.js';
export class BushClientUtil extends ClientUtil {
/