From f6e83b3710a333828af849f0d0303f82eceec5d4 Mon Sep 17 00:00:00 2001 From: Tarrgon <61888458+Tarrgon@users.noreply.github.com> Date: Sun, 14 Sep 2025 08:05:59 -0400 Subject: [PATCH] Remove unused imports --- src/buttons/claim-ticket.ts | 2 +- src/buttons/close-ticket.ts | 2 +- src/buttons/dev-watch.ts | 2 +- src/buttons/unclaim-ticket.ts | 2 +- src/commands/ban.ts | 5 ++--- src/commands/cite.ts | 3 +-- src/commands/knowledgebase.ts | 4 ++-- src/commands/link.ts | 6 +++--- src/commands/notes.ts | 4 ++-- src/commands/phrases.ts | 5 ++--- src/commands/private-help.ts | 2 +- src/events/handle-audit-log-create.ts | 4 ++-- src/events/handle-message.ts | 4 ++-- src/index.ts | 8 ++++---- src/modals/add-note-modal.ts | 2 +- src/modals/open-ticket-modal.ts | 2 +- src/modals/sync-name-modal.ts | 5 ++--- src/utils/audit-log-utils.ts | 2 +- src/utils/event-log-utils.ts | 6 +++--- tsconfig.json | 1 + 20 files changed, 34 insertions(+), 37 deletions(-) diff --git a/src/buttons/claim-ticket.ts b/src/buttons/claim-ticket.ts index 0cc52c8..5b77ba2 100644 --- a/src/buttons/claim-ticket.ts +++ b/src/buttons/claim-ticket.ts @@ -1,4 +1,4 @@ -import { ActionRowBuilder, ButtonInteraction, Client, ModalBuilder, TextInputBuilder, TextInputStyle, MessageFlags, ChannelType, PermissionFlagsBits, ButtonBuilder, ButtonStyle } from 'discord.js'; +import { ActionRowBuilder, ButtonBuilder, ButtonInteraction, ButtonStyle, ChannelType, Client, MessageFlags, PermissionFlagsBits } from 'discord.js'; import { Database } from '../shared/Database'; export default { diff --git a/src/buttons/close-ticket.ts b/src/buttons/close-ticket.ts index 1578be4..4a731c9 100644 --- a/src/buttons/close-ticket.ts +++ b/src/buttons/close-ticket.ts @@ -1,4 +1,4 @@ -import { ActionRowBuilder, ButtonInteraction, Client, ModalBuilder, TextInputBuilder, TextInputStyle, MessageFlags, ChannelType, ButtonBuilder, ButtonStyle } from 'discord.js'; +import { ButtonInteraction, Client, MessageFlags, ChannelType } from 'discord.js'; import { Database } from '../shared/Database'; export default { diff --git a/src/buttons/dev-watch.ts b/src/buttons/dev-watch.ts index 05bffcc..ecaf201 100644 --- a/src/buttons/dev-watch.ts +++ b/src/buttons/dev-watch.ts @@ -1,4 +1,4 @@ -import { ActionRowBuilder, ButtonInteraction, Client, ModalBuilder, TextInputBuilder, TextInputStyle, MessageFlags } from 'discord.js'; +import { ButtonInteraction, Client, MessageFlags } from 'discord.js'; import { Database } from '../shared/Database'; export default { diff --git a/src/buttons/unclaim-ticket.ts b/src/buttons/unclaim-ticket.ts index f6f1a9d..7c320d5 100644 --- a/src/buttons/unclaim-ticket.ts +++ b/src/buttons/unclaim-ticket.ts @@ -1,4 +1,4 @@ -import { ActionRowBuilder, ButtonInteraction, Client, ModalBuilder, TextInputBuilder, TextInputStyle, MessageFlags, ChannelType, PermissionFlagsBits, ButtonBuilder, ButtonStyle } from 'discord.js'; +import { ActionRowBuilder, ButtonBuilder, ButtonInteraction, ButtonStyle, ChannelType, Client, MessageFlags, PermissionFlagsBits } from 'discord.js'; import { Database } from '../shared/Database'; export default { diff --git a/src/commands/ban.ts b/src/commands/ban.ts index f0addb6..f05b80c 100644 --- a/src/commands/ban.ts +++ b/src/commands/ban.ts @@ -1,7 +1,6 @@ -import { ApplicationIntegrationType, BitFieldResolvable, ChatInputCommandInteraction, Client, GuildBasedChannel, GuildMember, InteractionContextType, MessageFlags, MessageMentions, PermissionFlagsBits, SlashCommandBuilder, time, TimestampStyles } from 'discord.js'; -import { channelIsInStaffCategory, deferInteraction, handleWhoIsInteraction } from '../utils'; -import { getRecordMessageFromDiscordId } from '../utils/record-utils'; +import { ApplicationIntegrationType, ChatInputCommandInteraction, Client, GuildMember, InteractionContextType, MessageMentions, PermissionFlagsBits, SlashCommandBuilder, time, TimestampStyles } from 'discord.js'; import { Database } from '../shared/Database'; +import { deferInteraction } from '../utils'; const mentionRegex = new RegExp(MessageMentions.UsersPattern); diff --git a/src/commands/cite.ts b/src/commands/cite.ts index 2c15d2b..e4cdb95 100644 --- a/src/commands/cite.ts +++ b/src/commands/cite.ts @@ -1,5 +1,4 @@ -import { ApplicationIntegrationType, AutocompleteInteraction, BitFieldResolvable, ChatInputCommandInteraction, Client, GuildBasedChannel, GuildMember, InteractionContextType, MessageFlags, MessageMentions, PermissionFlagsBits, SlashCommandBuilder, time, TimestampStyles } from 'discord.js'; -import { deferInteraction } from '../utils'; +import { ApplicationIntegrationType, AutocompleteInteraction, ChatInputCommandInteraction, Client, InteractionContextType, MessageFlags, PermissionFlagsBits, SlashCommandBuilder } from 'discord.js'; import { Database } from '../shared/Database'; import { KnowledgebaseItem } from '../types'; diff --git a/src/commands/knowledgebase.ts b/src/commands/knowledgebase.ts index 7eac4a9..dae34a6 100644 --- a/src/commands/knowledgebase.ts +++ b/src/commands/knowledgebase.ts @@ -1,7 +1,7 @@ -import { ApplicationIntegrationType, AutocompleteInteraction, BitFieldResolvable, ChatInputCommandInteraction, Client, GuildBasedChannel, GuildMember, InteractionContextType, MessageFlags, MessageMentions, PermissionFlagsBits, SlashCommandBuilder, time, TimestampStyles } from 'discord.js'; -import { deferInteraction } from '../utils'; +import { ApplicationIntegrationType, AutocompleteInteraction, ChatInputCommandInteraction, Client, InteractionContextType, MessageFlags, PermissionFlagsBits, SlashCommandBuilder } from 'discord.js'; import { Database } from '../shared/Database'; import { KnowledgebaseItem } from '../types'; +import { deferInteraction } from '../utils'; export default { name: 'knowledgebase', diff --git a/src/commands/link.ts b/src/commands/link.ts index 86edf52..e4f4025 100644 --- a/src/commands/link.ts +++ b/src/commands/link.ts @@ -1,7 +1,7 @@ -import { ApplicationIntegrationType, BitFieldResolvable, ChatInputCommandInteraction, Client, GuildBasedChannel, InteractionContextType, MessageFlags, MessageMentions, PermissionFlagsBits, SlashCommandBuilder, User } from 'discord.js'; -import { channelIsInStaffCategory, handleWhoIsInteraction, logCustomEvent, resolveUser } from '../utils'; -import { Database } from '../shared/Database'; +import { ApplicationIntegrationType, ChatInputCommandInteraction, Client, InteractionContextType, MessageFlags, MessageMentions, PermissionFlagsBits, SlashCommandBuilder } from 'discord.js'; import { config } from '../config'; +import { Database } from '../shared/Database'; +import { logCustomEvent, resolveUser } from '../utils'; const mentionRegex = new RegExp(MessageMentions.UsersPattern); diff --git a/src/commands/notes.ts b/src/commands/notes.ts index e2e1291..a5d3178 100644 --- a/src/commands/notes.ts +++ b/src/commands/notes.ts @@ -1,6 +1,6 @@ -import { ApplicationCommandOptionType, ApplicationIntegrationType, AutocompleteInteraction, ChatInputCommandInteraction, Client, GuildBasedChannel, InteractionContextType, MessageFlags, MessageMentions, PermissionFlagsBits, SlashCommandBuilder, User } from 'discord.js'; +import { ApplicationIntegrationType, AutocompleteInteraction, ChatInputCommandInteraction, Client, InteractionContextType, MessageMentions, PermissionFlagsBits, SlashCommandBuilder } from 'discord.js'; import { Database } from '../shared/Database'; -import { channelIsInStaffCategory, deferInteraction, logCustomEvent, resolveUser } from '../utils'; +import { deferInteraction, logCustomEvent, resolveUser } from '../utils'; import { getNoteMessage } from '../utils/note-utils'; const mentionRegex = new RegExp(MessageMentions.UsersPattern); diff --git a/src/commands/phrases.ts b/src/commands/phrases.ts index aff2f13..3d022b6 100644 --- a/src/commands/phrases.ts +++ b/src/commands/phrases.ts @@ -1,8 +1,7 @@ -import { ApplicationIntegrationType, AutocompleteInteraction, ChatInputCommandInteraction, Client, InteractionContextType, MessageFlags, PermissionFlagsBits, SlashCommandBuilder, User } from 'discord.js'; +import { ApplicationIntegrationType, AutocompleteInteraction, ChatInputCommandInteraction, Client, InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, User } from 'discord.js'; import { Database } from '../shared/Database'; -import { getE621User, logCustomEvent } from '../utils'; -import { config } from '../config'; import { TicketPhrase } from '../types'; +import { logCustomEvent } from '../utils'; const MIN_PHRASE_LENGTH = 1; const MAX_PHRASE_LENGTH = 512; diff --git a/src/commands/private-help.ts b/src/commands/private-help.ts index 10bbf5f..d5286a7 100644 --- a/src/commands/private-help.ts +++ b/src/commands/private-help.ts @@ -1,4 +1,4 @@ -import { ActionRow, ActionRowBuilder, ApplicationIntegrationType, ButtonBuilder, ButtonStyle, ChatInputCommandInteraction, Client, InteractionContextType, MessageFlags, PermissionFlagsBits, RateLimitError, SlashCommandBuilder } from 'discord.js'; +import { ActionRowBuilder, ApplicationIntegrationType, ButtonBuilder, ButtonStyle, ChatInputCommandInteraction, Client, InteractionContextType, MessageFlags, PermissionFlagsBits, SlashCommandBuilder } from 'discord.js'; export default { name: 'private-help', diff --git a/src/events/handle-audit-log-create.ts b/src/events/handle-audit-log-create.ts index e212a22..44471bb 100644 --- a/src/events/handle-audit-log-create.ts +++ b/src/events/handle-audit-log-create.ts @@ -1,6 +1,6 @@ -import { APIEmbedField, APIRole, AuditLogChange, AuditLogEvent, EmbedBuilder, EmbedField, Guild, GuildAuditLogsEntry, PermissionsBitField, Role, RoleFlags, SlashCommandSubcommandGroupBuilder, SnowflakeUtil } from 'discord.js'; -import { formatChanges, formatExtras, formatSnowflake, getTargetType } from '../utils'; +import { APIEmbedField, APIRole, AuditLogEvent, EmbedBuilder, Guild, GuildAuditLogsEntry, RoleFlags, SnowflakeUtil } from 'discord.js'; import { Database } from '../shared/Database'; +import { formatChanges, formatExtras, formatSnowflake, getTargetType } from '../utils'; const IGNORED_ACTIONS = [ AuditLogEvent.MemberMove, diff --git a/src/events/handle-message.ts b/src/events/handle-message.ts index 331b0f4..16e9226 100644 --- a/src/events/handle-message.ts +++ b/src/events/handle-message.ts @@ -1,7 +1,7 @@ -import { AllowedMentionsTypes, Message as DiscordMessage, GuildBasedChannel, GuildTextBasedChannel, OmitPartialGroupDMChannel, PartialMessage, ReadonlyCollection, spoiler } from 'discord.js'; +import { Message as DiscordMessage, GuildBasedChannel, GuildTextBasedChannel, OmitPartialGroupDMChannel, PartialMessage, ReadonlyCollection, spoiler } from 'discord.js'; import { config } from '../config'; -import { E621Post } from '../types'; import { Database } from '../shared/Database'; +import { E621Post } from '../types'; import { ALLOWED_MIMETYPES, blipIDRegex, calculateMD5FromURL, channelIgnoresLinks, channelIsInStaffCategory, channelIsSafe, commentIDRegex, forumTopicIDRegex, getE621Post, getE621PostByMd5, getPostUrl, isEdited, isInSpoilerTags, logDeletion, logEdit, poolIDRegex, PostAction, postIDRegex, recordIDRegex, searchLinkRegex, setIDRegex, spoilerOrBlacklist, takedownIDRegex, ticketIDRegex, userIDRegex, wikiLinkRegex } from '../utils'; export type Message = OmitPartialGroupDMChannel>; diff --git a/src/index.ts b/src/index.ts index e8e82b6..cb936f9 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,12 +1,12 @@ +import { Client as DiscordClient, GatewayIntentBits, MessageFlags, Partials } from 'discord.js'; import 'source-map-support/register'; -import { Client as DiscordClient, GatewayIntentBits, Guild, MessageFlags, Partials } from 'discord.js'; import { config } from './config'; +import { handleAuditLogCreate, handleBanRemove, handleBulkMessageDelete, handleGuildCreate, handleMemberJoin, handleMessageCreate, handleMessageDelete, handleMessageUpdate, handleThreadCreate, handleVoiceStateUpdate } from './events'; +import { Database } from './shared/Database'; +import { openRedisClient } from './shared/RedisClient'; import { Handler } from './types'; import { checkExpiredBans, initIfNecessary, loadHandlersFrom, refreshCommands } from './utils'; import { initializeWebserver } from './webserver'; -import { Database } from './shared/Database'; -import { handleAuditLogCreate, handleBanRemove, handleBulkMessageDelete, handleGuildCreate, handleMemberJoin, handleMessageCreate, handleMessageDelete, handleMessageUpdate, handleThreadCreate, handleVoiceStateUpdate } from './events'; -import { openRedisClient } from './shared/RedisClient'; let ready = false; diff --git a/src/modals/add-note-modal.ts b/src/modals/add-note-modal.ts index 9c90edf..e3b34a8 100644 --- a/src/modals/add-note-modal.ts +++ b/src/modals/add-note-modal.ts @@ -1,4 +1,4 @@ -import { ActionRowBuilder, ButtonBuilder, ButtonStyle, ChannelType, Client, GuildTextBasedChannel, MessageFlags, ModalSubmitInteraction, TextChannel, ThreadAutoArchiveDuration } from 'discord.js'; +import { Client, MessageFlags, ModalSubmitInteraction } from 'discord.js'; import { Database } from '../shared/Database'; import { logCustomEvent } from '../utils'; diff --git a/src/modals/open-ticket-modal.ts b/src/modals/open-ticket-modal.ts index 07e82e2..019eaa1 100644 --- a/src/modals/open-ticket-modal.ts +++ b/src/modals/open-ticket-modal.ts @@ -1,4 +1,4 @@ -import { ActionRowBuilder, ButtonBuilder, ButtonStyle, ChannelType, Client, GuildTextBasedChannel, MessageFlags, ModalSubmitInteraction, TextChannel, ThreadAutoArchiveDuration } from 'discord.js'; +import { ActionRowBuilder, ButtonBuilder, ButtonStyle, ChannelType, Client, MessageFlags, ModalSubmitInteraction, TextChannel, ThreadAutoArchiveDuration } from 'discord.js'; import { Database } from '../shared/Database'; export default { diff --git a/src/modals/sync-name-modal.ts b/src/modals/sync-name-modal.ts index d12d484..b80e75b 100644 --- a/src/modals/sync-name-modal.ts +++ b/src/modals/sync-name-modal.ts @@ -1,7 +1,6 @@ -import { ActionRowBuilder, ButtonBuilder, ButtonStyle, ChannelType, Client, GuildTextBasedChannel, MessageFlags, ModalSubmitInteraction, TextChannel, ThreadAutoArchiveDuration } from 'discord.js'; -import { Database } from '../shared/Database'; -import { deferInteraction, logCustomEvent, syncName } from '../utils'; +import { Client, ModalSubmitInteraction } from 'discord.js'; import { config } from '../config'; +import { deferInteraction, syncName } from '../utils'; export default { name: 'sync-name-modal', diff --git a/src/utils/audit-log-utils.ts b/src/utils/audit-log-utils.ts index a3dc77f..caac603 100644 --- a/src/utils/audit-log-utils.ts +++ b/src/utils/audit-log-utils.ts @@ -1,4 +1,4 @@ -import { AuditLogChange, AuditLogEvent, AuditLogOptionsType, GuildAuditLogsEntry, APIRole, time, TimestampStyles, PermissionsBitField, PermissionsString, Guild } from 'discord.js'; +import { AuditLogChange, AuditLogEvent, Guild, GuildAuditLogsEntry, PermissionsBitField, PermissionsString, time, TimestampStyles } from 'discord.js'; import { ApplicationCommandPermissionChangeLog, PermissionsChangeLog, PinExtras, RoleChangeLog, TimeoutChangeLog } from '../types'; import { getArrayDifference } from './array-utils'; diff --git a/src/utils/event-log-utils.ts b/src/utils/event-log-utils.ts index 5f1f424..8b2067e 100644 --- a/src/utils/event-log-utils.ts +++ b/src/utils/event-log-utils.ts @@ -1,9 +1,9 @@ -import { APIEmbedField, AttachmentBuilder, Channel, EmbedBuilder, Guild, GuildBasedChannel, GuildTextBasedChannel, MessageCreateOptions, messageLink, TextBasedChannel } from 'discord.js'; -import { Database } from '../shared/Database'; +import { APIEmbedField, AttachmentBuilder, EmbedBuilder, Guild, GuildBasedChannel, GuildTextBasedChannel, MessageCreateOptions } from 'discord.js'; import { Message } from '../events'; -import { deserializeMessagePart, getModifiedAttachments, getModifiedStickers } from './message-utils'; +import { Database } from '../shared/Database'; import { LoggedMessage } from '../types'; import { channelIsInStaffCategory } from './channel-utils'; +import { deserializeMessagePart, getModifiedAttachments, getModifiedStickers } from './message-utils'; type CustomEventLogData = { title: string diff --git a/tsconfig.json b/tsconfig.json index e60475a..af3b1b6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,6 +7,7 @@ "outDir": "./dist", "rootDir": "./src", "noImplicitAny": false, + "noUnusedLocals": true, "esModuleInterop": true, "resolveJsonModule": true, "strict": true,