diff options
Diffstat (limited to 'src/lib/extensions/discord-akairo')
13 files changed, 93 insertions, 84 deletions
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 { /** diff --git a/src/lib/extensions/discord-akairo/BushCommand.ts b/src/lib/extensions/discord-akairo/BushCommand.ts index 40c5974..b079649 100644 --- a/src/lib/extensions/discord-akairo/BushCommand.ts +++ b/src/lib/extensions/discord-akairo/BushCommand.ts @@ -1,4 +1,4 @@ -import { type BushClient, type BushCommandHandler, type BushMessage, type BushSlashMessage } from '@lib'; +import { type BushClient, type BushCommandHandler, type BushMessage, type BushSlashMessage } from '#lib'; import { Command, type ArgumentOptions, type ArgumentPromptOptions, type ArgumentTypeCaster, type CommandOptions } from 'discord-akairo'; import { type PermissionResolvable, type Snowflake } from 'discord.js'; diff --git a/src/lib/extensions/discord-akairo/BushCommandHandler.ts b/src/lib/extensions/discord-akairo/BushCommandHandler.ts index 09cb303..2a74aa4 100644 --- a/src/lib/extensions/discord-akairo/BushCommandHandler.ts +++ b/src/lib/extensions/discord-akairo/BushCommandHandler.ts @@ -1,4 +1,4 @@ -import { type BushClient, type BushCommand, type BushMessage, type BushSlashMessage } from '@lib'; +import { type BushClient, type BushCommand, type BushMessage, type BushSlashMessage } from '#lib'; import { CommandHandler, type Category, type CommandHandlerEvents, type CommandHandlerOptions } from 'discord-akairo'; import { type Collection, type PermissionString } from 'discord.js'; diff --git a/src/lib/extensions/discord-akairo/BushCommandUtil.ts b/src/lib/extensions/discord-akairo/BushCommandUtil.ts index 04533bd..f7dd631 100644 --- a/src/lib/extensions/discord-akairo/BushCommandUtil.ts +++ b/src/lib/extensions/discord-akairo/BushCommandUtil.ts @@ -1,4 +1,4 @@ -import { type BushCommand, type BushCommandHandler, type BushMessage, type BushSlashMessage } from '@lib'; +import { type BushCommand, type BushCommandHandler, type BushMessage, type BushSlashMessage } from '#lib'; import { CommandUtil, type ParsedComponentData } from 'discord-akairo'; import { type Collection, type Snowflake } from 'discord.js'; diff --git a/src/lib/extensions/discord-akairo/BushInhibitor.ts b/src/lib/extensions/discord-akairo/BushInhibitor.ts index 638f663..78563c9 100644 --- a/src/lib/extensions/discord-akairo/BushInhibitor.ts +++ b/src/lib/extensions/discord-akairo/BushInhibitor.ts @@ -1,4 +1,4 @@ -import { type BushClient, type BushCommand, type BushMessage, type BushSlashMessage } from '@lib'; +import { type BushClient, type BushCommand, type BushMessage, type BushSlashMessage } from '#lib'; import { Inhibitor } from 'discord-akairo'; export class BushInhibitor extends Inhibitor { diff --git a/src/lib/extensions/discord-akairo/BushInhibitorHandler.ts b/src/lib/extensions/discord-akairo/BushInhibitorHandler.ts index 4984934..a607bf7 100644 --- a/src/lib/extensions/discord-akairo/BushInhibitorHandler.ts +++ b/src/lib/extensions/discord-akairo/BushInhibitorHandler.ts @@ -1,4 +1,4 @@ -import { type BushClient } from '@lib'; +import { type BushClient } from '#lib'; import { InhibitorHandler } from 'discord-akairo'; export class BushInhibitorHandler extends InhibitorHandler { diff --git a/src/lib/extensions/discord-akairo/BushListener.ts b/src/lib/extensions/discord-akairo/BushListener.ts index e3c845c..28aefe5 100644 --- a/src/lib/extensions/discord-akairo/BushListener.ts +++ b/src/lib/extensions/discord-akairo/BushListener.ts @@ -1,4 +1,4 @@ -import { type BushClient } from '@lib'; +import { type BushClient } from '#lib'; import { Listener } from 'discord-akairo'; import type EventEmitter from 'events'; diff --git a/src/lib/extensions/discord-akairo/BushListenerHandler.ts b/src/lib/extensions/discord-akairo/BushListenerHandler.ts index f5354e4..5a556c3 100644 --- a/src/lib/extensions/discord-akairo/BushListenerHandler.ts +++ b/src/lib/extensions/discord-akairo/BushListenerHandler.ts @@ -1,4 +1,4 @@ -import { type BushClient } from '@lib'; +import { type BushClient } from '#lib'; import { ListenerHandler } from 'discord-akairo'; export class BushListenerHandler extends ListenerHandler { diff --git a/src/lib/extensions/discord-akairo/BushSlashMessage.ts b/src/lib/extensions/discord-akairo/BushSlashMessage.ts index fd248b1..4e0c297 100644 --- a/src/lib/extensions/discord-akairo/BushSlashMessage.ts +++ b/src/lib/extensions/discord-akairo/BushSlashMessage.ts @@ -1,4 +1,4 @@ -import { type BushClient, type BushCommandUtil, type BushGuild, type BushGuildMember, type BushUser } from '@lib'; +import { type BushClient, type BushCommandUtil, type BushGuild, type BushGuildMember, type BushUser } from '#lib'; import { AkairoMessage } from 'discord-akairo'; import { type CommandInteraction } from 'discord.js'; diff --git a/src/lib/extensions/discord-akairo/BushTask.ts b/src/lib/extensions/discord-akairo/BushTask.ts index 299e977..4a2068d 100644 --- a/src/lib/extensions/discord-akairo/BushTask.ts +++ b/src/lib/extensions/discord-akairo/BushTask.ts @@ -1,4 +1,4 @@ -import { type BushClient } from '@lib'; +import { type BushClient } from '#lib'; import { Task, type TaskOptions } from 'discord-akairo'; export class BushTask extends Task { diff --git a/src/lib/extensions/discord-akairo/BushTaskHandler.ts b/src/lib/extensions/discord-akairo/BushTaskHandler.ts index 8531ff1..d5ccad6 100644 --- a/src/lib/extensions/discord-akairo/BushTaskHandler.ts +++ b/src/lib/extensions/discord-akairo/BushTaskHandler.ts @@ -1,4 +1,4 @@ -import { type BushClient } from '@lib'; +import { type BushClient } from '#lib'; import { TaskHandler, type AkairoHandlerOptions } from 'discord-akairo'; export type BushTaskHandlerOptions = AkairoHandlerOptions; |