diff --git a/backend/src/RegExpRunner.ts b/backend/src/RegExpRunner.ts index d66df414..96d39be3 100644 --- a/backend/src/RegExpRunner.ts +++ b/backend/src/RegExpRunner.ts @@ -1,7 +1,7 @@ -import { RegExpWorker, TimeoutError } from "regexp-worker"; -import { CooldownManager } from "knub"; -import { MINUTES, SECONDS } from "./utils"; import { EventEmitter } from "events"; +import { CooldownManager } from "knub"; +import { RegExpWorker, TimeoutError } from "regexp-worker"; +import { MINUTES, SECONDS } from "./utils"; import Timeout = NodeJS.Timeout; const isTimeoutError = (a): a is TimeoutError => { diff --git a/backend/src/api/archives.ts b/backend/src/api/archives.ts index b1330a98..3c1ae702 100644 --- a/backend/src/api/archives.ts +++ b/backend/src/api/archives.ts @@ -1,7 +1,7 @@ import express, { Request, Response } from "express"; +import moment from "moment-timezone"; import { GuildArchives } from "../data/GuildArchives"; import { notFound } from "./responses"; -import moment from "moment-timezone"; export function initArchives(app: express.Express) { const archives = new GuildArchives(null); diff --git a/backend/src/api/auth.ts b/backend/src/api/auth.ts index 2a5d3445..c891ac63 100644 --- a/backend/src/api/auth.ts +++ b/backend/src/api/auth.ts @@ -1,13 +1,13 @@ import express, { Request, Response } from "express"; -import passport from "passport"; -import OAuth2Strategy from "passport-oauth2"; -import { Strategy as CustomStrategy } from "passport-custom"; -import { ApiLogins } from "../data/ApiLogins"; -import pick from "lodash.pick"; import https from "https"; +import pick from "lodash.pick"; +import passport from "passport"; +import { Strategy as CustomStrategy } from "passport-custom"; +import OAuth2Strategy from "passport-oauth2"; +import { ApiLogins } from "../data/ApiLogins"; +import { ApiPermissionAssignments } from "../data/ApiPermissionAssignments"; import { ApiUserInfo } from "../data/ApiUserInfo"; import { ApiUserInfoData } from "../data/entities/ApiUserInfo"; -import { ApiPermissionAssignments } from "../data/ApiPermissionAssignments"; import { ok } from "./responses"; interface IPassportApiUser { diff --git a/backend/src/api/docs.ts b/backend/src/api/docs.ts index 22a70fa0..3009a4e1 100644 --- a/backend/src/api/docs.ts +++ b/backend/src/api/docs.ts @@ -1,7 +1,7 @@ import express from "express"; import { guildPlugins } from "../plugins/availablePlugins"; -import { notFound } from "./responses"; import { indentLines } from "../utils"; +import { notFound } from "./responses"; function formatConfigSchema(schema) { if (schema._tag === "InterfaceType" || schema._tag === "PartialType") { diff --git a/backend/src/api/guilds.ts b/backend/src/api/guilds.ts index 213dcb44..8969b29c 100644 --- a/backend/src/api/guilds.ts +++ b/backend/src/api/guilds.ts @@ -1,13 +1,13 @@ -import express, { Request, Response } from "express"; -import { AllowedGuilds } from "../data/AllowedGuilds"; -import { clientError, ok, serverError, unauthorized } from "./responses"; -import { Configs } from "../data/Configs"; -import { validateGuildConfig } from "../configValidator"; -import yaml, { YAMLException } from "js-yaml"; -import { apiTokenAuthHandlers } from "./auth"; import { ApiPermissions } from "@shared/apiPermissions"; -import { hasGuildPermission, requireGuildPermission } from "./permissions"; +import express, { Request, Response } from "express"; +import yaml, { YAMLException } from "js-yaml"; +import { validateGuildConfig } from "../configValidator"; +import { AllowedGuilds } from "../data/AllowedGuilds"; import { ApiPermissionAssignments } from "../data/ApiPermissionAssignments"; +import { Configs } from "../data/Configs"; +import { apiTokenAuthHandlers } from "./auth"; +import { hasGuildPermission, requireGuildPermission } from "./permissions"; +import { clientError, ok, serverError, unauthorized } from "./responses"; const apiPermissionAssignments = new ApiPermissionAssignments(); diff --git a/backend/src/api/index.ts b/backend/src/api/index.ts index 7579c34e..671f6c8b 100644 --- a/backend/src/api/index.ts +++ b/backend/src/api/index.ts @@ -1,8 +1,7 @@ +import { connect } from "../data/db"; +import { setIsAPI } from "../globals"; import "./loadEnv"; -import { connect } from "../data/db"; -import path from "path"; -import { setIsAPI } from "../globals"; if (!process.env.KEY) { // tslint:disable-next-line:no-console diff --git a/backend/src/api/permissions.ts b/backend/src/api/permissions.ts index 7433734a..9552aaf4 100644 --- a/backend/src/api/permissions.ts +++ b/backend/src/api/permissions.ts @@ -1,7 +1,7 @@ import { ApiPermissions, hasPermission, permissionArrToSet } from "@shared/apiPermissions"; -import { isStaff } from "../staff"; -import { ApiPermissionAssignments } from "../data/ApiPermissionAssignments"; import { Request, Response } from "express"; +import { ApiPermissionAssignments } from "../data/ApiPermissionAssignments"; +import { isStaff } from "../staff"; import { unauthorized } from "./responses"; const apiPermissionAssignments = new ApiPermissionAssignments(); diff --git a/backend/src/api/staff.ts b/backend/src/api/staff.ts index 82109735..08f0dc09 100644 --- a/backend/src/api/staff.ts +++ b/backend/src/api/staff.ts @@ -1,6 +1,6 @@ import express, { Request, Response } from "express"; -import { apiTokenAuthHandlers } from "./auth"; import { isStaff } from "../staff"; +import { apiTokenAuthHandlers } from "./auth"; export function initStaff(app: express.Express) { const staffRouter = express.Router(); diff --git a/backend/src/api/start.ts b/backend/src/api/start.ts index 0932edd4..2e3e2c7d 100644 --- a/backend/src/api/start.ts +++ b/backend/src/api/start.ts @@ -1,11 +1,11 @@ -import { clientError, error, notFound } from "./responses"; -import express from "express"; import cors from "cors"; -import { initAuth } from "./auth"; -import { initGuildsAPI } from "./guilds"; -import { initArchives } from "./archives"; -import { initDocs } from "./docs"; +import express from "express"; import { TokenError } from "passport-oauth2"; +import { initArchives } from "./archives"; +import { initAuth } from "./auth"; +import { initDocs } from "./docs"; +import { initGuildsAPI } from "./guilds"; +import { clientError, error, notFound } from "./responses"; const app = express(); diff --git a/backend/src/commandTypes.ts b/backend/src/commandTypes.ts index 647dde5c..4790dc68 100644 --- a/backend/src/commandTypes.ts +++ b/backend/src/commandTypes.ts @@ -1,21 +1,21 @@ -import { - channelMentionRegex, - convertDelayStringToMS, - disableCodeBlocks, - disableInlineCode, - isValidSnowflake, - resolveMember, - resolveUser, - resolveUserId, - roleMentionRegex, - UnknownUser, -} from "./utils"; -import { baseTypeConverters, baseCommandParameterTypeHelpers, CommandContext, TypeConversionError } from "knub"; +import { GuildChannel, GuildMember, User } from "discord.js"; +import { baseCommandParameterTypeHelpers, baseTypeConverters, CommandContext, TypeConversionError } from "knub"; import { createTypeHelper } from "knub-command-manager"; +import { + channelMentionRegex, + convertDelayStringToMS, + disableCodeBlocks, + disableInlineCode, + isValidSnowflake, + resolveMember, + resolveUser, + resolveUserId, + roleMentionRegex, + UnknownUser +} from "./utils"; +import { isValidTimezone } from "./utils/isValidTimezone"; import { MessageTarget, resolveMessageTarget } from "./utils/resolveMessageTarget"; import { inputPatternToRegExp } from "./validatorUtils"; -import { isValidTimezone } from "./utils/isValidTimezone"; -import { GuildChannel, GuildMember, User } from "discord.js"; export const commandTypes = { ...baseTypeConverters, diff --git a/backend/src/configValidator.ts b/backend/src/configValidator.ts index 9ea4e804..0c45c611 100644 --- a/backend/src/configValidator.ts +++ b/backend/src/configValidator.ts @@ -1,10 +1,9 @@ -import * as t from "io-ts"; -import { guildPlugins } from "./plugins/availablePlugins"; -import { decodeAndValidateStrict, StrictValidationError } from "./validatorUtils"; -import { ZeppelinPlugin } from "./plugins/ZeppelinPlugin"; -import { PartialZeppelinGuildConfigSchema, ZeppelinGuildConfig } from "./types"; import { configUtils, ConfigValidationError, PluginOptions } from "knub"; import moment from "moment-timezone"; +import { guildPlugins } from "./plugins/availablePlugins"; +import { ZeppelinPlugin } from "./plugins/ZeppelinPlugin"; +import { PartialZeppelinGuildConfigSchema, ZeppelinGuildConfig } from "./types"; +import { decodeAndValidateStrict, StrictValidationError } from "./validatorUtils"; const pluginNameToPlugin = new Map(); for (const plugin of guildPlugins) { diff --git a/backend/src/data/AllowedGuilds.ts b/backend/src/data/AllowedGuilds.ts index 0efe9770..e3399fea 100644 --- a/backend/src/data/AllowedGuilds.ts +++ b/backend/src/data/AllowedGuilds.ts @@ -1,7 +1,7 @@ -import { AllowedGuild } from "./entities/AllowedGuild"; import { getRepository, Repository } from "typeorm"; -import { BaseRepository } from "./BaseRepository"; import { ApiPermissionTypes } from "./ApiPermissionAssignments"; +import { BaseRepository } from "./BaseRepository"; +import { AllowedGuild } from "./entities/AllowedGuild"; export class AllowedGuilds extends BaseRepository { private allowedGuilds: Repository; diff --git a/backend/src/data/ApiLogins.ts b/backend/src/data/ApiLogins.ts index 645fcd47..23bb7e49 100644 --- a/backend/src/data/ApiLogins.ts +++ b/backend/src/data/ApiLogins.ts @@ -1,11 +1,11 @@ -import { getRepository, Repository } from "typeorm"; -import { ApiLogin } from "./entities/ApiLogin"; -import { BaseRepository } from "./BaseRepository"; import crypto from "crypto"; import moment from "moment-timezone"; +import { getRepository, Repository } from "typeorm"; // tslint:disable-next-line:no-submodule-imports import uuidv4 from "uuid/v4"; import { DAYS, DBDateFormat } from "../utils"; +import { BaseRepository } from "./BaseRepository"; +import { ApiLogin } from "./entities/ApiLogin"; const LOGIN_EXPIRY_TIME = 1 * DAYS; diff --git a/backend/src/data/ApiPermissionAssignments.ts b/backend/src/data/ApiPermissionAssignments.ts index dbcc0e26..29686adc 100644 --- a/backend/src/data/ApiPermissionAssignments.ts +++ b/backend/src/data/ApiPermissionAssignments.ts @@ -1,7 +1,7 @@ -import { getRepository, Repository } from "typeorm"; -import { ApiPermissionAssignment } from "./entities/ApiPermissionAssignment"; -import { BaseRepository } from "./BaseRepository"; import { ApiPermissions } from "@shared/apiPermissions"; +import { getRepository, Repository } from "typeorm"; +import { BaseRepository } from "./BaseRepository"; +import { ApiPermissionAssignment } from "./entities/ApiPermissionAssignment"; export enum ApiPermissionTypes { User = "USER", diff --git a/backend/src/data/ApiUserInfo.ts b/backend/src/data/ApiUserInfo.ts index 09d9df75..73633d01 100644 --- a/backend/src/data/ApiUserInfo.ts +++ b/backend/src/data/ApiUserInfo.ts @@ -1,9 +1,9 @@ +import moment from "moment-timezone"; import { getRepository, Repository } from "typeorm"; -import { ApiUserInfo as ApiUserInfoEntity, ApiUserInfoData } from "./entities/ApiUserInfo"; +import { DBDateFormat } from "../utils"; import { BaseRepository } from "./BaseRepository"; import { connection } from "./db"; -import moment from "moment-timezone"; -import { DBDateFormat } from "../utils"; +import { ApiUserInfo as ApiUserInfoEntity, ApiUserInfoData } from "./entities/ApiUserInfo"; export class ApiUserInfo extends BaseRepository { private apiUserInfo: Repository; diff --git a/backend/src/data/Configs.ts b/backend/src/data/Configs.ts index 054ce255..3e0882f0 100644 --- a/backend/src/data/Configs.ts +++ b/backend/src/data/Configs.ts @@ -1,10 +1,10 @@ -import { Config } from "./entities/Config"; import { getRepository, Repository } from "typeorm"; -import { connection } from "./db"; -import { BaseRepository } from "./BaseRepository"; import { isAPI } from "../globals"; import { HOURS, SECONDS } from "../utils"; +import { BaseRepository } from "./BaseRepository"; import { cleanupConfigs } from "./cleanup/configs"; +import { connection } from "./db"; +import { Config } from "./entities/Config"; if (isAPI()) { const CLEANUP_INTERVAL = 1 * HOURS; diff --git a/backend/src/data/GuildAntiraidLevels.ts b/backend/src/data/GuildAntiraidLevels.ts index 7f1321c1..5775bc91 100644 --- a/backend/src/data/GuildAntiraidLevels.ts +++ b/backend/src/data/GuildAntiraidLevels.ts @@ -1,5 +1,5 @@ -import { BaseGuildRepository } from "./BaseGuildRepository"; import { getRepository, Repository } from "typeorm"; +import { BaseGuildRepository } from "./BaseGuildRepository"; import { AntiraidLevel } from "./entities/AntiraidLevel"; export class GuildAntiraidLevels extends BaseGuildRepository { diff --git a/backend/src/data/GuildArchives.ts b/backend/src/data/GuildArchives.ts index 9c1ea69c..e99d8835 100644 --- a/backend/src/data/GuildArchives.ts +++ b/backend/src/data/GuildArchives.ts @@ -1,11 +1,11 @@ -import moment from "moment-timezone"; -import { ArchiveEntry } from "./entities/ArchiveEntry"; -import { getRepository, Repository } from "typeorm"; -import { BaseGuildRepository } from "./BaseGuildRepository"; -import { trimLines } from "../utils"; -import { SavedMessage } from "./entities/SavedMessage"; -import { renderTemplate } from "../templateFormatter"; import { Guild } from "discord.js"; +import moment from "moment-timezone"; +import { getRepository, Repository } from "typeorm"; +import { renderTemplate } from "../templateFormatter"; +import { trimLines } from "../utils"; +import { BaseGuildRepository } from "./BaseGuildRepository"; +import { ArchiveEntry } from "./entities/ArchiveEntry"; +import { SavedMessage } from "./entities/SavedMessage"; const DEFAULT_EXPIRY_DAYS = 30; diff --git a/backend/src/data/GuildAutoReactions.ts b/backend/src/data/GuildAutoReactions.ts index 094a1a4a..27fd737d 100644 --- a/backend/src/data/GuildAutoReactions.ts +++ b/backend/src/data/GuildAutoReactions.ts @@ -1,5 +1,5 @@ -import { BaseGuildRepository } from "./BaseGuildRepository"; import { getRepository, Repository } from "typeorm"; +import { BaseGuildRepository } from "./BaseGuildRepository"; import { AutoReaction } from "./entities/AutoReaction"; export class GuildAutoReactions extends BaseGuildRepository { diff --git a/backend/src/data/GuildCases.ts b/backend/src/data/GuildCases.ts index 67a1ad41..349b1ce1 100644 --- a/backend/src/data/GuildCases.ts +++ b/backend/src/data/GuildCases.ts @@ -1,11 +1,10 @@ +import { getRepository, In, Repository } from "typeorm"; +import { BaseGuildRepository } from "./BaseGuildRepository"; +import { CaseTypes } from "./CaseTypes"; +import { connection } from "./db"; import { Case } from "./entities/Case"; import { CaseNote } from "./entities/CaseNote"; -import { BaseGuildRepository } from "./BaseGuildRepository"; -import { getRepository, In, Repository } from "typeorm"; -import { DBDateFormat, disableLinkPreviews } from "../utils"; -import { CaseTypes } from "./CaseTypes"; import moment = require("moment-timezone"); -import { connection } from "./db"; const CASE_SUMMARY_REASON_MAX_LENGTH = 300; diff --git a/backend/src/data/GuildCounters.ts b/backend/src/data/GuildCounters.ts index 4a64aaea..8daf0b7c 100644 --- a/backend/src/data/GuildCounters.ts +++ b/backend/src/data/GuildCounters.ts @@ -1,18 +1,18 @@ +import moment from "moment-timezone"; +import { FindConditions, getRepository, In, IsNull, Not, Repository } from "typeorm"; +import { Queue } from "../Queue"; +import { DAYS, DBDateFormat, HOURS, MINUTES } from "../utils"; import { BaseGuildRepository } from "./BaseGuildRepository"; -import { FindConditions, getRepository, In, IsNull, LessThan, Not, Repository } from "typeorm"; +import { connection } from "./db"; import { Counter } from "./entities/Counter"; -import { CounterValue } from "./entities/CounterValue"; import { - CounterTrigger, - isValidCounterComparisonOp, - TRIGGER_COMPARISON_OPS, - TriggerComparisonOp, + CounterTrigger, + isValidCounterComparisonOp, + + TriggerComparisonOp } from "./entities/CounterTrigger"; import { CounterTriggerState } from "./entities/CounterTriggerState"; -import moment from "moment-timezone"; -import { DAYS, DBDateFormat, HOURS, MINUTES } from "../utils"; -import { connection } from "./db"; -import { Queue } from "../Queue"; +import { CounterValue } from "./entities/CounterValue"; const DELETE_UNUSED_COUNTERS_AFTER = 1 * DAYS; const DELETE_UNUSED_COUNTER_TRIGGERS_AFTER = 1 * DAYS; diff --git a/backend/src/data/GuildEvents.ts b/backend/src/data/GuildEvents.ts index 3a2b6489..ead809ab 100644 --- a/backend/src/data/GuildEvents.ts +++ b/backend/src/data/GuildEvents.ts @@ -1,5 +1,5 @@ -import { BaseGuildRepository } from "./BaseGuildRepository"; import { QueuedEventEmitter } from "../QueuedEventEmitter"; +import { BaseGuildRepository } from "./BaseGuildRepository"; export class GuildEvents extends BaseGuildRepository { private queuedEventEmitter: QueuedEventEmitter; diff --git a/backend/src/data/GuildMemberTimezones.ts b/backend/src/data/GuildMemberTimezones.ts index 9e1a1b68..6c4ef82b 100644 --- a/backend/src/data/GuildMemberTimezones.ts +++ b/backend/src/data/GuildMemberTimezones.ts @@ -1,7 +1,7 @@ -import { BaseGuildRepository } from "./BaseGuildRepository"; -import { MemberTimezone } from "./entities/MemberTimezone"; import { getRepository, Repository } from "typeorm/index"; +import { BaseGuildRepository } from "./BaseGuildRepository"; import { connection } from "./db"; +import { MemberTimezone } from "./entities/MemberTimezone"; export class GuildMemberTimezones extends BaseGuildRepository { protected memberTimezones: Repository; diff --git a/backend/src/data/GuildMutes.ts b/backend/src/data/GuildMutes.ts index 93fcfdc5..35f86fc0 100644 --- a/backend/src/data/GuildMutes.ts +++ b/backend/src/data/GuildMutes.ts @@ -1,7 +1,7 @@ import moment from "moment-timezone"; -import { Mute } from "./entities/Mute"; -import { BaseGuildRepository } from "./BaseGuildRepository"; import { Brackets, getRepository, Repository } from "typeorm"; +import { BaseGuildRepository } from "./BaseGuildRepository"; +import { Mute } from "./entities/Mute"; export class GuildMutes extends BaseGuildRepository { private mutes: Repository; diff --git a/backend/src/data/GuildNicknameHistory.ts b/backend/src/data/GuildNicknameHistory.ts index 60f8f419..51ed863c 100644 --- a/backend/src/data/GuildNicknameHistory.ts +++ b/backend/src/data/GuildNicknameHistory.ts @@ -1,9 +1,9 @@ -import { BaseGuildRepository } from "./BaseGuildRepository"; import { getRepository, In, Repository } from "typeorm"; -import { NicknameHistoryEntry } from "./entities/NicknameHistoryEntry"; -import { MINUTES, SECONDS } from "../utils"; import { isAPI } from "../globals"; +import { MINUTES, SECONDS } from "../utils"; +import { BaseGuildRepository } from "./BaseGuildRepository"; import { cleanupNicknames } from "./cleanup/nicknames"; +import { NicknameHistoryEntry } from "./entities/NicknameHistoryEntry"; if (!isAPI()) { const CLEANUP_INTERVAL = 5 * MINUTES; diff --git a/backend/src/data/GuildPersistedData.ts b/backend/src/data/GuildPersistedData.ts index 2120916b..4dd8cffd 100644 --- a/backend/src/data/GuildPersistedData.ts +++ b/backend/src/data/GuildPersistedData.ts @@ -1,6 +1,6 @@ -import { PersistedData } from "./entities/PersistedData"; -import { BaseGuildRepository } from "./BaseGuildRepository"; import { getRepository, Repository } from "typeorm"; +import { BaseGuildRepository } from "./BaseGuildRepository"; +import { PersistedData } from "./entities/PersistedData"; export interface IPartialPersistData { roles?: string[]; diff --git a/backend/src/data/GuildPingableRoles.ts b/backend/src/data/GuildPingableRoles.ts index fa3eda28..c8fd6f05 100644 --- a/backend/src/data/GuildPingableRoles.ts +++ b/backend/src/data/GuildPingableRoles.ts @@ -1,5 +1,5 @@ -import { BaseGuildRepository } from "./BaseGuildRepository"; import { getRepository, Repository } from "typeorm"; +import { BaseGuildRepository } from "./BaseGuildRepository"; import { PingableRole } from "./entities/PingableRole"; export class GuildPingableRoles extends BaseGuildRepository { diff --git a/backend/src/data/GuildReactionRoles.ts b/backend/src/data/GuildReactionRoles.ts index d724493f..a3d7e30b 100644 --- a/backend/src/data/GuildReactionRoles.ts +++ b/backend/src/data/GuildReactionRoles.ts @@ -1,6 +1,6 @@ -import { ReactionRole } from "./entities/ReactionRole"; -import { BaseGuildRepository } from "./BaseGuildRepository"; import { getRepository, Repository } from "typeorm"; +import { BaseGuildRepository } from "./BaseGuildRepository"; +import { ReactionRole } from "./entities/ReactionRole"; export class GuildReactionRoles extends BaseGuildRepository { private reactionRoles: Repository; diff --git a/backend/src/data/GuildReminders.ts b/backend/src/data/GuildReminders.ts index b370b465..b665569f 100644 --- a/backend/src/data/GuildReminders.ts +++ b/backend/src/data/GuildReminders.ts @@ -1,5 +1,5 @@ -import { BaseGuildRepository } from "./BaseGuildRepository"; import { getRepository, Repository } from "typeorm"; +import { BaseGuildRepository } from "./BaseGuildRepository"; import { Reminder } from "./entities/Reminder"; export class GuildReminders extends BaseGuildRepository { diff --git a/backend/src/data/GuildSavedMessages.ts b/backend/src/data/GuildSavedMessages.ts index 423767ae..b80fae0f 100644 --- a/backend/src/data/GuildSavedMessages.ts +++ b/backend/src/data/GuildSavedMessages.ts @@ -1,12 +1,12 @@ -import { getRepository, Repository } from "typeorm"; -import { BaseGuildRepository } from "./BaseGuildRepository"; -import { ISavedMessageData, SavedMessage } from "./entities/SavedMessage"; -import { QueuedEventEmitter } from "../QueuedEventEmitter"; -import moment from "moment-timezone"; -import { MINUTES, SECONDS } from "../utils"; -import { isAPI } from "../globals"; -import { cleanupMessages } from "./cleanup/messages"; import { GuildChannel, Message } from "discord.js"; +import moment from "moment-timezone"; +import { getRepository, Repository } from "typeorm"; +import { isAPI } from "../globals"; +import { QueuedEventEmitter } from "../QueuedEventEmitter"; +import { MINUTES, SECONDS } from "../utils"; +import { BaseGuildRepository } from "./BaseGuildRepository"; +import { cleanupMessages } from "./cleanup/messages"; +import { ISavedMessageData, SavedMessage } from "./entities/SavedMessage"; if (!isAPI()) { const CLEANUP_INTERVAL = 5 * MINUTES; diff --git a/backend/src/data/GuildScheduledPosts.ts b/backend/src/data/GuildScheduledPosts.ts index af621434..c302b81e 100644 --- a/backend/src/data/GuildScheduledPosts.ts +++ b/backend/src/data/GuildScheduledPosts.ts @@ -1,5 +1,5 @@ -import { BaseGuildRepository } from "./BaseGuildRepository"; import { getRepository, Repository } from "typeorm"; +import { BaseGuildRepository } from "./BaseGuildRepository"; import { ScheduledPost } from "./entities/ScheduledPost"; export class GuildScheduledPosts extends BaseGuildRepository { diff --git a/backend/src/data/GuildSlowmodes.ts b/backend/src/data/GuildSlowmodes.ts index 9e4281db..b6452490 100644 --- a/backend/src/data/GuildSlowmodes.ts +++ b/backend/src/data/GuildSlowmodes.ts @@ -1,8 +1,8 @@ -import { BaseGuildRepository } from "./BaseGuildRepository"; +import moment from "moment-timezone"; import { getRepository, Repository } from "typeorm"; +import { BaseGuildRepository } from "./BaseGuildRepository"; import { SlowmodeChannel } from "./entities/SlowmodeChannel"; import { SlowmodeUser } from "./entities/SlowmodeUser"; -import moment from "moment-timezone"; export class GuildSlowmodes extends BaseGuildRepository { private slowmodeChannels: Repository; diff --git a/backend/src/data/GuildStarboardMessages.ts b/backend/src/data/GuildStarboardMessages.ts index c01bb8dc..0e932928 100644 --- a/backend/src/data/GuildStarboardMessages.ts +++ b/backend/src/data/GuildStarboardMessages.ts @@ -1,5 +1,5 @@ -import { BaseGuildRepository } from "./BaseGuildRepository"; import { getRepository, Repository } from "typeorm"; +import { BaseGuildRepository } from "./BaseGuildRepository"; import { StarboardMessage } from "./entities/StarboardMessage"; export class GuildStarboardMessages extends BaseGuildRepository { diff --git a/backend/src/data/GuildStarboardReactions.ts b/backend/src/data/GuildStarboardReactions.ts index 5094491e..413b7120 100644 --- a/backend/src/data/GuildStarboardReactions.ts +++ b/backend/src/data/GuildStarboardReactions.ts @@ -1,5 +1,5 @@ -import { BaseGuildRepository } from "./BaseGuildRepository"; import { getRepository, Repository } from "typeorm"; +import { BaseGuildRepository } from "./BaseGuildRepository"; import { StarboardReaction } from "./entities/StarboardReaction"; export class GuildStarboardReactions extends BaseGuildRepository { diff --git a/backend/src/data/GuildStats.ts b/backend/src/data/GuildStats.ts index a0ca75a6..d70623dd 100644 --- a/backend/src/data/GuildStats.ts +++ b/backend/src/data/GuildStats.ts @@ -1,5 +1,5 @@ -import { BaseGuildRepository } from "./BaseGuildRepository"; import { getRepository, Repository } from "typeorm"; +import { BaseGuildRepository } from "./BaseGuildRepository"; import { StatValue } from "./entities/StatValue"; export class GuildStats extends BaseGuildRepository { diff --git a/backend/src/data/GuildTags.ts b/backend/src/data/GuildTags.ts index 385bfd80..76206164 100644 --- a/backend/src/data/GuildTags.ts +++ b/backend/src/data/GuildTags.ts @@ -1,6 +1,6 @@ -import { Tag } from "./entities/Tag"; import { getRepository, Repository } from "typeorm"; import { BaseGuildRepository } from "./BaseGuildRepository"; +import { Tag } from "./entities/Tag"; import { TagResponse } from "./entities/TagResponse"; export class GuildTags extends BaseGuildRepository { diff --git a/backend/src/data/GuildTempbans.ts b/backend/src/data/GuildTempbans.ts index 76e126c5..f5f52143 100644 --- a/backend/src/data/GuildTempbans.ts +++ b/backend/src/data/GuildTempbans.ts @@ -1,7 +1,6 @@ import moment from "moment-timezone"; -import { Mute } from "./entities/Mute"; +import { getRepository, Repository } from "typeorm"; import { BaseGuildRepository } from "./BaseGuildRepository"; -import { Brackets, getRepository, Repository } from "typeorm"; import { Tempban } from "./entities/Tempban"; export class GuildTempbans extends BaseGuildRepository { diff --git a/backend/src/data/GuildVCAlerts.ts b/backend/src/data/GuildVCAlerts.ts index 6acc35e9..4c64c197 100644 --- a/backend/src/data/GuildVCAlerts.ts +++ b/backend/src/data/GuildVCAlerts.ts @@ -1,5 +1,5 @@ -import { BaseGuildRepository } from "./BaseGuildRepository"; import { getRepository, Repository } from "typeorm"; +import { BaseGuildRepository } from "./BaseGuildRepository"; import { VCAlert } from "./entities/VCAlert"; export class GuildVCAlerts extends BaseGuildRepository { diff --git a/backend/src/data/Supporters.ts b/backend/src/data/Supporters.ts index 26c294c7..58b1b2d3 100644 --- a/backend/src/data/Supporters.ts +++ b/backend/src/data/Supporters.ts @@ -1,5 +1,5 @@ -import { BaseRepository } from "./BaseRepository"; import { getRepository, Repository } from "typeorm"; +import { BaseRepository } from "./BaseRepository"; import { Supporter } from "./entities/Supporter"; export class Supporters extends BaseRepository { diff --git a/backend/src/data/UsernameHistory.ts b/backend/src/data/UsernameHistory.ts index bcc5647a..c17a747c 100644 --- a/backend/src/data/UsernameHistory.ts +++ b/backend/src/data/UsernameHistory.ts @@ -1,9 +1,9 @@ import { getRepository, In, Repository } from "typeorm"; -import { UsernameHistoryEntry } from "./entities/UsernameHistoryEntry"; +import { isAPI } from "../globals"; import { MINUTES, SECONDS } from "../utils"; import { BaseRepository } from "./BaseRepository"; -import { isAPI } from "../globals"; import { cleanupUsernames } from "./cleanup/usernames"; +import { UsernameHistoryEntry } from "./entities/UsernameHistoryEntry"; if (!isAPI()) { const CLEANUP_INTERVAL = 5 * MINUTES; diff --git a/backend/src/data/cleanup/configs.ts b/backend/src/data/cleanup/configs.ts index 04c76044..252b6c6d 100644 --- a/backend/src/data/cleanup/configs.ts +++ b/backend/src/data/cleanup/configs.ts @@ -1,8 +1,8 @@ -import { connection } from "../db"; -import { getRepository, In } from "typeorm"; -import { Config } from "../entities/Config"; import moment from "moment-timezone"; +import { getRepository, In } from "typeorm"; import { DBDateFormat } from "../../utils"; +import { connection } from "../db"; +import { Config } from "../entities/Config"; const CLEAN_PER_LOOP = 50; diff --git a/backend/src/data/cleanup/messages.ts b/backend/src/data/cleanup/messages.ts index 1b9f8427..06d55c99 100644 --- a/backend/src/data/cleanup/messages.ts +++ b/backend/src/data/cleanup/messages.ts @@ -1,8 +1,8 @@ -import { DAYS, DBDateFormat, MINUTES } from "../../utils"; -import { getRepository, In } from "typeorm"; -import { SavedMessage } from "../entities/SavedMessage"; import moment from "moment-timezone"; +import { getRepository, In } from "typeorm"; +import { DAYS, DBDateFormat, MINUTES } from "../../utils"; import { connection } from "../db"; +import { SavedMessage } from "../entities/SavedMessage"; /** * How long message edits, deletions, etc. will include the original message content. diff --git a/backend/src/data/cleanup/nicknames.ts b/backend/src/data/cleanup/nicknames.ts index e48b2670..4907e004 100644 --- a/backend/src/data/cleanup/nicknames.ts +++ b/backend/src/data/cleanup/nicknames.ts @@ -1,8 +1,8 @@ -import { getRepository, In } from "typeorm"; import moment from "moment-timezone"; -import { NicknameHistoryEntry } from "../entities/NicknameHistoryEntry"; +import { getRepository, In } from "typeorm"; import { DAYS, DBDateFormat } from "../../utils"; import { connection } from "../db"; +import { NicknameHistoryEntry } from "../entities/NicknameHistoryEntry"; export const NICKNAME_RETENTION_PERIOD = 30 * DAYS; const CLEAN_PER_LOOP = 500; diff --git a/backend/src/data/cleanup/usernames.ts b/backend/src/data/cleanup/usernames.ts index 6bcca3d2..eea441d5 100644 --- a/backend/src/data/cleanup/usernames.ts +++ b/backend/src/data/cleanup/usernames.ts @@ -1,8 +1,8 @@ -import { getRepository, In } from "typeorm"; import moment from "moment-timezone"; -import { UsernameHistoryEntry } from "../entities/UsernameHistoryEntry"; +import { getRepository, In } from "typeorm"; import { DAYS, DBDateFormat } from "../../utils"; import { connection } from "../db"; +import { UsernameHistoryEntry } from "../entities/UsernameHistoryEntry"; export const USERNAME_RETENTION_PERIOD = 30 * DAYS; const CLEAN_PER_LOOP = 500; diff --git a/backend/src/data/db.ts b/backend/src/data/db.ts index 30383b14..9888d0b5 100644 --- a/backend/src/data/db.ts +++ b/backend/src/data/db.ts @@ -1,5 +1,5 @@ -import { SimpleError } from "../SimpleError"; import { Connection, createConnection } from "typeorm"; +import { SimpleError } from "../SimpleError"; let connectionPromise: Promise; diff --git a/backend/src/data/encryptedJsonTransformer.ts b/backend/src/data/encryptedJsonTransformer.ts index 01b6080c..38272ebc 100644 --- a/backend/src/data/encryptedJsonTransformer.ts +++ b/backend/src/data/encryptedJsonTransformer.ts @@ -1,5 +1,5 @@ -import { decrypt, encrypt } from "../utils/crypt"; import { ValueTransformer } from "typeorm"; +import { decrypt, encrypt } from "../utils/crypt"; interface EncryptedJsonTransformer extends ValueTransformer { from(dbValue: any): T; diff --git a/backend/src/data/encryptedTextTransformer.ts b/backend/src/data/encryptedTextTransformer.ts index 353c5d72..7d0432ae 100644 --- a/backend/src/data/encryptedTextTransformer.ts +++ b/backend/src/data/encryptedTextTransformer.ts @@ -1,5 +1,5 @@ -import { decrypt, encrypt } from "../utils/crypt"; import { ValueTransformer } from "typeorm"; +import { decrypt, encrypt } from "../utils/crypt"; interface EncryptedTextTransformer extends ValueTransformer { from(dbValue: any): string; diff --git a/backend/src/data/getChannelIdFromMessageId.ts b/backend/src/data/getChannelIdFromMessageId.ts index 64fc3b85..0558ee69 100644 --- a/backend/src/data/getChannelIdFromMessageId.ts +++ b/backend/src/data/getChannelIdFromMessageId.ts @@ -1,5 +1,5 @@ +import { getRepository, Repository } from "typeorm"; import { SavedMessage } from "./entities/SavedMessage"; -import { Repository, getRepository } from "typeorm"; let repository: Repository; diff --git a/backend/src/index.ts b/backend/src/index.ts index 6cb6fbea..42ee9343 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -1,29 +1,28 @@ -import "./loadEnv"; - -import path from "path"; -import yaml from "js-yaml"; - +import { Client, Intents, TextChannel } from "discord.js"; import fs from "fs"; +import yaml from "js-yaml"; import { Knub, PluginError } from "knub"; -import { SimpleError } from "./SimpleError"; - -import { Configs } from "./data/Configs"; +import { PluginLoadError } from "knub/dist/plugins/PluginLoadError"; // Always use UTC internally // This is also enforced for the database in data/db.ts import moment from "moment-timezone"; -import { connect } from "./data/db"; -import { baseGuildPlugins, globalPlugins, guildPlugins } from "./plugins/availablePlugins"; -import { errorMessage, isDiscordHTTPError, isDiscordRESTError, MINUTES, successMessage } from "./utils"; -import { startUptimeCounter } from "./uptime"; import { AllowedGuilds } from "./data/AllowedGuilds"; -import { ZeppelinGlobalConfig, ZeppelinGuildConfig } from "./types"; -import { RecoverablePluginError } from "./RecoverablePluginError"; +import { Configs } from "./data/Configs"; +import { connect } from "./data/db"; import { GuildLogs } from "./data/GuildLogs"; import { LogType } from "./data/LogType"; -import { logger } from "./logger"; -import { PluginLoadError } from "knub/dist/plugins/PluginLoadError"; import { ErisError } from "./ErisError"; -import { Client, Intents, TextChannel } from "discord.js"; +import "./loadEnv"; +import { logger } from "./logger"; +import { baseGuildPlugins, globalPlugins, guildPlugins } from "./plugins/availablePlugins"; +import { RecoverablePluginError } from "./RecoverablePluginError"; +import { SimpleError } from "./SimpleError"; +import { ZeppelinGlobalConfig, ZeppelinGuildConfig } from "./types"; +import { startUptimeCounter } from "./uptime"; +import { errorMessage, isDiscordHTTPError, isDiscordRESTError, successMessage } from "./utils"; + + + const fsp = fs.promises; diff --git a/backend/src/migrateConfigsToDB.ts b/backend/src/migrateConfigsToDB.ts index a814a63d..67423c41 100644 --- a/backend/src/migrateConfigsToDB.ts +++ b/backend/src/migrateConfigsToDB.ts @@ -1,8 +1,8 @@ // tslint:disable:no-console -import { connect } from "./data/db"; -import { Configs } from "./data/Configs"; -import path from "path"; import * as _fs from "fs"; +import path from "path"; +import { Configs } from "./data/Configs"; +import { connect } from "./data/db"; const fs = _fs.promises; diff --git a/backend/src/migrations/1608692857722-FixStarboardReactionsIndices.ts b/backend/src/migrations/1608692857722-FixStarboardReactionsIndices.ts index dcde8a09..d74a8749 100644 --- a/backend/src/migrations/1608692857722-FixStarboardReactionsIndices.ts +++ b/backend/src/migrations/1608692857722-FixStarboardReactionsIndices.ts @@ -1,4 +1,4 @@ -import { MigrationInterface, QueryRunner, TableIndex, TableUnique } from "typeorm"; +import { MigrationInterface, QueryRunner, TableIndex } from "typeorm"; export class FixStarboardReactionsIndices1608692857722 implements MigrationInterface { public async up(queryRunner: QueryRunner): Promise { diff --git a/backend/src/pluginUtils.ts b/backend/src/pluginUtils.ts index f0912677..bb0f607e 100644 --- a/backend/src/pluginUtils.ts +++ b/backend/src/pluginUtils.ts @@ -2,18 +2,18 @@ * @file Utility functions that are plugin-instance-specific (i.e. use PluginData) */ -import { CommandContext, configUtils, ConfigValidationError, GuildPluginData, helpers, PluginOptions } from "knub"; -import { decodeAndValidateStrict, StrictValidationError, validate } from "./validatorUtils"; -import { deepKeyIntersect, errorMessage, successMessage, tDeepPartial, tNullable } from "./utils"; -import { TZeppelinKnub } from "./types"; -import { ExtendedMatchParams } from "knub/dist/config/PluginConfigManager"; // TODO: Export from Knub index +import { GuildMember, Message, MessageMentionOptions, MessageOptions, TextChannel } from "discord.js"; import * as t from "io-ts"; +import { CommandContext, configUtils, ConfigValidationError, GuildPluginData, helpers, PluginOptions } from "knub"; import { PluginOverrideCriteria } from "knub/dist/config/configTypes"; -import { Tail } from "./utils/typeUtils"; +import { ExtendedMatchParams } from "knub/dist/config/PluginConfigManager"; // TODO: Export from Knub index import { AnyPluginData } from "knub/dist/plugins/PluginData"; -import { ZeppelinPlugin } from "./plugins/ZeppelinPlugin"; import { logger } from "./logger"; -import { APIMessage, GuildMember, Message, MessageMentionOptions, MessageOptions, TextChannel, User } from "discord.js"; +import { ZeppelinPlugin } from "./plugins/ZeppelinPlugin"; +import { TZeppelinKnub } from "./types"; +import { deepKeyIntersect, errorMessage, successMessage, tDeepPartial, tNullable } from "./utils"; +import { Tail } from "./utils/typeUtils"; +import { decodeAndValidateStrict, StrictValidationError, validate } from "./validatorUtils"; const { getMemberLevel } = helpers; diff --git a/backend/src/plugins/AutoDelete/AutoDeletePlugin.ts b/backend/src/plugins/AutoDelete/AutoDeletePlugin.ts index 80973641..aa7ffd50 100644 --- a/backend/src/plugins/AutoDelete/AutoDeletePlugin.ts +++ b/backend/src/plugins/AutoDelete/AutoDeletePlugin.ts @@ -1,13 +1,13 @@ import { PluginOptions } from "knub"; -import { AutoDeletePluginType, ConfigSchema } from "./types"; -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { GuildLogs } from "../../data/GuildLogs"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { LogsPlugin } from "../Logs/LogsPlugin"; +import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { AutoDeletePluginType, ConfigSchema } from "./types"; import { onMessageCreate } from "./util/onMessageCreate"; import { onMessageDelete } from "./util/onMessageDelete"; import { onMessageDeleteBulk } from "./util/onMessageDeleteBulk"; -import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; -import { LogsPlugin } from "../Logs/LogsPlugin"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/AutoDelete/types.ts b/backend/src/plugins/AutoDelete/types.ts index 9cee0d3b..2294f222 100644 --- a/backend/src/plugins/AutoDelete/types.ts +++ b/backend/src/plugins/AutoDelete/types.ts @@ -1,9 +1,9 @@ import * as t from "io-ts"; -import { BasePluginType, typedGuildCommand, typedGuildEventListener } from "knub"; -import { tDelayString, MINUTES } from "../../utils"; +import { BasePluginType } from "knub"; +import { SavedMessage } from "../../data/entities/SavedMessage"; import { GuildLogs } from "../../data/GuildLogs"; import { GuildSavedMessages } from "../../data/GuildSavedMessages"; -import { SavedMessage } from "../../data/entities/SavedMessage"; +import { MINUTES, tDelayString } from "../../utils"; import Timeout = NodeJS.Timeout; export const MAX_DELAY = 5 * MINUTES; diff --git a/backend/src/plugins/AutoDelete/util/addMessageToDeletionQueue.ts b/backend/src/plugins/AutoDelete/util/addMessageToDeletionQueue.ts index 21788d58..7d37c003 100644 --- a/backend/src/plugins/AutoDelete/util/addMessageToDeletionQueue.ts +++ b/backend/src/plugins/AutoDelete/util/addMessageToDeletionQueue.ts @@ -1,8 +1,8 @@ import { GuildPluginData } from "knub"; -import { AutoDeletePluginType } from "../types"; import { SavedMessage } from "../../../data/entities/SavedMessage"; -import { scheduleNextDeletion } from "./scheduleNextDeletion"; import { sorter } from "../../../utils"; +import { AutoDeletePluginType } from "../types"; +import { scheduleNextDeletion } from "./scheduleNextDeletion"; export function addMessageToDeletionQueue( pluginData: GuildPluginData, diff --git a/backend/src/plugins/AutoDelete/util/deleteNextItem.ts b/backend/src/plugins/AutoDelete/util/deleteNextItem.ts index 2ec8b598..553f828f 100644 --- a/backend/src/plugins/AutoDelete/util/deleteNextItem.ts +++ b/backend/src/plugins/AutoDelete/util/deleteNextItem.ts @@ -1,14 +1,14 @@ +import { Permissions, TextChannel } from "discord.js"; import { GuildPluginData } from "knub"; -import { AutoDeletePluginType } from "../types"; import moment from "moment-timezone"; import { LogType } from "../../../data/LogType"; -import { resolveUser, stripObjectToScalars, verboseChannelMention } from "../../../utils"; import { logger } from "../../../logger"; -import { scheduleNextDeletion } from "./scheduleNextDeletion"; -import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; +import { resolveUser, stripObjectToScalars, verboseChannelMention } from "../../../utils"; import { hasDiscordPermissions } from "../../../utils/hasDiscordPermissions"; import { LogsPlugin } from "../../Logs/LogsPlugin"; -import { Permissions, TextChannel } from "discord.js"; +import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; +import { AutoDeletePluginType } from "../types"; +import { scheduleNextDeletion } from "./scheduleNextDeletion"; export async function deleteNextItem(pluginData: GuildPluginData) { const [itemToDelete] = pluginData.state.deletionQueue.splice(0, 1); diff --git a/backend/src/plugins/AutoDelete/util/onMessageCreate.ts b/backend/src/plugins/AutoDelete/util/onMessageCreate.ts index e6ee40e5..0a7bfc73 100644 --- a/backend/src/plugins/AutoDelete/util/onMessageCreate.ts +++ b/backend/src/plugins/AutoDelete/util/onMessageCreate.ts @@ -1,8 +1,8 @@ -import { AutoDeletePluginType, MAX_DELAY } from "../types"; import { GuildPluginData } from "knub"; import { SavedMessage } from "../../../data/entities/SavedMessage"; -import { convertDelayStringToMS, resolveMember } from "../../../utils"; import { LogType } from "../../../data/LogType"; +import { convertDelayStringToMS, resolveMember } from "../../../utils"; +import { AutoDeletePluginType, MAX_DELAY } from "../types"; import { addMessageToDeletionQueue } from "./addMessageToDeletionQueue"; export async function onMessageCreate(pluginData: GuildPluginData, msg: SavedMessage) { diff --git a/backend/src/plugins/AutoDelete/util/onMessageDelete.ts b/backend/src/plugins/AutoDelete/util/onMessageDelete.ts index 98eb2816..48b7bb72 100644 --- a/backend/src/plugins/AutoDelete/util/onMessageDelete.ts +++ b/backend/src/plugins/AutoDelete/util/onMessageDelete.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; -import { AutoDeletePluginType } from "../types"; import { SavedMessage } from "../../../data/entities/SavedMessage"; +import { AutoDeletePluginType } from "../types"; import { scheduleNextDeletion } from "./scheduleNextDeletion"; export function onMessageDelete(pluginData: GuildPluginData, msg: SavedMessage) { diff --git a/backend/src/plugins/AutoDelete/util/onMessageDeleteBulk.ts b/backend/src/plugins/AutoDelete/util/onMessageDeleteBulk.ts index b48f8f89..6c39a667 100644 --- a/backend/src/plugins/AutoDelete/util/onMessageDeleteBulk.ts +++ b/backend/src/plugins/AutoDelete/util/onMessageDeleteBulk.ts @@ -1,6 +1,6 @@ -import { AutoDeletePluginType } from "../types"; import { GuildPluginData } from "knub"; import { SavedMessage } from "../../../data/entities/SavedMessage"; +import { AutoDeletePluginType } from "../types"; import { onMessageDelete } from "./onMessageDelete"; export function onMessageDeleteBulk(pluginData: GuildPluginData, messages: SavedMessage[]) { diff --git a/backend/src/plugins/AutoReactions/AutoReactionsPlugin.ts b/backend/src/plugins/AutoReactions/AutoReactionsPlugin.ts index 2192a774..886a9922 100644 --- a/backend/src/plugins/AutoReactions/AutoReactionsPlugin.ts +++ b/backend/src/plugins/AutoReactions/AutoReactionsPlugin.ts @@ -1,13 +1,13 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { AutoReactionsPluginType, ConfigSchema } from "./types"; import { PluginOptions } from "knub"; -import { NewAutoReactionsCmd } from "./commands/NewAutoReactionsCmd"; -import { DisableAutoReactionsCmd } from "./commands/DisableAutoReactionsCmd"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { GuildAutoReactions } from "../../data/GuildAutoReactions"; -import { AddReactionsEvt } from "./events/AddReactionsEvt"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { trimPluginDescription } from "../../utils"; import { LogsPlugin } from "../Logs/LogsPlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { DisableAutoReactionsCmd } from "./commands/DisableAutoReactionsCmd"; +import { NewAutoReactionsCmd } from "./commands/NewAutoReactionsCmd"; +import { AddReactionsEvt } from "./events/AddReactionsEvt"; +import { AutoReactionsPluginType, ConfigSchema } from "./types"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/AutoReactions/commands/DisableAutoReactionsCmd.ts b/backend/src/plugins/AutoReactions/commands/DisableAutoReactionsCmd.ts index 5f2d82cf..56193797 100644 --- a/backend/src/plugins/AutoReactions/commands/DisableAutoReactionsCmd.ts +++ b/backend/src/plugins/AutoReactions/commands/DisableAutoReactionsCmd.ts @@ -1,6 +1,6 @@ -import { autoReactionsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { autoReactionsCmd } from "../types"; export const DisableAutoReactionsCmd = autoReactionsCmd({ trigger: "auto_reactions disable", diff --git a/backend/src/plugins/AutoReactions/commands/NewAutoReactionsCmd.ts b/backend/src/plugins/AutoReactions/commands/NewAutoReactionsCmd.ts index f1fb64ff..8bb4dfe9 100644 --- a/backend/src/plugins/AutoReactions/commands/NewAutoReactionsCmd.ts +++ b/backend/src/plugins/AutoReactions/commands/NewAutoReactionsCmd.ts @@ -1,12 +1,12 @@ -import { autoReactionsCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { canUseEmoji, customEmojiRegex, isEmoji } from "../../../utils"; -import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { getMissingChannelPermissions } from "../../../utils/getMissingChannelPermissions"; - -import { readChannelPermissions } from "../../../utils/readChannelPermissions"; -import { missingPermissionError } from "../../../utils/missingPermissionError"; import { GuildChannel, Permissions } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { canUseEmoji, customEmojiRegex, isEmoji } from "../../../utils"; +import { getMissingChannelPermissions } from "../../../utils/getMissingChannelPermissions"; +import { missingPermissionError } from "../../../utils/missingPermissionError"; +import { readChannelPermissions } from "../../../utils/readChannelPermissions"; +import { autoReactionsCmd } from "../types"; + const requiredPermissions = readChannelPermissions | Permissions.FLAGS.ADD_REACTIONS; diff --git a/backend/src/plugins/AutoReactions/events/AddReactionsEvt.ts b/backend/src/plugins/AutoReactions/events/AddReactionsEvt.ts index 06ca2bb2..330714fe 100644 --- a/backend/src/plugins/AutoReactions/events/AddReactionsEvt.ts +++ b/backend/src/plugins/AutoReactions/events/AddReactionsEvt.ts @@ -1,12 +1,12 @@ -import { autoReactionsEvt } from "../types"; -import { isDiscordRESTError } from "../../../utils"; -import { LogType } from "../../../data/LogType"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; - -import { getMissingChannelPermissions } from "../../../utils/getMissingChannelPermissions"; -import { readChannelPermissions } from "../../../utils/readChannelPermissions"; -import { missingPermissionError } from "../../../utils/missingPermissionError"; import { GuildChannel, Permissions } from "discord.js"; +import { LogType } from "../../../data/LogType"; +import { isDiscordRESTError } from "../../../utils"; +import { getMissingChannelPermissions } from "../../../utils/getMissingChannelPermissions"; +import { missingPermissionError } from "../../../utils/missingPermissionError"; +import { readChannelPermissions } from "../../../utils/readChannelPermissions"; +import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { autoReactionsEvt } from "../types"; + const p = Permissions.FLAGS; diff --git a/backend/src/plugins/AutoReactions/types.ts b/backend/src/plugins/AutoReactions/types.ts index 6a1fb285..a5c269c2 100644 --- a/backend/src/plugins/AutoReactions/types.ts +++ b/backend/src/plugins/AutoReactions/types.ts @@ -1,8 +1,8 @@ import * as t from "io-ts"; import { BasePluginType, typedGuildCommand, typedGuildEventListener } from "knub"; +import { GuildAutoReactions } from "../../data/GuildAutoReactions"; import { GuildLogs } from "../../data/GuildLogs"; import { GuildSavedMessages } from "../../data/GuildSavedMessages"; -import { GuildAutoReactions } from "../../data/GuildAutoReactions"; export const ConfigSchema = t.type({ can_manage: t.boolean, diff --git a/backend/src/plugins/Automod/AutomodPlugin.ts b/backend/src/plugins/Automod/AutomodPlugin.ts index fabdc806..d57df9ed 100644 --- a/backend/src/plugins/Automod/AutomodPlugin.ts +++ b/backend/src/plugins/Automod/AutomodPlugin.ts @@ -1,38 +1,35 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { AutomodPluginType, ConfigSchema } from "./types"; -import { RunAutomodOnJoinEvt } from "./events/RunAutomodOnJoinEvt"; -import { GuildLogs } from "../../data/GuildLogs"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; -import { runAutomodOnMessage } from "./events/runAutomodOnMessage"; -import { Queue } from "../../Queue"; import { configUtils, CooldownManager } from "knub"; -import { availableTriggers } from "./triggers/availableTriggers"; -import { StrictValidationError } from "../../validatorUtils"; import { ConfigPreprocessorFn } from "knub/dist/config/configTypes"; -import { availableActions } from "./actions/availableActions"; -import { clearOldRecentActions } from "./functions/clearOldRecentActions"; -import { disableCodeBlocks, MINUTES, SECONDS } from "../../utils"; -import { clearOldRecentSpam } from "./functions/clearOldRecentSpam"; import { GuildAntiraidLevels } from "../../data/GuildAntiraidLevels"; import { GuildArchives } from "../../data/GuildArchives"; -import { clearOldRecentNicknameChanges } from "./functions/clearOldNicknameChanges"; +import { GuildLogs } from "../../data/GuildLogs"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { Queue } from "../../Queue"; +import { discardRegExpRunner, getRegExpRunner } from "../../regExpRunners"; +import { MINUTES, SECONDS } from "../../utils"; +import { registerEventListenersFromMap } from "../../utils/registerEventListenersFromMap"; +import { unregisterEventListenersFromMap } from "../../utils/unregisterEventListenersFromMap"; +import { StrictValidationError } from "../../validatorUtils"; +import { CountersPlugin } from "../Counters/CountersPlugin"; import { LogsPlugin } from "../Logs/LogsPlugin"; import { ModActionsPlugin } from "../ModActions/ModActionsPlugin"; import { MutesPlugin } from "../Mutes/MutesPlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { availableActions } from "./actions/availableActions"; import { AntiraidClearCmd } from "./commands/AntiraidClearCmd"; import { SetAntiraidCmd } from "./commands/SetAntiraidCmd"; import { ViewAntiraidCmd } from "./commands/ViewAntiraidCmd"; -import { pluginInfo } from "./info"; -import { RegExpRunner } from "../../RegExpRunner"; -import { LogType } from "../../data/LogType"; -import { logger } from "../../logger"; -import { discardRegExpRunner, getRegExpRunner } from "../../regExpRunners"; -import { RunAutomodOnMemberUpdate } from "./events/RunAutomodOnMemberUpdate"; -import { CountersPlugin } from "../Counters/CountersPlugin"; import { runAutomodOnCounterTrigger } from "./events/runAutomodOnCounterTrigger"; +import { RunAutomodOnJoinEvt } from "./events/RunAutomodOnJoinEvt"; +import { RunAutomodOnMemberUpdate } from "./events/RunAutomodOnMemberUpdate"; +import { runAutomodOnMessage } from "./events/runAutomodOnMessage"; import { runAutomodOnModAction } from "./events/runAutomodOnModAction"; -import { registerEventListenersFromMap } from "../../utils/registerEventListenersFromMap"; -import { unregisterEventListenersFromMap } from "../../utils/unregisterEventListenersFromMap"; +import { clearOldRecentNicknameChanges } from "./functions/clearOldNicknameChanges"; +import { clearOldRecentActions } from "./functions/clearOldRecentActions"; +import { clearOldRecentSpam } from "./functions/clearOldRecentSpam"; +import { pluginInfo } from "./info"; +import { availableTriggers } from "./triggers/availableTriggers"; +import { AutomodPluginType, ConfigSchema } from "./types"; const defaultOptions = { config: { diff --git a/backend/src/plugins/Automod/actions/addToCounter.ts b/backend/src/plugins/Automod/actions/addToCounter.ts index 7606f91d..74e1ddc5 100644 --- a/backend/src/plugins/Automod/actions/addToCounter.ts +++ b/backend/src/plugins/Automod/actions/addToCounter.ts @@ -1,7 +1,7 @@ import * as t from "io-ts"; -import { automodAction } from "../helpers"; -import { CountersPlugin } from "../../Counters/CountersPlugin"; import { LogType } from "../../../data/LogType"; +import { CountersPlugin } from "../../Counters/CountersPlugin"; +import { automodAction } from "../helpers"; export const AddToCounterAction = automodAction({ configType: t.type({ diff --git a/backend/src/plugins/Automod/actions/alert.ts b/backend/src/plugins/Automod/actions/alert.ts index 7b932639..b7c4a000 100644 --- a/backend/src/plugins/Automod/actions/alert.ts +++ b/backend/src/plugins/Automod/actions/alert.ts @@ -1,18 +1,18 @@ -import * as t from "io-ts"; -import { automodAction } from "../helpers"; -import { LogType } from "../../../data/LogType"; -import { - createChunkedMessage, - messageLink, - stripObjectToScalars, - tAllowedMentions, - tNormalizedNullOptional, - verboseChannelMention, -} from "../../../utils"; -import { renderTemplate, TemplateParseError } from "../../../templateFormatter"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; import { TextChannel } from "discord.js"; +import * as t from "io-ts"; import { erisAllowedMentionsToDjsMentionOptions } from "src/utils/erisAllowedMentionsToDjsMentionOptions"; +import { LogType } from "../../../data/LogType"; +import { renderTemplate, TemplateParseError } from "../../../templateFormatter"; +import { + createChunkedMessage, + messageLink, + stripObjectToScalars, + tAllowedMentions, + tNormalizedNullOptional, + verboseChannelMention +} from "../../../utils"; +import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { automodAction } from "../helpers"; export const AlertAction = automodAction({ configType: t.type({ diff --git a/backend/src/plugins/Automod/actions/availableActions.ts b/backend/src/plugins/Automod/actions/availableActions.ts index 54146de3..fbdcf8f9 100644 --- a/backend/src/plugins/Automod/actions/availableActions.ts +++ b/backend/src/plugins/Automod/actions/availableActions.ts @@ -1,20 +1,20 @@ import * as t from "io-ts"; -import { CleanAction } from "./clean"; import { AutomodActionBlueprint } from "../helpers"; -import { WarnAction } from "./warn"; -import { MuteAction } from "./mute"; -import { KickAction } from "./kick"; -import { BanAction } from "./ban"; -import { AlertAction } from "./alert"; -import { ChangeNicknameAction } from "./changeNickname"; -import { LogAction } from "./log"; import { AddRolesAction } from "./addRoles"; -import { RemoveRolesAction } from "./removeRoles"; -import { SetAntiraidLevelAction } from "./setAntiraidLevel"; -import { ReplyAction } from "./reply"; import { AddToCounterAction } from "./addToCounter"; +import { AlertAction } from "./alert"; +import { BanAction } from "./ban"; +import { ChangeNicknameAction } from "./changeNickname"; +import { CleanAction } from "./clean"; +import { KickAction } from "./kick"; +import { LogAction } from "./log"; +import { MuteAction } from "./mute"; +import { RemoveRolesAction } from "./removeRoles"; +import { ReplyAction } from "./reply"; +import { SetAntiraidLevelAction } from "./setAntiraidLevel"; import { SetCounterAction } from "./setCounter"; import { SetSlowmodeAction } from "./setSlowmode"; +import { WarnAction } from "./warn"; export const availableActions: Record> = { clean: CleanAction, diff --git a/backend/src/plugins/Automod/actions/ban.ts b/backend/src/plugins/Automod/actions/ban.ts index 9ca09086..ebec5516 100644 --- a/backend/src/plugins/Automod/actions/ban.ts +++ b/backend/src/plugins/Automod/actions/ban.ts @@ -1,18 +1,16 @@ import * as t from "io-ts"; -import { automodAction } from "../helpers"; -import { LogType } from "../../../data/LogType"; import { - asyncMap, - convertDelayStringToMS, - nonNullish, - resolveMember, - tDelayString, - tNullable, - unique, + convertDelayStringToMS, + nonNullish, + + tDelayString, + tNullable, + unique } from "../../../utils"; -import { resolveActionContactMethods } from "../functions/resolveActionContactMethods"; -import { ModActionsPlugin } from "../../ModActions/ModActionsPlugin"; import { CaseArgs } from "../../Cases/types"; +import { ModActionsPlugin } from "../../ModActions/ModActionsPlugin"; +import { resolveActionContactMethods } from "../functions/resolveActionContactMethods"; +import { automodAction } from "../helpers"; export const BanAction = automodAction({ configType: t.type({ diff --git a/backend/src/plugins/Automod/actions/changeNickname.ts b/backend/src/plugins/Automod/actions/changeNickname.ts index 7225f794..d6dee527 100644 --- a/backend/src/plugins/Automod/actions/changeNickname.ts +++ b/backend/src/plugins/Automod/actions/changeNickname.ts @@ -1,8 +1,8 @@ import * as t from "io-ts"; -import { automodAction } from "../helpers"; import { LogType } from "../../../data/LogType"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; import { nonNullish, unique } from "../../../utils"; +import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { automodAction } from "../helpers"; export const ChangeNicknameAction = automodAction({ configType: t.union([ diff --git a/backend/src/plugins/Automod/actions/clean.ts b/backend/src/plugins/Automod/actions/clean.ts index 4f505cfb..a326cc3b 100644 --- a/backend/src/plugins/Automod/actions/clean.ts +++ b/backend/src/plugins/Automod/actions/clean.ts @@ -1,8 +1,8 @@ +import { TextChannel } from "discord.js"; import * as t from "io-ts"; -import { automodAction } from "../helpers"; import { LogType } from "../../../data/LogType"; import { noop } from "../../../utils"; -import { TextChannel } from "discord.js"; +import { automodAction } from "../helpers"; export const CleanAction = automodAction({ configType: t.boolean, diff --git a/backend/src/plugins/Automod/actions/kick.ts b/backend/src/plugins/Automod/actions/kick.ts index 0b0fafa5..98408da3 100644 --- a/backend/src/plugins/Automod/actions/kick.ts +++ b/backend/src/plugins/Automod/actions/kick.ts @@ -1,10 +1,9 @@ import * as t from "io-ts"; -import { automodAction } from "../helpers"; -import { LogType } from "../../../data/LogType"; import { asyncMap, nonNullish, resolveMember, tNullable, unique } from "../../../utils"; -import { resolveActionContactMethods } from "../functions/resolveActionContactMethods"; -import { ModActionsPlugin } from "../../ModActions/ModActionsPlugin"; import { CaseArgs } from "../../Cases/types"; +import { ModActionsPlugin } from "../../ModActions/ModActionsPlugin"; +import { resolveActionContactMethods } from "../functions/resolveActionContactMethods"; +import { automodAction } from "../helpers"; export const KickAction = automodAction({ configType: t.type({ diff --git a/backend/src/plugins/Automod/actions/log.ts b/backend/src/plugins/Automod/actions/log.ts index 5390fe12..7218ce5f 100644 --- a/backend/src/plugins/Automod/actions/log.ts +++ b/backend/src/plugins/Automod/actions/log.ts @@ -1,8 +1,8 @@ import * as t from "io-ts"; -import { automodAction } from "../helpers"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; import { LogType } from "../../../data/LogType"; import { stripObjectToScalars, unique } from "../../../utils"; +import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { automodAction } from "../helpers"; export const LogAction = automodAction({ configType: t.boolean, diff --git a/backend/src/plugins/Automod/actions/mute.ts b/backend/src/plugins/Automod/actions/mute.ts index 3bc7a90b..2ee0b9ba 100644 --- a/backend/src/plugins/Automod/actions/mute.ts +++ b/backend/src/plugins/Automod/actions/mute.ts @@ -1,21 +1,19 @@ import * as t from "io-ts"; -import { automodAction } from "../helpers"; import { LogType } from "../../../data/LogType"; -import { - asyncMap, - convertDelayStringToMS, - nonNullish, - resolveMember, - tDelayString, - tNullable, - unique, -} from "../../../utils"; -import { resolveActionContactMethods } from "../functions/resolveActionContactMethods"; -import { ModActionsPlugin } from "../../ModActions/ModActionsPlugin"; -import { MutesPlugin } from "../../Mutes/MutesPlugin"; import { ERRORS, RecoverablePluginError } from "../../../RecoverablePluginError"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { + convertDelayStringToMS, + nonNullish, + + tDelayString, + tNullable, + unique +} from "../../../utils"; import { CaseArgs } from "../../Cases/types"; +import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { MutesPlugin } from "../../Mutes/MutesPlugin"; +import { resolveActionContactMethods } from "../functions/resolveActionContactMethods"; +import { automodAction } from "../helpers"; export const MuteAction = automodAction({ configType: t.type({ diff --git a/backend/src/plugins/Automod/actions/removeRoles.ts b/backend/src/plugins/Automod/actions/removeRoles.ts index 79e22fae..35071c02 100644 --- a/backend/src/plugins/Automod/actions/removeRoles.ts +++ b/backend/src/plugins/Automod/actions/removeRoles.ts @@ -1,17 +1,15 @@ -import * as t from "io-ts"; -import { automodAction } from "../helpers"; -import { LogType } from "../../../data/LogType"; -import { asyncMap, nonNullish, resolveMember, tNullable, unique } from "../../../utils"; -import { resolveActionContactMethods } from "../functions/resolveActionContactMethods"; -import { ModActionsPlugin } from "../../ModActions/ModActionsPlugin"; -import { getMissingPermissions } from "../../../utils/getMissingPermissions"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; -import { missingPermissionError } from "../../../utils/missingPermissionError"; -import { canAssignRole } from "../../../utils/canAssignRole"; - -import { ignoreRoleChange } from "../functions/ignoredRoleChanges"; -import { memberRolesLock } from "../../../utils/lockNameHelpers"; import { Permissions } from "discord.js"; +import * as t from "io-ts"; +import { LogType } from "../../../data/LogType"; +import { nonNullish, unique } from "../../../utils"; +import { canAssignRole } from "../../../utils/canAssignRole"; +import { getMissingPermissions } from "../../../utils/getMissingPermissions"; +import { memberRolesLock } from "../../../utils/lockNameHelpers"; +import { missingPermissionError } from "../../../utils/missingPermissionError"; +import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { ignoreRoleChange } from "../functions/ignoredRoleChanges"; +import { automodAction } from "../helpers"; + const p = Permissions.FLAGS; diff --git a/backend/src/plugins/Automod/actions/reply.ts b/backend/src/plugins/Automod/actions/reply.ts index 8357edb9..dafb9dfb 100644 --- a/backend/src/plugins/Automod/actions/reply.ts +++ b/backend/src/plugins/Automod/actions/reply.ts @@ -1,23 +1,23 @@ +import { MessageOptions, Permissions, TextChannel, User } from "discord.js"; import * as t from "io-ts"; -import { automodAction } from "../helpers"; -import { - convertDelayStringToMS, - noop, - renderRecursively, - StrictMessageContent, - stripObjectToScalars, - tDelayString, - tMessageContent, - tNullable, - unique, - verboseChannelMention, -} from "../../../utils"; - -import { AutomodContext } from "../types"; -import { renderTemplate } from "../../../templateFormatter"; -import { hasDiscordPermissions } from "../../../utils/hasDiscordPermissions"; import { LogType } from "../../../data/LogType"; -import { TextChannel, User, Constants, MessageOptions, Permissions } from "discord.js"; +import { renderTemplate } from "../../../templateFormatter"; +import { + convertDelayStringToMS, + noop, + renderRecursively, + + stripObjectToScalars, + tDelayString, + tMessageContent, + tNullable, + unique, + verboseChannelMention +} from "../../../utils"; +import { hasDiscordPermissions } from "../../../utils/hasDiscordPermissions"; +import { automodAction } from "../helpers"; +import { AutomodContext } from "../types"; + export const ReplyAction = automodAction({ configType: t.union([ diff --git a/backend/src/plugins/Automod/actions/setAntiraidLevel.ts b/backend/src/plugins/Automod/actions/setAntiraidLevel.ts index 8d15a35f..a1722aae 100644 --- a/backend/src/plugins/Automod/actions/setAntiraidLevel.ts +++ b/backend/src/plugins/Automod/actions/setAntiraidLevel.ts @@ -1,7 +1,7 @@ import * as t from "io-ts"; -import { automodAction } from "../helpers"; -import { setAntiraidLevel } from "../functions/setAntiraidLevel"; import { tNullable } from "../../../utils"; +import { setAntiraidLevel } from "../functions/setAntiraidLevel"; +import { automodAction } from "../helpers"; export const SetAntiraidLevelAction = automodAction({ configType: tNullable(t.string), diff --git a/backend/src/plugins/Automod/actions/setCounter.ts b/backend/src/plugins/Automod/actions/setCounter.ts index eb63d80d..150d77f7 100644 --- a/backend/src/plugins/Automod/actions/setCounter.ts +++ b/backend/src/plugins/Automod/actions/setCounter.ts @@ -1,7 +1,7 @@ import * as t from "io-ts"; -import { automodAction } from "../helpers"; -import { CountersPlugin } from "../../Counters/CountersPlugin"; import { LogType } from "../../../data/LogType"; +import { CountersPlugin } from "../../Counters/CountersPlugin"; +import { automodAction } from "../helpers"; export const SetCounterAction = automodAction({ configType: t.type({ diff --git a/backend/src/plugins/Automod/actions/setSlowmode.ts b/backend/src/plugins/Automod/actions/setSlowmode.ts index 7acfdd28..05222df3 100644 --- a/backend/src/plugins/Automod/actions/setSlowmode.ts +++ b/backend/src/plugins/Automod/actions/setSlowmode.ts @@ -1,9 +1,9 @@ +import { TextChannel } from "discord.js"; import * as t from "io-ts"; -import { automodAction } from "../helpers"; -import { convertDelayStringToMS, isDiscordRESTError, tDelayString, tNullable } from "../../../utils"; -import { LogType } from "../../../data/LogType"; -import { Constants, TextChannel } from "discord.js"; import { ChannelTypeStrings } from "src/types"; +import { LogType } from "../../../data/LogType"; +import { convertDelayStringToMS, isDiscordRESTError, tDelayString, tNullable } from "../../../utils"; +import { automodAction } from "../helpers"; export const SetSlowmodeAction = automodAction({ configType: t.type({ diff --git a/backend/src/plugins/Automod/actions/warn.ts b/backend/src/plugins/Automod/actions/warn.ts index 38f131b8..29dd4955 100644 --- a/backend/src/plugins/Automod/actions/warn.ts +++ b/backend/src/plugins/Automod/actions/warn.ts @@ -1,10 +1,9 @@ import * as t from "io-ts"; -import { automodAction } from "../helpers"; -import { LogType } from "../../../data/LogType"; import { asyncMap, nonNullish, resolveMember, tNullable, unique } from "../../../utils"; -import { resolveActionContactMethods } from "../functions/resolveActionContactMethods"; -import { ModActionsPlugin } from "../../ModActions/ModActionsPlugin"; import { CaseArgs } from "../../Cases/types"; +import { ModActionsPlugin } from "../../ModActions/ModActionsPlugin"; +import { resolveActionContactMethods } from "../functions/resolveActionContactMethods"; +import { automodAction } from "../helpers"; export const WarnAction = automodAction({ configType: t.type({ diff --git a/backend/src/plugins/Automod/commands/AntiraidClearCmd.ts b/backend/src/plugins/Automod/commands/AntiraidClearCmd.ts index 8aa210ee..3f119b6b 100644 --- a/backend/src/plugins/Automod/commands/AntiraidClearCmd.ts +++ b/backend/src/plugins/Automod/commands/AntiraidClearCmd.ts @@ -1,7 +1,7 @@ -import { typedGuildCommand, GuildPluginData } from "knub"; -import { AutomodPluginType } from "../types"; -import { setAntiraidLevel } from "../functions/setAntiraidLevel"; +import { typedGuildCommand } from "knub"; import { sendSuccessMessage } from "../../../pluginUtils"; +import { setAntiraidLevel } from "../functions/setAntiraidLevel"; +import { AutomodPluginType } from "../types"; export const AntiraidClearCmd = typedGuildCommand()({ trigger: ["antiraid clear", "antiraid reset", "antiraid none", "antiraid off"], diff --git a/backend/src/plugins/Automod/commands/SetAntiraidCmd.ts b/backend/src/plugins/Automod/commands/SetAntiraidCmd.ts index 0f98ac8a..3ec0f2f9 100644 --- a/backend/src/plugins/Automod/commands/SetAntiraidCmd.ts +++ b/backend/src/plugins/Automod/commands/SetAntiraidCmd.ts @@ -1,8 +1,8 @@ -import { typedGuildCommand, GuildPluginData } from "knub"; -import { AutomodPluginType } from "../types"; -import { setAntiraidLevel } from "../functions/setAntiraidLevel"; -import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { typedGuildCommand } from "knub"; import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { setAntiraidLevel } from "../functions/setAntiraidLevel"; +import { AutomodPluginType } from "../types"; export const SetAntiraidCmd = typedGuildCommand()({ trigger: "antiraid", diff --git a/backend/src/plugins/Automod/commands/ViewAntiraidCmd.ts b/backend/src/plugins/Automod/commands/ViewAntiraidCmd.ts index 397e60e1..5c208497 100644 --- a/backend/src/plugins/Automod/commands/ViewAntiraidCmd.ts +++ b/backend/src/plugins/Automod/commands/ViewAntiraidCmd.ts @@ -1,8 +1,5 @@ -import { typedGuildCommand, GuildPluginData } from "knub"; +import { typedGuildCommand } from "knub"; import { AutomodPluginType } from "../types"; -import { setAntiraidLevel } from "../functions/setAntiraidLevel"; -import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; export const ViewAntiraidCmd = typedGuildCommand()({ trigger: "antiraid", diff --git a/backend/src/plugins/Automod/events/RunAutomodOnJoinEvt.ts b/backend/src/plugins/Automod/events/RunAutomodOnJoinEvt.ts index 504a014e..17e98ba0 100644 --- a/backend/src/plugins/Automod/events/RunAutomodOnJoinEvt.ts +++ b/backend/src/plugins/Automod/events/RunAutomodOnJoinEvt.ts @@ -1,7 +1,7 @@ import { typedGuildEventListener } from "knub"; -import { AutomodContext, AutomodPluginType } from "../types"; -import { runAutomod } from "../functions/runAutomod"; import { RecentActionType } from "../constants"; +import { runAutomod } from "../functions/runAutomod"; +import { AutomodContext, AutomodPluginType } from "../types"; export const RunAutomodOnJoinEvt = typedGuildEventListener()({ event: "guildMemberAdd", diff --git a/backend/src/plugins/Automod/events/RunAutomodOnMemberUpdate.ts b/backend/src/plugins/Automod/events/RunAutomodOnMemberUpdate.ts index 8ef0b461..611aadde 100644 --- a/backend/src/plugins/Automod/events/RunAutomodOnMemberUpdate.ts +++ b/backend/src/plugins/Automod/events/RunAutomodOnMemberUpdate.ts @@ -1,9 +1,8 @@ import { typedGuildEventListener } from "knub"; -import { AutomodContext, AutomodPluginType } from "../types"; -import { RecentActionType } from "../constants"; -import { runAutomod } from "../functions/runAutomod"; -import isEqual from "lodash.isequal"; import diff from "lodash.difference"; +import isEqual from "lodash.isequal"; +import { runAutomod } from "../functions/runAutomod"; +import { AutomodContext, AutomodPluginType } from "../types"; export const RunAutomodOnMemberUpdate = typedGuildEventListener()({ event: "guildMemberUpdate", diff --git a/backend/src/plugins/Automod/events/runAutomodOnAntiraidLevel.ts b/backend/src/plugins/Automod/events/runAutomodOnAntiraidLevel.ts index 4145cb19..2dfc4bac 100644 --- a/backend/src/plugins/Automod/events/runAutomodOnAntiraidLevel.ts +++ b/backend/src/plugins/Automod/events/runAutomodOnAntiraidLevel.ts @@ -1,7 +1,7 @@ -import { GuildPluginData } from "knub"; -import { AutomodContext, AutomodPluginType } from "../types"; -import { runAutomod } from "../functions/runAutomod"; import { User } from "discord.js"; +import { GuildPluginData } from "knub"; +import { runAutomod } from "../functions/runAutomod"; +import { AutomodContext, AutomodPluginType } from "../types"; export async function runAutomodOnAntiraidLevel( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Automod/events/runAutomodOnCounterTrigger.ts b/backend/src/plugins/Automod/events/runAutomodOnCounterTrigger.ts index 2b1b974d..01f75116 100644 --- a/backend/src/plugins/Automod/events/runAutomodOnCounterTrigger.ts +++ b/backend/src/plugins/Automod/events/runAutomodOnCounterTrigger.ts @@ -1,8 +1,8 @@ import { GuildPluginData } from "knub"; -import { AutomodContext, AutomodPluginType } from "../types"; -import { runAutomod } from "../functions/runAutomod"; import { resolveMember, resolveUser, UnknownUser } from "../../../utils"; import { CountersPlugin } from "../../Counters/CountersPlugin"; +import { runAutomod } from "../functions/runAutomod"; +import { AutomodContext, AutomodPluginType } from "../types"; export async function runAutomodOnCounterTrigger( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Automod/events/runAutomodOnMessage.ts b/backend/src/plugins/Automod/events/runAutomodOnMessage.ts index a3db2cf4..1945be37 100644 --- a/backend/src/plugins/Automod/events/runAutomodOnMessage.ts +++ b/backend/src/plugins/Automod/events/runAutomodOnMessage.ts @@ -1,10 +1,10 @@ -import { SavedMessage } from "../../../data/entities/SavedMessage"; import { GuildPluginData } from "knub"; -import { AutomodContext, AutomodPluginType } from "../types"; -import { runAutomod } from "../functions/runAutomod"; -import { addRecentActionsFromMessage } from "../functions/addRecentActionsFromMessage"; import moment from "moment-timezone"; +import { SavedMessage } from "../../../data/entities/SavedMessage"; +import { addRecentActionsFromMessage } from "../functions/addRecentActionsFromMessage"; import { clearRecentActionsForMessage } from "../functions/clearRecentActionsForMessage"; +import { runAutomod } from "../functions/runAutomod"; +import { AutomodContext, AutomodPluginType } from "../types"; export function runAutomodOnMessage( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Automod/events/runAutomodOnModAction.ts b/backend/src/plugins/Automod/events/runAutomodOnModAction.ts index 5f9437c1..79c8dbea 100644 --- a/backend/src/plugins/Automod/events/runAutomodOnModAction.ts +++ b/backend/src/plugins/Automod/events/runAutomodOnModAction.ts @@ -1,8 +1,8 @@ import { GuildPluginData } from "knub"; -import { AutomodContext, AutomodPluginType } from "../types"; -import { runAutomod } from "../functions/runAutomod"; import { resolveMember, resolveUser, UnknownUser } from "../../../utils"; import { ModActionType } from "../../ModActions/types"; +import { runAutomod } from "../functions/runAutomod"; +import { AutomodContext, AutomodPluginType } from "../types"; export async function runAutomodOnModAction( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Automod/functions/addRecentActionsFromMessage.ts b/backend/src/plugins/Automod/functions/addRecentActionsFromMessage.ts index 90b8dba6..4f533182 100644 --- a/backend/src/plugins/Automod/functions/addRecentActionsFromMessage.ts +++ b/backend/src/plugins/Automod/functions/addRecentActionsFromMessage.ts @@ -1,7 +1,7 @@ -import { AutomodContext, AutomodPluginType } from "../types"; import { GuildPluginData } from "knub"; -import { RECENT_ACTION_EXPIRY_TIME, RecentActionType } from "../constants"; import { getEmojiInString, getRoleMentions, getUrlsInString, getUserMentions } from "../../../utils"; +import { RecentActionType, RECENT_ACTION_EXPIRY_TIME } from "../constants"; +import { AutomodContext, AutomodPluginType } from "../types"; export function addRecentActionsFromMessage(pluginData: GuildPluginData, context: AutomodContext) { const message = context.message!; diff --git a/backend/src/plugins/Automod/functions/checkAndUpdateCooldown.ts b/backend/src/plugins/Automod/functions/checkAndUpdateCooldown.ts index 887d18f0..6338d698 100644 --- a/backend/src/plugins/Automod/functions/checkAndUpdateCooldown.ts +++ b/backend/src/plugins/Automod/functions/checkAndUpdateCooldown.ts @@ -1,7 +1,6 @@ -import { AutomodContext, AutomodPluginType, TRule } from "../types"; import { GuildPluginData } from "knub"; -import { AutomodTriggerMatchResult } from "../helpers"; import { convertDelayStringToMS } from "../../../utils"; +import { AutomodContext, AutomodPluginType, TRule } from "../types"; export function checkAndUpdateCooldown( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Automod/functions/clearOldNicknameChanges.ts b/backend/src/plugins/Automod/functions/clearOldNicknameChanges.ts index 8d668ba7..0d720c2d 100644 --- a/backend/src/plugins/Automod/functions/clearOldNicknameChanges.ts +++ b/backend/src/plugins/Automod/functions/clearOldNicknameChanges.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; +import { RECENT_NICKNAME_CHANGE_EXPIRY_TIME } from "../constants"; import { AutomodPluginType } from "../types"; -import { RECENT_NICKNAME_CHANGE_EXPIRY_TIME, RECENT_SPAM_EXPIRY_TIME } from "../constants"; export function clearOldRecentNicknameChanges(pluginData: GuildPluginData) { const now = Date.now(); diff --git a/backend/src/plugins/Automod/functions/clearOldRecentActions.ts b/backend/src/plugins/Automod/functions/clearOldRecentActions.ts index e1ee2fe5..67a79718 100644 --- a/backend/src/plugins/Automod/functions/clearOldRecentActions.ts +++ b/backend/src/plugins/Automod/functions/clearOldRecentActions.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; -import { AutomodPluginType } from "../types"; import { RECENT_ACTION_EXPIRY_TIME } from "../constants"; +import { AutomodPluginType } from "../types"; export function clearOldRecentActions(pluginData: GuildPluginData) { const now = Date.now(); diff --git a/backend/src/plugins/Automod/functions/clearOldRecentSpam.ts b/backend/src/plugins/Automod/functions/clearOldRecentSpam.ts index 7fcec63e..a0f34c8b 100644 --- a/backend/src/plugins/Automod/functions/clearOldRecentSpam.ts +++ b/backend/src/plugins/Automod/functions/clearOldRecentSpam.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; -import { AutomodPluginType } from "../types"; import { RECENT_SPAM_EXPIRY_TIME } from "../constants"; +import { AutomodPluginType } from "../types"; export function clearOldRecentSpam(pluginData: GuildPluginData) { const now = Date.now(); diff --git a/backend/src/plugins/Automod/functions/clearRecentActionsForMessage.ts b/backend/src/plugins/Automod/functions/clearRecentActionsForMessage.ts index 03af6c9d..7aa9750a 100644 --- a/backend/src/plugins/Automod/functions/clearRecentActionsForMessage.ts +++ b/backend/src/plugins/Automod/functions/clearRecentActionsForMessage.ts @@ -1,7 +1,5 @@ -import { AutomodContext, AutomodPluginType } from "../types"; import { GuildPluginData } from "knub"; -import { RECENT_ACTION_EXPIRY_TIME, RecentActionType } from "../constants"; -import { getEmojiInString, getRoleMentions, getUrlsInString, getUserMentions } from "../../../utils"; +import { AutomodContext, AutomodPluginType } from "../types"; export function clearRecentActionsForMessage(pluginData: GuildPluginData, context: AutomodContext) { const message = context.message!; diff --git a/backend/src/plugins/Automod/functions/createMessageSpamTrigger.ts b/backend/src/plugins/Automod/functions/createMessageSpamTrigger.ts index 09f4af78..009a1f52 100644 --- a/backend/src/plugins/Automod/functions/createMessageSpamTrigger.ts +++ b/backend/src/plugins/Automod/functions/createMessageSpamTrigger.ts @@ -1,13 +1,13 @@ -import { RecentActionType } from "../constants"; -import { automodTrigger } from "../helpers"; +import * as t from "io-ts"; +import { SavedMessage } from "../../../data/entities/SavedMessage"; +import { humanizeDurationShort } from "../../../humanizeDurationShort"; import { getBaseUrl } from "../../../pluginUtils"; import { convertDelayStringToMS, sorter, tDelayString, tNullable } from "../../../utils"; -import { humanizeDurationShort } from "../../../humanizeDurationShort"; +import { RecentActionType } from "../constants"; +import { automodTrigger } from "../helpers"; import { findRecentSpam } from "./findRecentSpam"; import { getMatchingMessageRecentActions } from "./getMatchingMessageRecentActions"; -import * as t from "io-ts"; import { getMessageSpamIdentifier } from "./getSpamIdentifier"; -import { SavedMessage } from "../../../data/entities/SavedMessage"; const MessageSpamTriggerConfig = t.type({ amount: t.number, diff --git a/backend/src/plugins/Automod/functions/findRecentSpam.ts b/backend/src/plugins/Automod/functions/findRecentSpam.ts index 6ec8a59f..0e042ed5 100644 --- a/backend/src/plugins/Automod/functions/findRecentSpam.ts +++ b/backend/src/plugins/Automod/functions/findRecentSpam.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; -import { AutomodPluginType } from "../types"; import { RecentActionType } from "../constants"; +import { AutomodPluginType } from "../types"; export function findRecentSpam( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Automod/functions/getMatchingMessageRecentActions.ts b/backend/src/plugins/Automod/functions/getMatchingMessageRecentActions.ts index 7e7299bc..8318ea1e 100644 --- a/backend/src/plugins/Automod/functions/getMatchingMessageRecentActions.ts +++ b/backend/src/plugins/Automod/functions/getMatchingMessageRecentActions.ts @@ -1,9 +1,9 @@ import { GuildPluginData } from "knub"; -import { AutomodPluginType } from "../types"; -import { SavedMessage } from "../../../data/entities/SavedMessage"; import moment from "moment-timezone"; -import { getMatchingRecentActions } from "./getMatchingRecentActions"; +import { SavedMessage } from "../../../data/entities/SavedMessage"; import { RecentActionType } from "../constants"; +import { AutomodPluginType } from "../types"; +import { getMatchingRecentActions } from "./getMatchingRecentActions"; export function getMatchingMessageRecentActions( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Automod/functions/getMatchingRecentActions.ts b/backend/src/plugins/Automod/functions/getMatchingRecentActions.ts index 56d251c2..416c050b 100644 --- a/backend/src/plugins/Automod/functions/getMatchingRecentActions.ts +++ b/backend/src/plugins/Automod/functions/getMatchingRecentActions.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; -import { AutomodPluginType } from "../types"; import { RecentActionType } from "../constants"; +import { AutomodPluginType } from "../types"; export function getMatchingRecentActions( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Automod/functions/getTextMatchPartialSummary.ts b/backend/src/plugins/Automod/functions/getTextMatchPartialSummary.ts index 99442b1e..7ce964d5 100644 --- a/backend/src/plugins/Automod/functions/getTextMatchPartialSummary.ts +++ b/backend/src/plugins/Automod/functions/getTextMatchPartialSummary.ts @@ -1,7 +1,7 @@ -import { MatchableTextType } from "./matchMultipleTextTypesOnMessage"; -import { AutomodContext, AutomodPluginType } from "../types"; -import { messageSummary, verboseChannelMention } from "../../../utils"; import { GuildPluginData } from "knub"; +import { messageSummary, verboseChannelMention } from "../../../utils"; +import { AutomodContext, AutomodPluginType } from "../types"; +import { MatchableTextType } from "./matchMultipleTextTypesOnMessage"; export function getTextMatchPartialSummary( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Automod/functions/ignoredRoleChanges.ts b/backend/src/plugins/Automod/functions/ignoredRoleChanges.ts index a3c881a6..a8314a85 100644 --- a/backend/src/plugins/Automod/functions/ignoredRoleChanges.ts +++ b/backend/src/plugins/Automod/functions/ignoredRoleChanges.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; -import { AutomodPluginType } from "../types"; import { MINUTES } from "../../../utils"; +import { AutomodPluginType } from "../types"; const IGNORED_ROLE_CHANGE_LIFETIME = 5 * MINUTES; diff --git a/backend/src/plugins/Automod/functions/matchMultipleTextTypesOnMessage.ts b/backend/src/plugins/Automod/functions/matchMultipleTextTypesOnMessage.ts index 2638d677..6b2e1038 100644 --- a/backend/src/plugins/Automod/functions/matchMultipleTextTypesOnMessage.ts +++ b/backend/src/plugins/Automod/functions/matchMultipleTextTypesOnMessage.ts @@ -1,8 +1,8 @@ +import { Constants } from "discord.js"; +import { GuildPluginData } from "knub"; import { SavedMessage } from "../../../data/entities/SavedMessage"; import { resolveMember } from "../../../utils"; -import { GuildPluginData } from "knub"; import { AutomodPluginType } from "../types"; -import { Activity, Constants } from "discord.js"; type TextTriggerWithMultipleMatchTypes = { match_messages: boolean; diff --git a/backend/src/plugins/Automod/functions/resolveActionContactMethods.ts b/backend/src/plugins/Automod/functions/resolveActionContactMethods.ts index 83753a02..a7c465fc 100644 --- a/backend/src/plugins/Automod/functions/resolveActionContactMethods.ts +++ b/backend/src/plugins/Automod/functions/resolveActionContactMethods.ts @@ -1,9 +1,9 @@ -import { disableUserNotificationStrings, UserNotificationMethod } from "../../../utils"; -import { ERRORS, RecoverablePluginError } from "../../../RecoverablePluginError"; - -import { GuildPluginData } from "knub"; -import { AutomodPluginType } from "../types"; import { TextChannel } from "discord.js"; +import { GuildPluginData } from "knub"; +import { ERRORS, RecoverablePluginError } from "../../../RecoverablePluginError"; +import { disableUserNotificationStrings, UserNotificationMethod } from "../../../utils"; +import { AutomodPluginType } from "../types"; + export function resolveActionContactMethods( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Automod/functions/runAutomod.ts b/backend/src/plugins/Automod/functions/runAutomod.ts index f95a9abf..3af968da 100644 --- a/backend/src/plugins/Automod/functions/runAutomod.ts +++ b/backend/src/plugins/Automod/functions/runAutomod.ts @@ -1,11 +1,11 @@ -import { GuildPluginData } from "knub"; -import { AutomodContext, AutomodPluginType } from "../types"; -import { availableTriggers } from "../triggers/availableTriggers"; -import { availableActions } from "../actions/availableActions"; -import { AutomodTriggerMatchResult } from "../helpers"; -import { CleanAction } from "../actions/clean"; -import { checkAndUpdateCooldown } from "./checkAndUpdateCooldown"; import { TextChannel } from "discord.js"; +import { GuildPluginData } from "knub"; +import { availableActions } from "../actions/availableActions"; +import { CleanAction } from "../actions/clean"; +import { AutomodTriggerMatchResult } from "../helpers"; +import { availableTriggers } from "../triggers/availableTriggers"; +import { AutomodContext, AutomodPluginType } from "../types"; +import { checkAndUpdateCooldown } from "./checkAndUpdateCooldown"; export async function runAutomod(pluginData: GuildPluginData, context: AutomodContext) { const userId = context.user?.id || context.member?.id || context.message?.user_id; diff --git a/backend/src/plugins/Automod/functions/setAntiraidLevel.ts b/backend/src/plugins/Automod/functions/setAntiraidLevel.ts index 8d926525..328a8772 100644 --- a/backend/src/plugins/Automod/functions/setAntiraidLevel.ts +++ b/backend/src/plugins/Automod/functions/setAntiraidLevel.ts @@ -1,10 +1,10 @@ +import { User } from "discord.js"; import { GuildPluginData } from "knub"; -import { AutomodPluginType } from "../types"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; import { LogType } from "../../../data/LogType"; import { stripObjectToScalars } from "../../../utils"; +import { LogsPlugin } from "../../Logs/LogsPlugin"; import { runAutomodOnAntiraidLevel } from "../events/runAutomodOnAntiraidLevel"; -import { User } from "discord.js"; +import { AutomodPluginType } from "../types"; export async function setAntiraidLevel( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Automod/helpers.ts b/backend/src/plugins/Automod/helpers.ts index f14e0331..20bafe7e 100644 --- a/backend/src/plugins/Automod/helpers.ts +++ b/backend/src/plugins/Automod/helpers.ts @@ -1,6 +1,6 @@ +import * as t from "io-ts"; import { GuildPluginData } from "knub"; import { Awaitable } from "knub/dist/utils"; -import * as t from "io-ts"; import { AutomodContext, AutomodPluginType } from "./types"; interface BaseAutomodTriggerMatchResult { diff --git a/backend/src/plugins/Automod/info.ts b/backend/src/plugins/Automod/info.ts index 9fcdced0..6a053757 100644 --- a/backend/src/plugins/Automod/info.ts +++ b/backend/src/plugins/Automod/info.ts @@ -1,5 +1,5 @@ -import { ZeppelinGuildPluginBlueprint } from "../ZeppelinPluginBlueprint"; import { trimPluginDescription } from "../../utils"; +import { ZeppelinGuildPluginBlueprint } from "../ZeppelinPluginBlueprint"; export const pluginInfo: ZeppelinGuildPluginBlueprint["info"] = { prettyName: "Automod", diff --git a/backend/src/plugins/Automod/triggers/antiraidLevel.ts b/backend/src/plugins/Automod/triggers/antiraidLevel.ts index 98398811..24959c66 100644 --- a/backend/src/plugins/Automod/triggers/antiraidLevel.ts +++ b/backend/src/plugins/Automod/triggers/antiraidLevel.ts @@ -1,6 +1,6 @@ import * as t from "io-ts"; -import { automodTrigger } from "../helpers"; import { tNullable } from "../../../utils"; +import { automodTrigger } from "../helpers"; // tslint:disable-next-line interface AntiraidLevelTriggerResult {} diff --git a/backend/src/plugins/Automod/triggers/anyMessage.ts b/backend/src/plugins/Automod/triggers/anyMessage.ts index 4f15c3cb..59c120ad 100644 --- a/backend/src/plugins/Automod/triggers/anyMessage.ts +++ b/backend/src/plugins/Automod/triggers/anyMessage.ts @@ -1,6 +1,6 @@ import * as t from "io-ts"; -import { automodTrigger } from "../helpers"; import { verboseChannelMention } from "../../../utils"; +import { automodTrigger } from "../helpers"; // tslint:disable-next-line:no-empty-interface interface AnyMessageResultType {} diff --git a/backend/src/plugins/Automod/triggers/availableTriggers.ts b/backend/src/plugins/Automod/triggers/availableTriggers.ts index cbb5b7d2..dbd02cc8 100644 --- a/backend/src/plugins/Automod/triggers/availableTriggers.ts +++ b/backend/src/plugins/Automod/triggers/availableTriggers.ts @@ -1,32 +1,32 @@ import * as t from "io-ts"; -import { MatchWordsTrigger } from "./matchWords"; import { AutomodTriggerBlueprint } from "../helpers"; -import { MessageSpamTrigger } from "./messageSpam"; -import { MentionSpamTrigger } from "./mentionSpam"; -import { LinkSpamTrigger } from "./linkSpam"; +import { AntiraidLevelTrigger } from "./antiraidLevel"; +import { AnyMessageTrigger } from "./anyMessage"; import { AttachmentSpamTrigger } from "./attachmentSpam"; -import { EmojiSpamTrigger } from "./emojiSpam"; -import { LineSpamTrigger } from "./lineSpam"; +import { BanTrigger } from "./ban"; import { CharacterSpamTrigger } from "./characterSpam"; -import { MatchRegexTrigger } from "./matchRegex"; +import { CounterTrigger } from "./counterTrigger"; +import { EmojiSpamTrigger } from "./emojiSpam"; +import { KickTrigger } from "./kick"; +import { LineSpamTrigger } from "./lineSpam"; +import { LinkSpamTrigger } from "./linkSpam"; +import { MatchAttachmentTypeTrigger } from "./matchAttachmentType"; import { MatchInvitesTrigger } from "./matchInvites"; import { MatchLinksTrigger } from "./matchLinks"; -import { MatchAttachmentTypeTrigger } from "./matchAttachmentType"; -import { MemberJoinSpamTrigger } from "./memberJoinSpam"; +import { MatchRegexTrigger } from "./matchRegex"; +import { MatchWordsTrigger } from "./matchWords"; import { MemberJoinTrigger } from "./memberJoin"; +import { MemberJoinSpamTrigger } from "./memberJoinSpam"; +import { MentionSpamTrigger } from "./mentionSpam"; +import { MessageSpamTrigger } from "./messageSpam"; +import { MuteTrigger } from "./mute"; +import { NoteTrigger } from "./note"; import { RoleAddedTrigger } from "./roleAdded"; import { RoleRemovedTrigger } from "./roleRemoved"; import { StickerSpamTrigger } from "./stickerSpam"; -import { CounterTrigger } from "./counterTrigger"; -import { NoteTrigger } from "./note"; -import { WarnTrigger } from "./warn"; -import { MuteTrigger } from "./mute"; -import { UnmuteTrigger } from "./unmute"; -import { KickTrigger } from "./kick"; -import { BanTrigger } from "./ban"; import { UnbanTrigger } from "./unban"; -import { AnyMessageTrigger } from "./anyMessage"; -import { AntiraidLevelTrigger } from "./antiraidLevel"; +import { UnmuteTrigger } from "./unmute"; +import { WarnTrigger } from "./warn"; export const availableTriggers: Record> = { any_message: AnyMessageTrigger, diff --git a/backend/src/plugins/Automod/triggers/counterTrigger.ts b/backend/src/plugins/Automod/triggers/counterTrigger.ts index ddfda013..a446164b 100644 --- a/backend/src/plugins/Automod/triggers/counterTrigger.ts +++ b/backend/src/plugins/Automod/triggers/counterTrigger.ts @@ -1,8 +1,6 @@ import * as t from "io-ts"; -import { automodTrigger } from "../helpers"; -import { consumeIgnoredRoleChange } from "../functions/ignoredRoleChanges"; -import { CountersPlugin } from "../../Counters/CountersPlugin"; import { tNullable } from "../../../utils"; +import { automodTrigger } from "../helpers"; // tslint:disable-next-line interface CounterTriggerResult {} diff --git a/backend/src/plugins/Automod/triggers/matchAttachmentType.ts b/backend/src/plugins/Automod/triggers/matchAttachmentType.ts index 39163095..7541b577 100644 --- a/backend/src/plugins/Automod/triggers/matchAttachmentType.ts +++ b/backend/src/plugins/Automod/triggers/matchAttachmentType.ts @@ -1,12 +1,12 @@ import * as t from "io-ts"; -import { automodTrigger } from "../helpers"; import { - asSingleLine, - disableCodeBlocks, - disableInlineCode, - messageSummary, - verboseChannelMention, + asSingleLine, + + disableInlineCode, + messageSummary, + verboseChannelMention } from "../../../utils"; +import { automodTrigger } from "../helpers"; interface MatchResultType { matchedType: string; diff --git a/backend/src/plugins/Automod/triggers/matchInvites.ts b/backend/src/plugins/Automod/triggers/matchInvites.ts index 1e254711..6b238841 100644 --- a/backend/src/plugins/Automod/triggers/matchInvites.ts +++ b/backend/src/plugins/Automod/triggers/matchInvites.ts @@ -1,17 +1,14 @@ import * as t from "io-ts"; -import { automodTrigger } from "../helpers"; import { - disableCodeBlocks, - disableInlineCode, - getInviteCodesInString, - GuildInvite, - isGuildInvite, - resolveInvite, - tNullable, - verboseChannelMention, + getInviteCodesInString, + GuildInvite, + isGuildInvite, + resolveInvite, + tNullable } from "../../../utils"; -import { MatchableTextType, matchMultipleTextTypesOnMessage } from "../functions/matchMultipleTextTypesOnMessage"; import { getTextMatchPartialSummary } from "../functions/getTextMatchPartialSummary"; +import { MatchableTextType, matchMultipleTextTypesOnMessage } from "../functions/matchMultipleTextTypesOnMessage"; +import { automodTrigger } from "../helpers"; interface MatchResultType { type: MatchableTextType; diff --git a/backend/src/plugins/Automod/triggers/matchLinks.ts b/backend/src/plugins/Automod/triggers/matchLinks.ts index 50d953d6..29c05190 100644 --- a/backend/src/plugins/Automod/triggers/matchLinks.ts +++ b/backend/src/plugins/Automod/triggers/matchLinks.ts @@ -1,18 +1,15 @@ -import * as t from "io-ts"; import escapeStringRegexp from "escape-string-regexp"; -import { automodTrigger } from "../helpers"; +import * as t from "io-ts"; +import { allowTimeout } from "../../../RegExpRunner"; import { - asSingleLine, - disableCodeBlocks, - disableInlineCode, - getUrlsInString, - tNullable, - verboseChannelMention, + disableInlineCode, + getUrlsInString, + tNullable } from "../../../utils"; -import { MatchableTextType, matchMultipleTextTypesOnMessage } from "../functions/matchMultipleTextTypesOnMessage"; import { TRegex } from "../../../validatorUtils"; import { getTextMatchPartialSummary } from "../functions/getTextMatchPartialSummary"; -import { allowTimeout } from "../../../RegExpRunner"; +import { MatchableTextType, matchMultipleTextTypesOnMessage } from "../functions/matchMultipleTextTypesOnMessage"; +import { automodTrigger } from "../helpers"; interface MatchResultType { type: MatchableTextType; diff --git a/backend/src/plugins/Automod/triggers/matchRegex.ts b/backend/src/plugins/Automod/triggers/matchRegex.ts index 95dc3241..5d585f08 100644 --- a/backend/src/plugins/Automod/triggers/matchRegex.ts +++ b/backend/src/plugins/Automod/triggers/matchRegex.ts @@ -1,12 +1,12 @@ import * as t from "io-ts"; -import { automodTrigger } from "../helpers"; -import { disableInlineCode, verboseChannelMention } from "../../../utils"; -import { MatchableTextType, matchMultipleTextTypesOnMessage } from "../functions/matchMultipleTextTypesOnMessage"; -import { getTextMatchPartialSummary } from "../functions/getTextMatchPartialSummary"; import { allowTimeout } from "../../../RegExpRunner"; -import { TRegex } from "../../../validatorUtils"; +import { disableInlineCode } from "../../../utils"; import { normalizeText } from "../../../utils/normalizeText"; import { stripMarkdown } from "../../../utils/stripMarkdown"; +import { TRegex } from "../../../validatorUtils"; +import { getTextMatchPartialSummary } from "../functions/getTextMatchPartialSummary"; +import { MatchableTextType, matchMultipleTextTypesOnMessage } from "../functions/matchMultipleTextTypesOnMessage"; +import { automodTrigger } from "../helpers"; interface MatchResultType { pattern: string; diff --git a/backend/src/plugins/Automod/triggers/matchWords.ts b/backend/src/plugins/Automod/triggers/matchWords.ts index b5a2da97..2a011546 100644 --- a/backend/src/plugins/Automod/triggers/matchWords.ts +++ b/backend/src/plugins/Automod/triggers/matchWords.ts @@ -1,11 +1,11 @@ -import * as t from "io-ts"; import escapeStringRegexp from "escape-string-regexp"; -import { automodTrigger } from "../helpers"; -import { disableInlineCode, verboseChannelMention } from "../../../utils"; -import { MatchableTextType, matchMultipleTextTypesOnMessage } from "../functions/matchMultipleTextTypesOnMessage"; -import { getTextMatchPartialSummary } from "../functions/getTextMatchPartialSummary"; +import * as t from "io-ts"; +import { disableInlineCode } from "../../../utils"; import { normalizeText } from "../../../utils/normalizeText"; import { stripMarkdown } from "../../../utils/stripMarkdown"; +import { getTextMatchPartialSummary } from "../functions/getTextMatchPartialSummary"; +import { MatchableTextType, matchMultipleTextTypesOnMessage } from "../functions/matchMultipleTextTypesOnMessage"; +import { automodTrigger } from "../helpers"; interface MatchResultType { word: string; diff --git a/backend/src/plugins/Automod/triggers/memberJoin.ts b/backend/src/plugins/Automod/triggers/memberJoin.ts index a94b6b52..014c992b 100644 --- a/backend/src/plugins/Automod/triggers/memberJoin.ts +++ b/backend/src/plugins/Automod/triggers/memberJoin.ts @@ -1,6 +1,6 @@ import * as t from "io-ts"; -import { automodTrigger } from "../helpers"; import { convertDelayStringToMS, tDelayString } from "../../../utils"; +import { automodTrigger } from "../helpers"; export const MemberJoinTrigger = automodTrigger()({ configType: t.type({ diff --git a/backend/src/plugins/Automod/triggers/memberJoinSpam.ts b/backend/src/plugins/Automod/triggers/memberJoinSpam.ts index f0f9b704..7ab1964a 100644 --- a/backend/src/plugins/Automod/triggers/memberJoinSpam.ts +++ b/backend/src/plugins/Automod/triggers/memberJoinSpam.ts @@ -1,10 +1,10 @@ import * as t from "io-ts"; -import { automodTrigger } from "../helpers"; import { convertDelayStringToMS, tDelayString } from "../../../utils"; -import { getMatchingRecentActions } from "../functions/getMatchingRecentActions"; import { RecentActionType } from "../constants"; -import { sumRecentActionCounts } from "../functions/sumRecentActionCounts"; import { findRecentSpam } from "../functions/findRecentSpam"; +import { getMatchingRecentActions } from "../functions/getMatchingRecentActions"; +import { sumRecentActionCounts } from "../functions/sumRecentActionCounts"; +import { automodTrigger } from "../helpers"; export const MemberJoinSpamTrigger = automodTrigger()({ configType: t.type({ diff --git a/backend/src/plugins/Automod/triggers/roleAdded.ts b/backend/src/plugins/Automod/triggers/roleAdded.ts index f3a4d7cb..ad0e6bfd 100644 --- a/backend/src/plugins/Automod/triggers/roleAdded.ts +++ b/backend/src/plugins/Automod/triggers/roleAdded.ts @@ -1,6 +1,6 @@ import * as t from "io-ts"; -import { automodTrigger } from "../helpers"; import { consumeIgnoredRoleChange } from "../functions/ignoredRoleChanges"; +import { automodTrigger } from "../helpers"; interface RoleAddedMatchResult { matchedRoleId: string; diff --git a/backend/src/plugins/Automod/triggers/roleRemoved.ts b/backend/src/plugins/Automod/triggers/roleRemoved.ts index 430ec746..b0af1166 100644 --- a/backend/src/plugins/Automod/triggers/roleRemoved.ts +++ b/backend/src/plugins/Automod/triggers/roleRemoved.ts @@ -1,6 +1,6 @@ import * as t from "io-ts"; -import { automodTrigger } from "../helpers"; import { consumeIgnoredRoleChange } from "../functions/ignoredRoleChanges"; +import { automodTrigger } from "../helpers"; interface RoleAddedMatchResult { matchedRoleId: string; diff --git a/backend/src/plugins/Automod/types.ts b/backend/src/plugins/Automod/types.ts index 08b49ee4..100899bd 100644 --- a/backend/src/plugins/Automod/types.ts +++ b/backend/src/plugins/Automod/types.ts @@ -1,22 +1,22 @@ +import { GuildMember, User } from "discord.js"; import * as t from "io-ts"; -import { tNullable, UnknownUser } from "../../utils"; import { BasePluginType, CooldownManager } from "knub"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; -import { GuildLogs } from "../../data/GuildLogs"; import { SavedMessage } from "../../data/entities/SavedMessage"; - -import { AvailableTriggers } from "./triggers/availableTriggers"; -import { AvailableActions } from "./actions/availableActions"; -import { Queue } from "../../Queue"; import { GuildAntiraidLevels } from "../../data/GuildAntiraidLevels"; import { GuildArchives } from "../../data/GuildArchives"; -import { RecentActionType } from "./constants"; -import Timeout = NodeJS.Timeout; +import { GuildLogs } from "../../data/GuildLogs"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { Queue } from "../../Queue"; import { RegExpRunner } from "../../RegExpRunner"; +import { tNullable } from "../../utils"; import { CounterEvents } from "../Counters/types"; import { ModActionsEvents, ModActionType } from "../ModActions/types"; import { MutesEvents } from "../Mutes/types"; -import { GuildMember, User } from "discord.js"; +import { AvailableActions } from "./actions/availableActions"; +import { RecentActionType } from "./constants"; +import { AvailableTriggers } from "./triggers/availableTriggers"; + +import Timeout = NodeJS.Timeout; export const Rule = t.type({ enabled: t.boolean, diff --git a/backend/src/plugins/BotControl/BotControlPlugin.ts b/backend/src/plugins/BotControl/BotControlPlugin.ts index 6c5cffc3..8bce0acb 100644 --- a/backend/src/plugins/BotControl/BotControlPlugin.ts +++ b/backend/src/plugins/BotControl/BotControlPlugin.ts @@ -1,24 +1,24 @@ -import { zeppelinGlobalPlugin } from "../ZeppelinPluginBlueprint"; -import { BotControlPluginType, ConfigSchema } from "./types"; -import { GuildArchives } from "../../data/GuildArchives"; - -import { sendSuccessMessage } from "../../pluginUtils"; -import { getActiveReload, resetActiveReload } from "./activeReload"; -import { ReloadGlobalPluginsCmd } from "./commands/ReloadGlobalPluginsCmd"; -import { ServersCmd } from "./commands/ServersCmd"; -import { LeaveServerCmd } from "./commands/LeaveServerCmd"; -import { ReloadServerCmd } from "./commands/ReloadServerCmd"; +import { TextChannel } from "discord.js"; import { AllowedGuilds } from "../../data/AllowedGuilds"; +import { ApiPermissionAssignments } from "../../data/ApiPermissionAssignments"; +import { Configs } from "../../data/Configs"; +import { GuildArchives } from "../../data/GuildArchives"; +import { sendSuccessMessage } from "../../pluginUtils"; +import { zeppelinGlobalPlugin } from "../ZeppelinPluginBlueprint"; +import { getActiveReload, resetActiveReload } from "./activeReload"; +import { AddDashboardUserCmd } from "./commands/AddDashboardUserCmd"; import { AllowServerCmd } from "./commands/AllowServerCmd"; import { DisallowServerCmd } from "./commands/DisallowServerCmd"; -import { AddDashboardUserCmd } from "./commands/AddDashboardUserCmd"; -import { RemoveDashboardUserCmd } from "./commands/RemoveDashboardUserCmd"; -import { Configs } from "../../data/Configs"; -import { ApiPermissionAssignments } from "../../data/ApiPermissionAssignments"; -import { ListDashboardUsersCmd } from "./commands/ListDashboardUsersCmd"; -import { ListDashboardPermsCmd } from "./commands/ListDashboardPermsCmd"; import { EligibleCmd } from "./commands/EligibleCmd"; -import { TextChannel } from "discord.js"; +import { LeaveServerCmd } from "./commands/LeaveServerCmd"; +import { ListDashboardPermsCmd } from "./commands/ListDashboardPermsCmd"; +import { ListDashboardUsersCmd } from "./commands/ListDashboardUsersCmd"; +import { ReloadGlobalPluginsCmd } from "./commands/ReloadGlobalPluginsCmd"; +import { ReloadServerCmd } from "./commands/ReloadServerCmd"; +import { RemoveDashboardUserCmd } from "./commands/RemoveDashboardUserCmd"; +import { ServersCmd } from "./commands/ServersCmd"; +import { BotControlPluginType, ConfigSchema } from "./types"; + const defaultOptions = { config: { diff --git a/backend/src/plugins/BotControl/commands/AddDashboardUserCmd.ts b/backend/src/plugins/BotControl/commands/AddDashboardUserCmd.ts index 3e207b1e..156606da 100644 --- a/backend/src/plugins/BotControl/commands/AddDashboardUserCmd.ts +++ b/backend/src/plugins/BotControl/commands/AddDashboardUserCmd.ts @@ -1,8 +1,8 @@ -import { botControlCmd } from "../types"; -import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; import { ApiPermissions } from "@shared/apiPermissions"; import { TextChannel } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { botControlCmd } from "../types"; export const AddDashboardUserCmd = botControlCmd({ trigger: ["add_dashboard_user"], diff --git a/backend/src/plugins/BotControl/commands/AllowServerCmd.ts b/backend/src/plugins/BotControl/commands/AllowServerCmd.ts index 751fdfcc..2ff34f6d 100644 --- a/backend/src/plugins/BotControl/commands/AllowServerCmd.ts +++ b/backend/src/plugins/BotControl/commands/AllowServerCmd.ts @@ -1,9 +1,9 @@ -import { botControlCmd } from "../types"; -import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { isSnowflake } from "../../../utils"; import { ApiPermissions } from "@shared/apiPermissions"; import { TextChannel } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { isSnowflake } from "../../../utils"; +import { botControlCmd } from "../types"; export const AllowServerCmd = botControlCmd({ trigger: ["allow_server", "allowserver", "add_server", "addserver"], diff --git a/backend/src/plugins/BotControl/commands/DisallowServerCmd.ts b/backend/src/plugins/BotControl/commands/DisallowServerCmd.ts index 1fc4916e..9dfd9599 100644 --- a/backend/src/plugins/BotControl/commands/DisallowServerCmd.ts +++ b/backend/src/plugins/BotControl/commands/DisallowServerCmd.ts @@ -1,8 +1,8 @@ -import { botControlCmd } from "../types"; -import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { noop } from "../../../utils"; import { TextChannel } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { noop } from "../../../utils"; +import { botControlCmd } from "../types"; export const DisallowServerCmd = botControlCmd({ trigger: ["disallow_server", "disallowserver", "remove_server", "removeserver"], diff --git a/backend/src/plugins/BotControl/commands/EligibleCmd.ts b/backend/src/plugins/BotControl/commands/EligibleCmd.ts index ff68d1d8..522cf3a0 100644 --- a/backend/src/plugins/BotControl/commands/EligibleCmd.ts +++ b/backend/src/plugins/BotControl/commands/EligibleCmd.ts @@ -1,8 +1,8 @@ -import { botControlCmd } from "../types"; -import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { resolveInvite, verboseUserMention } from "../../../utils"; import { TextChannel } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { resolveInvite, verboseUserMention } from "../../../utils"; +import { botControlCmd } from "../types"; const REQUIRED_MEMBER_COUNT = 5000; diff --git a/backend/src/plugins/BotControl/commands/LeaveServerCmd.ts b/backend/src/plugins/BotControl/commands/LeaveServerCmd.ts index 1d96eb96..8352548a 100644 --- a/backend/src/plugins/BotControl/commands/LeaveServerCmd.ts +++ b/backend/src/plugins/BotControl/commands/LeaveServerCmd.ts @@ -1,7 +1,7 @@ -import { botControlCmd } from "../types"; -import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; import { TextChannel } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { botControlCmd } from "../types"; export const LeaveServerCmd = botControlCmd({ trigger: ["leave_server", "leave_guild"], diff --git a/backend/src/plugins/BotControl/commands/ListDashboardPermsCmd.ts b/backend/src/plugins/BotControl/commands/ListDashboardPermsCmd.ts index 2933cf32..d9310906 100644 --- a/backend/src/plugins/BotControl/commands/ListDashboardPermsCmd.ts +++ b/backend/src/plugins/BotControl/commands/ListDashboardPermsCmd.ts @@ -1,10 +1,10 @@ -import { botControlCmd } from "../types"; -import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { TextChannel } from "discord.js"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { createChunkedMessage, resolveUser } from "../../../utils"; import { AllowedGuild } from "../../../data/entities/AllowedGuild"; import { ApiPermissionAssignment } from "../../../data/entities/ApiPermissionAssignment"; -import { TextChannel } from "discord.js"; +import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { resolveUser } from "../../../utils"; +import { botControlCmd } from "../types"; export const ListDashboardPermsCmd = botControlCmd({ trigger: ["list_dashboard_permissions", "list_dashboard_perms", "list_dash_permissionss", "list_dash_perms"], diff --git a/backend/src/plugins/BotControl/commands/ListDashboardUsersCmd.ts b/backend/src/plugins/BotControl/commands/ListDashboardUsersCmd.ts index 107579b2..81e58fb7 100644 --- a/backend/src/plugins/BotControl/commands/ListDashboardUsersCmd.ts +++ b/backend/src/plugins/BotControl/commands/ListDashboardUsersCmd.ts @@ -1,9 +1,8 @@ -import { botControlCmd } from "../types"; -import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { ApiPermissions } from "@shared/apiPermissions"; -import { resolveUser, UnknownUser } from "../../../utils"; import { TextChannel } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { resolveUser } from "../../../utils"; +import { botControlCmd } from "../types"; export const ListDashboardUsersCmd = botControlCmd({ trigger: ["list_dashboard_users"], diff --git a/backend/src/plugins/BotControl/commands/ReloadGlobalPluginsCmd.ts b/backend/src/plugins/BotControl/commands/ReloadGlobalPluginsCmd.ts index 8be32a5e..1b3629ce 100644 --- a/backend/src/plugins/BotControl/commands/ReloadGlobalPluginsCmd.ts +++ b/backend/src/plugins/BotControl/commands/ReloadGlobalPluginsCmd.ts @@ -1,7 +1,7 @@ -import { botControlCmd } from "../types"; +import { TextChannel } from "discord.js"; import { isOwnerPreFilter } from "../../../pluginUtils"; import { getActiveReload, setActiveReload } from "../activeReload"; -import { TextChannel } from "discord.js"; +import { botControlCmd } from "../types"; export const ReloadGlobalPluginsCmd = botControlCmd({ trigger: "bot_reload_global_plugins", diff --git a/backend/src/plugins/BotControl/commands/ReloadServerCmd.ts b/backend/src/plugins/BotControl/commands/ReloadServerCmd.ts index 892ef744..0166cba1 100644 --- a/backend/src/plugins/BotControl/commands/ReloadServerCmd.ts +++ b/backend/src/plugins/BotControl/commands/ReloadServerCmd.ts @@ -1,7 +1,7 @@ -import { botControlCmd } from "../types"; -import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; import { TextChannel } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { botControlCmd } from "../types"; export const ReloadServerCmd = botControlCmd({ trigger: ["reload_server", "reload_guild"], diff --git a/backend/src/plugins/BotControl/commands/RemoveDashboardUserCmd.ts b/backend/src/plugins/BotControl/commands/RemoveDashboardUserCmd.ts index 186e02a2..75085491 100644 --- a/backend/src/plugins/BotControl/commands/RemoveDashboardUserCmd.ts +++ b/backend/src/plugins/BotControl/commands/RemoveDashboardUserCmd.ts @@ -1,8 +1,7 @@ -import { botControlCmd } from "../types"; -import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { ApiPermissions } from "@shared/apiPermissions"; import { TextChannel } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { isOwnerPreFilter, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { botControlCmd } from "../types"; export const RemoveDashboardUserCmd = botControlCmd({ trigger: ["remove_dashboard_user"], diff --git a/backend/src/plugins/BotControl/commands/ServersCmd.ts b/backend/src/plugins/BotControl/commands/ServersCmd.ts index 1d99230b..53950f53 100644 --- a/backend/src/plugins/BotControl/commands/ServersCmd.ts +++ b/backend/src/plugins/BotControl/commands/ServersCmd.ts @@ -1,9 +1,9 @@ -import { botControlCmd } from "../types"; -import { isOwnerPreFilter } from "../../../pluginUtils"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import escapeStringRegexp from "escape-string-regexp"; -import { createChunkedMessage, getUser, sorter } from "../../../utils"; import { TextChannel } from "discord.js"; +import escapeStringRegexp from "escape-string-regexp"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { isOwnerPreFilter } from "../../../pluginUtils"; +import { createChunkedMessage, getUser, sorter } from "../../../utils"; +import { botControlCmd } from "../types"; export const ServersCmd = botControlCmd({ trigger: ["servers", "guilds"], diff --git a/backend/src/plugins/BotControl/types.ts b/backend/src/plugins/BotControl/types.ts index d84a526d..1acac3a4 100644 --- a/backend/src/plugins/BotControl/types.ts +++ b/backend/src/plugins/BotControl/types.ts @@ -1,10 +1,10 @@ import * as t from "io-ts"; -import { tNullable } from "../../utils"; import { BasePluginType, typedGlobalCommand, typedGlobalEventListener } from "knub"; -import { GuildArchives } from "../../data/GuildArchives"; import { AllowedGuilds } from "../../data/AllowedGuilds"; import { ApiPermissionAssignments } from "../../data/ApiPermissionAssignments"; import { Configs } from "../../data/Configs"; +import { GuildArchives } from "../../data/GuildArchives"; +import { tNullable } from "../../utils"; export const ConfigSchema = t.type({ can_use: t.boolean, diff --git a/backend/src/plugins/Cases/CasesPlugin.ts b/backend/src/plugins/Cases/CasesPlugin.ts index 2bc0d861..6f870fc6 100644 --- a/backend/src/plugins/Cases/CasesPlugin.ts +++ b/backend/src/plugins/Cases/CasesPlugin.ts @@ -1,21 +1,21 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { CaseArgs, CaseNoteArgs, CasesPluginType, ConfigSchema } from "./types"; -import { createCase } from "./functions/createCase"; -import { GuildLogs } from "../../data/GuildLogs"; +import { CaseTypes } from "../../data/CaseTypes"; +import { Case } from "../../data/entities/Case"; import { GuildArchives } from "../../data/GuildArchives"; import { GuildCases } from "../../data/GuildCases"; -import { createCaseNote } from "./functions/createCaseNote"; -import { Case } from "../../data/entities/Case"; -import { postCaseToCaseLogChannel } from "./functions/postToCaseLogChannel"; -import { CaseTypes } from "../../data/CaseTypes"; -import { getCaseTypeAmountForUserId } from "./functions/getCaseTypeAmountForUserId"; -import { getCaseEmbed } from "./functions/getCaseEmbed"; -import { trimPluginDescription } from "../../utils"; -import { getCaseSummary } from "./functions/getCaseSummary"; -import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; +import { GuildLogs } from "../../data/GuildLogs"; import { mapToPublicFn } from "../../pluginUtils"; -import { getTotalCasesByMod } from "./functions/getTotalCasesByMod"; +import { trimPluginDescription } from "../../utils"; +import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { createCase } from "./functions/createCase"; +import { createCaseNote } from "./functions/createCaseNote"; +import { getCaseEmbed } from "./functions/getCaseEmbed"; +import { getCaseSummary } from "./functions/getCaseSummary"; +import { getCaseTypeAmountForUserId } from "./functions/getCaseTypeAmountForUserId"; import { getRecentCasesByMod } from "./functions/getRecentCasesByMod"; +import { getTotalCasesByMod } from "./functions/getTotalCasesByMod"; +import { postCaseToCaseLogChannel } from "./functions/postToCaseLogChannel"; +import { CaseArgs, CaseNoteArgs, CasesPluginType, ConfigSchema } from "./types"; const defaultOptions = { config: { diff --git a/backend/src/plugins/Cases/functions/createCase.ts b/backend/src/plugins/Cases/functions/createCase.ts index fd3caa04..0d66c71e 100644 --- a/backend/src/plugins/Cases/functions/createCase.ts +++ b/backend/src/plugins/Cases/functions/createCase.ts @@ -1,9 +1,9 @@ -import { CaseArgs, CasesPluginType } from "../types"; -import { resolveUser } from "../../../utils"; import { GuildPluginData } from "knub"; +import { logger } from "../../../logger"; +import { resolveUser } from "../../../utils"; +import { CaseArgs, CasesPluginType } from "../types"; import { createCaseNote } from "./createCaseNote"; import { postCaseToCaseLogChannel } from "./postToCaseLogChannel"; -import { logger } from "../../../logger"; export async function createCase(pluginData: GuildPluginData, args: CaseArgs) { const user = await resolveUser(pluginData.client, args.userId); diff --git a/backend/src/plugins/Cases/functions/createCaseNote.ts b/backend/src/plugins/Cases/functions/createCaseNote.ts index cd3ae649..ed95e7a7 100644 --- a/backend/src/plugins/Cases/functions/createCaseNote.ts +++ b/backend/src/plugins/Cases/functions/createCaseNote.ts @@ -1,9 +1,9 @@ -import { CaseNoteArgs, CasesPluginType } from "../types"; import { GuildPluginData } from "knub"; import { ERRORS, RecoverablePluginError } from "../../../RecoverablePluginError"; -import { resolveCaseId } from "./resolveCaseId"; -import { postCaseToCaseLogChannel } from "./postToCaseLogChannel"; import { resolveUser, UnknownUser } from "../../../utils"; +import { CaseNoteArgs, CasesPluginType } from "../types"; +import { postCaseToCaseLogChannel } from "./postToCaseLogChannel"; +import { resolveCaseId } from "./resolveCaseId"; export async function createCaseNote(pluginData: GuildPluginData, args: CaseNoteArgs): Promise { const theCase = await pluginData.state.cases.find(resolveCaseId(args.caseId)); diff --git a/backend/src/plugins/Cases/functions/getCaseColor.ts b/backend/src/plugins/Cases/functions/getCaseColor.ts index 1cf6ce77..379b171d 100644 --- a/backend/src/plugins/Cases/functions/getCaseColor.ts +++ b/backend/src/plugins/Cases/functions/getCaseColor.ts @@ -1,7 +1,7 @@ import { GuildPluginData } from "knub"; -import { CasesPluginType } from "../types"; import { CaseTypes, CaseTypeToName } from "../../../data/CaseTypes"; import { caseColors } from "../caseColors"; +import { CasesPluginType } from "../types"; export function getCaseColor(pluginData: GuildPluginData, caseType: CaseTypes) { return pluginData.config.get().case_colors?.[CaseTypeToName[caseType]] ?? caseColors[caseType]; diff --git a/backend/src/plugins/Cases/functions/getCaseEmbed.ts b/backend/src/plugins/Cases/functions/getCaseEmbed.ts index a73c5e15..5a3562c8 100644 --- a/backend/src/plugins/Cases/functions/getCaseEmbed.ts +++ b/backend/src/plugins/Cases/functions/getCaseEmbed.ts @@ -1,14 +1,14 @@ -import { Case } from "../../../data/entities/Case"; - +import { MessageOptions } from "discord.js"; +import { GuildPluginData } from "knub"; import moment from "moment-timezone"; import { CaseTypes } from "../../../data/CaseTypes"; -import { GuildPluginData, helpers } from "knub"; -import { CasesPluginType } from "../types"; -import { resolveCaseId } from "./resolveCaseId"; -import { chunkLines, chunkMessageLines, emptyEmbedValue, messageLink } from "../../../utils"; -import { getCaseColor } from "./getCaseColor"; +import { Case } from "../../../data/entities/Case"; +import { chunkMessageLines, emptyEmbedValue, messageLink } from "../../../utils"; import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; -import { MessageOptions } from "discord.js"; +import { CasesPluginType } from "../types"; +import { getCaseColor } from "./getCaseColor"; +import { resolveCaseId } from "./resolveCaseId"; + export async function getCaseEmbed( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Cases/functions/getCaseIcon.ts b/backend/src/plugins/Cases/functions/getCaseIcon.ts index eb8fc3d5..6748a7ef 100644 --- a/backend/src/plugins/Cases/functions/getCaseIcon.ts +++ b/backend/src/plugins/Cases/functions/getCaseIcon.ts @@ -1,7 +1,7 @@ import { GuildPluginData } from "knub"; -import { CasesPluginType } from "../types"; import { CaseTypes, CaseTypeToName } from "../../../data/CaseTypes"; import { caseIcons } from "../caseIcons"; +import { CasesPluginType } from "../types"; export function getCaseIcon(pluginData: GuildPluginData, caseType: CaseTypes) { return pluginData.config.get().case_icons?.[CaseTypeToName[caseType]] ?? caseIcons[caseType]; diff --git a/backend/src/plugins/Cases/functions/getCaseSummary.ts b/backend/src/plugins/Cases/functions/getCaseSummary.ts index d948fdac..5f2f388e 100644 --- a/backend/src/plugins/Cases/functions/getCaseSummary.ts +++ b/backend/src/plugins/Cases/functions/getCaseSummary.ts @@ -1,22 +1,19 @@ import { GuildPluginData } from "knub"; -import { CasesPluginType } from "../types"; -import { - convertDelayStringToMS, - DAYS, - DBDateFormat, - disableLinkPreviews, - emptyEmbedValue, - messageLink, -} from "../../../utils"; -import { CaseTypes, CaseTypeToName } from "../../../data/CaseTypes"; +import { splitMessageIntoChunks } from "knub/dist/helpers"; import moment from "moment-timezone"; import { Case } from "../../../data/entities/Case"; -import humanizeDuration from "humanize-duration"; -import { humanizeDurationShort } from "../../../humanizeDurationShort"; -import { caseAbbreviations } from "../caseAbbreviations"; -import { getCaseIcon } from "./getCaseIcon"; +import { + convertDelayStringToMS, + DAYS, + DBDateFormat, + disableLinkPreviews, + + messageLink +} from "../../../utils"; import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; -import { splitIntoCleanChunks, splitMessageIntoChunks } from "knub/dist/helpers"; +import { caseAbbreviations } from "../caseAbbreviations"; +import { CasesPluginType } from "../types"; +import { getCaseIcon } from "./getCaseIcon"; const CASE_SUMMARY_REASON_MAX_LENGTH = 300; const INCLUDE_MORE_NOTES_THRESHOLD = 20; diff --git a/backend/src/plugins/Cases/functions/getCaseTypeAmountForUserId.ts b/backend/src/plugins/Cases/functions/getCaseTypeAmountForUserId.ts index 60752242..94f35d7f 100644 --- a/backend/src/plugins/Cases/functions/getCaseTypeAmountForUserId.ts +++ b/backend/src/plugins/Cases/functions/getCaseTypeAmountForUserId.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; -import { CasesPluginType } from "../types"; import { CaseTypes } from "../../../data/CaseTypes"; +import { CasesPluginType } from "../types"; export async function getCaseTypeAmountForUserId( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Cases/functions/getRecentCasesByMod.ts b/backend/src/plugins/Cases/functions/getRecentCasesByMod.ts index 89ec703c..b9988078 100644 --- a/backend/src/plugins/Cases/functions/getRecentCasesByMod.ts +++ b/backend/src/plugins/Cases/functions/getRecentCasesByMod.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; -import { CasesPluginType } from "../types"; import { Case } from "../../../data/entities/Case"; +import { CasesPluginType } from "../types"; export function getRecentCasesByMod( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Cases/functions/postToCaseLogChannel.ts b/backend/src/plugins/Cases/functions/postToCaseLogChannel.ts index feacede1..f16895b3 100644 --- a/backend/src/plugins/Cases/functions/postToCaseLogChannel.ts +++ b/backend/src/plugins/Cases/functions/postToCaseLogChannel.ts @@ -1,12 +1,12 @@ +import { FileOptions, Message, MessageOptions, TextChannel } from "discord.js"; import { GuildPluginData } from "knub"; -import { CasesPluginType } from "../types"; - -import { isDiscordRESTError } from "../../../utils"; -import { LogType } from "../../../data/LogType"; import { Case } from "../../../data/entities/Case"; +import { LogType } from "../../../data/LogType"; +import { isDiscordRESTError } from "../../../utils"; +import { CasesPluginType } from "../types"; import { getCaseEmbed } from "./getCaseEmbed"; import { resolveCaseId } from "./resolveCaseId"; -import { FileOptions, Message, MessageOptions, TextChannel } from "discord.js"; + export async function postToCaseLogChannel( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Cases/types.ts b/backend/src/plugins/Cases/types.ts index 94fe1920..9ec1a371 100644 --- a/backend/src/plugins/Cases/types.ts +++ b/backend/src/plugins/Cases/types.ts @@ -1,10 +1,10 @@ import * as t from "io-ts"; -import { tDelayString, tPartialDictionary, tNullable } from "../../utils"; +import { BasePluginType } from "knub"; import { CaseNameToType, CaseTypes } from "../../data/CaseTypes"; -import { BasePluginType, typedGuildCommand, typedGuildEventListener } from "knub"; -import { GuildLogs } from "../../data/GuildLogs"; -import { GuildCases } from "../../data/GuildCases"; import { GuildArchives } from "../../data/GuildArchives"; +import { GuildCases } from "../../data/GuildCases"; +import { GuildLogs } from "../../data/GuildLogs"; +import { tDelayString, tNullable, tPartialDictionary } from "../../utils"; import { tColor } from "../../utils/tColor"; export const ConfigSchema = t.type({ diff --git a/backend/src/plugins/Censor/CensorPlugin.ts b/backend/src/plugins/Censor/CensorPlugin.ts index 4dc103ec..f8401f54 100644 --- a/backend/src/plugins/Censor/CensorPlugin.ts +++ b/backend/src/plugins/Censor/CensorPlugin.ts @@ -1,13 +1,13 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { PluginOptions } from "knub"; -import { ConfigSchema, CensorPluginType } from "./types"; import { GuildLogs } from "../../data/GuildLogs"; import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { discardRegExpRunner, getRegExpRunner } from "../../regExpRunners"; +import { trimPluginDescription } from "../../utils"; +import { LogsPlugin } from "../Logs/LogsPlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { CensorPluginType, ConfigSchema } from "./types"; import { onMessageCreate } from "./util/onMessageCreate"; import { onMessageUpdate } from "./util/onMessageUpdate"; -import { trimPluginDescription } from "../../utils"; -import { discardRegExpRunner, getRegExpRunner } from "../../regExpRunners"; -import { LogsPlugin } from "../Logs/LogsPlugin"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/Censor/types.ts b/backend/src/plugins/Censor/types.ts index 5cc64f5d..1363baef 100644 --- a/backend/src/plugins/Censor/types.ts +++ b/backend/src/plugins/Censor/types.ts @@ -1,10 +1,10 @@ import * as t from "io-ts"; import { BasePluginType } from "knub"; -import { tNullable } from "../../utils"; -import { TRegex } from "../../validatorUtils"; import { GuildLogs } from "../../data/GuildLogs"; import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { RegExpRunner } from "../../RegExpRunner"; +import { tNullable } from "../../utils"; +import { TRegex } from "../../validatorUtils"; export const ConfigSchema = t.type({ filter_zalgo: t.boolean, diff --git a/backend/src/plugins/Censor/util/applyFiltersToMsg.ts b/backend/src/plugins/Censor/util/applyFiltersToMsg.ts index 045276f2..f0ea8c40 100644 --- a/backend/src/plugins/Censor/util/applyFiltersToMsg.ts +++ b/backend/src/plugins/Censor/util/applyFiltersToMsg.ts @@ -1,15 +1,14 @@ -import { GuildPluginData } from "knub"; -import { CensorPluginType } from "../types"; -import { SavedMessage } from "../../../data/entities/SavedMessage"; - -import { ZalgoRegex } from "../../../data/Zalgo"; -import { getInviteCodesInString, getUrlsInString, resolveMember, resolveInvite, isGuildInvite } from "../../../utils"; -import cloneDeep from "lodash.clonedeep"; -import { censorMessage } from "./censorMessage"; +import { Invite, MessageEmbed } from "discord.js"; import escapeStringRegexp from "escape-string-regexp"; -import { logger } from "../../../logger"; +import { GuildPluginData } from "knub"; +import cloneDeep from "lodash.clonedeep"; +import { SavedMessage } from "../../../data/entities/SavedMessage"; +import { ZalgoRegex } from "../../../data/Zalgo"; import { allowTimeout } from "../../../RegExpRunner"; -import { MessageEmbed, Invite } from "discord.js"; +import { getInviteCodesInString, getUrlsInString, isGuildInvite, resolveInvite, resolveMember } from "../../../utils"; +import { CensorPluginType } from "../types"; +import { censorMessage } from "./censorMessage"; + export async function applyFiltersToMsg( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Censor/util/censorMessage.ts b/backend/src/plugins/Censor/util/censorMessage.ts index 69ed2859..62249446 100644 --- a/backend/src/plugins/Censor/util/censorMessage.ts +++ b/backend/src/plugins/Censor/util/censorMessage.ts @@ -1,10 +1,10 @@ +import { TextChannel } from "discord.js"; import { GuildPluginData } from "knub"; -import { CensorPluginType } from "../types"; +import { deactivateMentions, disableCodeBlocks } from "knub/dist/helpers"; import { SavedMessage } from "../../../data/entities/SavedMessage"; import { LogType } from "../../../data/LogType"; -import { stripObjectToScalars, resolveUser } from "../../../utils"; -import { disableCodeBlocks, deactivateMentions } from "knub/dist/helpers"; -import { TextChannel } from "discord.js"; +import { resolveUser, stripObjectToScalars } from "../../../utils"; +import { CensorPluginType } from "../types"; export async function censorMessage( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Censor/util/onMessageCreate.ts b/backend/src/plugins/Censor/util/onMessageCreate.ts index fb9cfaeb..482e9cff 100644 --- a/backend/src/plugins/Censor/util/onMessageCreate.ts +++ b/backend/src/plugins/Censor/util/onMessageCreate.ts @@ -1,8 +1,8 @@ import { GuildPluginData } from "knub"; -import { CensorPluginType } from "../types"; import { SavedMessage } from "../../../data/entities/SavedMessage"; -import { applyFiltersToMsg } from "./applyFiltersToMsg"; import { messageLock } from "../../../utils/lockNameHelpers"; +import { CensorPluginType } from "../types"; +import { applyFiltersToMsg } from "./applyFiltersToMsg"; export async function onMessageCreate(pluginData: GuildPluginData, savedMessage: SavedMessage) { if (savedMessage.is_bot) return; diff --git a/backend/src/plugins/Censor/util/onMessageUpdate.ts b/backend/src/plugins/Censor/util/onMessageUpdate.ts index 7afd4c17..d17bf6b0 100644 --- a/backend/src/plugins/Censor/util/onMessageUpdate.ts +++ b/backend/src/plugins/Censor/util/onMessageUpdate.ts @@ -1,8 +1,8 @@ import { GuildPluginData } from "knub"; -import { CensorPluginType } from "../types"; import { SavedMessage } from "../../../data/entities/SavedMessage"; -import { applyFiltersToMsg } from "./applyFiltersToMsg"; import { messageLock } from "../../../utils/lockNameHelpers"; +import { CensorPluginType } from "../types"; +import { applyFiltersToMsg } from "./applyFiltersToMsg"; export async function onMessageUpdate(pluginData: GuildPluginData, savedMessage: SavedMessage) { if (savedMessage.is_bot) return; diff --git a/backend/src/plugins/ChannelArchiver/ChannelArchiverPlugin.ts b/backend/src/plugins/ChannelArchiver/ChannelArchiverPlugin.ts index 249a5ef0..3349c242 100644 --- a/backend/src/plugins/ChannelArchiver/ChannelArchiverPlugin.ts +++ b/backend/src/plugins/ChannelArchiver/ChannelArchiverPlugin.ts @@ -1,8 +1,8 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { ChannelArchiverPluginType } from "./types"; -import { ArchiveChannelCmd } from "./commands/ArchiveChannelCmd"; import * as t from "io-ts"; import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { ArchiveChannelCmd } from "./commands/ArchiveChannelCmd"; +import { ChannelArchiverPluginType } from "./types"; export const ChannelArchiverPlugin = zeppelinGuildPlugin()({ name: "channel_archiver", diff --git a/backend/src/plugins/ChannelArchiver/commands/ArchiveChannelCmd.ts b/backend/src/plugins/ChannelArchiver/commands/ArchiveChannelCmd.ts index 87b61934..3d4112a9 100644 --- a/backend/src/plugins/ChannelArchiver/commands/ArchiveChannelCmd.ts +++ b/backend/src/plugins/ChannelArchiver/commands/ArchiveChannelCmd.ts @@ -1,10 +1,10 @@ -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { channelArchiverCmd } from "../types"; -import { isOwner, sendErrorMessage } from "../../../pluginUtils"; -import { confirm, SECONDS, noop } from "../../../utils"; import moment from "moment-timezone"; -import { rehostAttachment } from "../rehostAttachment"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { isOwner, sendErrorMessage } from "../../../pluginUtils"; +import { confirm, noop, SECONDS } from "../../../utils"; import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; +import { rehostAttachment } from "../rehostAttachment"; +import { channelArchiverCmd } from "../types"; const MAX_ARCHIVED_MESSAGES = 5000; const MAX_MESSAGES_PER_FETCH = 100; diff --git a/backend/src/plugins/ChannelArchiver/rehostAttachment.ts b/backend/src/plugins/ChannelArchiver/rehostAttachment.ts index bf05d122..f51c6173 100644 --- a/backend/src/plugins/ChannelArchiver/rehostAttachment.ts +++ b/backend/src/plugins/ChannelArchiver/rehostAttachment.ts @@ -1,6 +1,6 @@ -import { downloadFile } from "../../utils"; -import fs from "fs"; import { MessageAttachment, MessageOptions, TextChannel } from "discord.js"; +import fs from "fs"; +import { downloadFile } from "../../utils"; const fsp = fs.promises; const MAX_ATTACHMENT_REHOST_SIZE = 1024 * 1024 * 8; diff --git a/backend/src/plugins/CompanionChannels/CompanionChannelsPlugin.ts b/backend/src/plugins/CompanionChannels/CompanionChannelsPlugin.ts index d3a89865..64bda1c1 100644 --- a/backend/src/plugins/CompanionChannels/CompanionChannelsPlugin.ts +++ b/backend/src/plugins/CompanionChannels/CompanionChannelsPlugin.ts @@ -1,9 +1,9 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { CompanionChannelsPluginType, ConfigSchema } from "./types"; +import { CooldownManager } from "knub"; import { trimPluginDescription } from "../../utils"; import { LogsPlugin } from "../Logs/LogsPlugin"; -import { CooldownManager } from "knub"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { VoiceStateUpdateEvt } from "./events/VoiceStateUpdateEvt"; +import { CompanionChannelsPluginType, ConfigSchema } from "./types"; const defaultOptions = { config: { diff --git a/backend/src/plugins/CompanionChannels/events/VoiceStateUpdateEvt.ts b/backend/src/plugins/CompanionChannels/events/VoiceStateUpdateEvt.ts index 142e9b17..07251fdb 100644 --- a/backend/src/plugins/CompanionChannels/events/VoiceStateUpdateEvt.ts +++ b/backend/src/plugins/CompanionChannels/events/VoiceStateUpdateEvt.ts @@ -1,5 +1,5 @@ -import { companionChannelsEvt } from "../types"; import { handleCompanionPermissions } from "../functions/handleCompanionPermissions"; +import { companionChannelsEvt } from "../types"; export const VoiceStateUpdateEvt = companionChannelsEvt({ event: "voiceStateUpdate", diff --git a/backend/src/plugins/CompanionChannels/functions/handleCompanionPermissions.ts b/backend/src/plugins/CompanionChannels/functions/handleCompanionPermissions.ts index 1a338251..3ea79867 100644 --- a/backend/src/plugins/CompanionChannels/functions/handleCompanionPermissions.ts +++ b/backend/src/plugins/CompanionChannels/functions/handleCompanionPermissions.ts @@ -1,11 +1,11 @@ -import { CompanionChannelsPluginType, TCompanionChannelOpts } from "../types"; -import { getCompanionChannelOptsForVoiceChannelId } from "./getCompanionChannelOptsForVoiceChannelId"; +import { Permissions, StageChannel, TextChannel, VoiceChannel } from "discord.js"; import { GuildPluginData } from "knub"; - +import { LogType } from "../../../data/LogType"; import { isDiscordRESTError, MINUTES } from "../../../utils"; import { LogsPlugin } from "../../Logs/LogsPlugin"; -import { LogType } from "../../../data/LogType"; -import { VoiceChannel, TextChannel, Permissions, StageChannel } from "discord.js"; +import { CompanionChannelsPluginType, TCompanionChannelOpts } from "../types"; +import { getCompanionChannelOptsForVoiceChannelId } from "./getCompanionChannelOptsForVoiceChannelId"; + const ERROR_COOLDOWN_KEY = "errorCooldown"; const ERROR_COOLDOWN = 5 * MINUTES; diff --git a/backend/src/plugins/CompanionChannels/types.ts b/backend/src/plugins/CompanionChannels/types.ts index 1a91800d..1168b4f8 100644 --- a/backend/src/plugins/CompanionChannels/types.ts +++ b/backend/src/plugins/CompanionChannels/types.ts @@ -1,8 +1,6 @@ import * as t from "io-ts"; -import { tNullable } from "../../utils"; import { BasePluginType, CooldownManager, typedGuildEventListener } from "knub"; -import { GuildLogs } from "../../data/GuildLogs"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { tNullable } from "../../utils"; // Permissions using these numbers: https://abal.moe/Eris/docs/reference (add all allowed/denied ones up) export const CompanionChannelOpts = t.type({ diff --git a/backend/src/plugins/Counters/CountersPlugin.ts b/backend/src/plugins/Counters/CountersPlugin.ts index 028c6a0d..fe23cd6d 100644 --- a/backend/src/plugins/Counters/CountersPlugin.ts +++ b/backend/src/plugins/Counters/CountersPlugin.ts @@ -1,33 +1,32 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { ConfigSchema, CountersPluginType, TTrigger } from "./types"; +import { EventEmitter } from "events"; +import { PluginOptions } from "knub"; +import { ConfigPreprocessorFn } from "knub/dist/config/configTypes"; +import { + buildCounterConditionString, + CounterTrigger, + getReverseCounterComparisonOp, + parseCounterConditionString +} from "../../data/entities/CounterTrigger"; import { GuildCounters } from "../../data/GuildCounters"; import { mapToPublicFn } from "../../pluginUtils"; -import { changeCounterValue } from "./functions/changeCounterValue"; -import { setCounterValue } from "./functions/setCounterValue"; -import { convertDelayStringToMS, MINUTES, SECONDS } from "../../utils"; -import { EventEmitter } from "events"; -import { onCounterEvent } from "./functions/onCounterEvent"; -import { offCounterEvent } from "./functions/offCounterEvent"; -import { emitCounterEvent } from "./functions/emitCounterEvent"; -import { ConfigPreprocessorFn } from "knub/dist/config/configTypes"; -import { decayCounter } from "./functions/decayCounter"; +import { convertDelayStringToMS, MINUTES } from "../../utils"; import { StrictValidationError } from "../../validatorUtils"; -import { PluginOptions } from "knub"; -import { ViewCounterCmd } from "./commands/ViewCounterCmd"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { AddCounterCmd } from "./commands/AddCounterCmd"; +import { CountersListCmd } from "./commands/CountersListCmd"; +import { ResetAllCounterValuesCmd } from "./commands/ResetAllCounterValuesCmd"; +import { ResetCounterCmd } from "./commands/ResetCounterCmd"; import { SetCounterCmd } from "./commands/SetCounterCmd"; -import { - buildCounterConditionString, - CounterTrigger, - getReverseCounterComparisonOp, - parseCounterConditionString, -} from "../../data/entities/CounterTrigger"; +import { ViewCounterCmd } from "./commands/ViewCounterCmd"; +import { changeCounterValue } from "./functions/changeCounterValue"; +import { counterExists } from "./functions/counterExists"; +import { decayCounter } from "./functions/decayCounter"; import { getPrettyNameForCounter } from "./functions/getPrettyNameForCounter"; import { getPrettyNameForCounterTrigger } from "./functions/getPrettyNameForCounterTrigger"; -import { counterExists } from "./functions/counterExists"; -import { ResetAllCounterValuesCmd } from "./commands/ResetAllCounterValuesCmd"; -import { CountersListCmd } from "./commands/CountersListCmd"; -import { ResetCounterCmd } from "./commands/ResetCounterCmd"; +import { offCounterEvent } from "./functions/offCounterEvent"; +import { onCounterEvent } from "./functions/onCounterEvent"; +import { setCounterValue } from "./functions/setCounterValue"; +import { ConfigSchema, CountersPluginType, TTrigger } from "./types"; const MAX_COUNTERS = 5; const MAX_TRIGGERS_PER_COUNTER = 5; diff --git a/backend/src/plugins/Counters/commands/AddCounterCmd.ts b/backend/src/plugins/Counters/commands/AddCounterCmd.ts index 779c83f0..455c4549 100644 --- a/backend/src/plugins/Counters/commands/AddCounterCmd.ts +++ b/backend/src/plugins/Counters/commands/AddCounterCmd.ts @@ -1,12 +1,12 @@ +import { TextChannel } from "discord.js"; import { typedGuildCommand } from "knub"; -import { CountersPluginType } from "../types"; +import { waitForReply } from "knub/dist/helpers"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage } from "../../../pluginUtils"; -import { waitForReply } from "knub/dist/helpers"; - import { resolveUser, UnknownUser } from "../../../utils"; import { changeCounterValue } from "../functions/changeCounterValue"; -import { TextChannel } from "discord.js"; +import { CountersPluginType } from "../types"; + export const AddCounterCmd = typedGuildCommand()({ trigger: ["counters add", "counter add", "addcounter"], diff --git a/backend/src/plugins/Counters/commands/CountersListCmd.ts b/backend/src/plugins/Counters/commands/CountersListCmd.ts index 5e35a28a..c92a2fe4 100644 --- a/backend/src/plugins/Counters/commands/CountersListCmd.ts +++ b/backend/src/plugins/Counters/commands/CountersListCmd.ts @@ -1,8 +1,8 @@ import { typedGuildCommand } from "knub"; -import { CountersPluginType } from "../types"; import { sendErrorMessage } from "../../../pluginUtils"; import { trimMultilineString, ucfirst } from "../../../utils"; import { getGuildPrefix } from "../../../utils/getGuildPrefix"; +import { CountersPluginType } from "../types"; export const CountersListCmd = typedGuildCommand()({ trigger: ["counters list", "counter list", "counters"], diff --git a/backend/src/plugins/Counters/commands/ResetAllCounterValuesCmd.ts b/backend/src/plugins/Counters/commands/ResetAllCounterValuesCmd.ts index 021c93c3..a4cc3587 100644 --- a/backend/src/plugins/Counters/commands/ResetAllCounterValuesCmd.ts +++ b/backend/src/plugins/Counters/commands/ResetAllCounterValuesCmd.ts @@ -1,11 +1,10 @@ import { typedGuildCommand } from "knub"; -import { CountersPluginType } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; - -import { confirm, MINUTES, noop, trimMultilineString } from "../../../utils"; +import { confirm, noop, trimMultilineString } from "../../../utils"; import { resetAllCounterValues } from "../functions/resetAllCounterValues"; -import { counterIdLock } from "../../../utils/lockNameHelpers"; +import { CountersPluginType } from "../types"; + export const ResetAllCounterValuesCmd = typedGuildCommand()({ trigger: ["counters reset_all"], diff --git a/backend/src/plugins/Counters/commands/ResetCounterCmd.ts b/backend/src/plugins/Counters/commands/ResetCounterCmd.ts index 736f66f8..c684fa7b 100644 --- a/backend/src/plugins/Counters/commands/ResetCounterCmd.ts +++ b/backend/src/plugins/Counters/commands/ResetCounterCmd.ts @@ -1,12 +1,12 @@ +import { TextChannel } from "discord.js"; import { typedGuildCommand } from "knub"; -import { CountersPluginType } from "../types"; +import { waitForReply } from "knub/dist/helpers"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage } from "../../../pluginUtils"; -import { waitForReply } from "knub/dist/helpers"; - import { resolveUser, UnknownUser } from "../../../utils"; import { setCounterValue } from "../functions/setCounterValue"; -import { TextChannel } from "discord.js"; +import { CountersPluginType } from "../types"; + export const ResetCounterCmd = typedGuildCommand()({ trigger: ["counters reset", "counter reset", "resetcounter"], diff --git a/backend/src/plugins/Counters/commands/SetCounterCmd.ts b/backend/src/plugins/Counters/commands/SetCounterCmd.ts index 1158b5a6..02ced104 100644 --- a/backend/src/plugins/Counters/commands/SetCounterCmd.ts +++ b/backend/src/plugins/Counters/commands/SetCounterCmd.ts @@ -1,12 +1,12 @@ +import { TextChannel } from "discord.js"; import { typedGuildCommand } from "knub"; -import { CountersPluginType } from "../types"; +import { waitForReply } from "knub/dist/helpers"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage } from "../../../pluginUtils"; -import { waitForReply } from "knub/dist/helpers"; - import { resolveUser, UnknownUser } from "../../../utils"; import { setCounterValue } from "../functions/setCounterValue"; -import { TextChannel } from "discord.js"; +import { CountersPluginType } from "../types"; + export const SetCounterCmd = typedGuildCommand()({ trigger: ["counters set", "counter set", "setcounter"], diff --git a/backend/src/plugins/Counters/commands/ViewCounterCmd.ts b/backend/src/plugins/Counters/commands/ViewCounterCmd.ts index bafbcb76..73ce6287 100644 --- a/backend/src/plugins/Counters/commands/ViewCounterCmd.ts +++ b/backend/src/plugins/Counters/commands/ViewCounterCmd.ts @@ -1,11 +1,11 @@ +import { TextChannel } from "discord.js"; import { typedGuildCommand } from "knub"; -import { CountersPluginType } from "../types"; +import { waitForReply } from "knub/dist/helpers"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage } from "../../../pluginUtils"; -import { waitForReply } from "knub/dist/helpers"; - import { resolveUser, UnknownUser } from "../../../utils"; -import { TextChannel } from "discord.js"; +import { CountersPluginType } from "../types"; + export const ViewCounterCmd = typedGuildCommand()({ trigger: ["counters view", "counter view", "viewcounter", "counter"], diff --git a/backend/src/plugins/Counters/functions/checkAllValuesForReverseTrigger.ts b/backend/src/plugins/Counters/functions/checkAllValuesForReverseTrigger.ts index 19998225..263855dc 100644 --- a/backend/src/plugins/Counters/functions/checkAllValuesForReverseTrigger.ts +++ b/backend/src/plugins/Counters/functions/checkAllValuesForReverseTrigger.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; -import { CountersPluginType } from "../types"; import { CounterTrigger } from "../../../data/entities/CounterTrigger"; +import { CountersPluginType } from "../types"; import { emitCounterEvent } from "./emitCounterEvent"; export async function checkAllValuesForReverseTrigger( diff --git a/backend/src/plugins/Counters/functions/checkAllValuesForTrigger.ts b/backend/src/plugins/Counters/functions/checkAllValuesForTrigger.ts index 02b02e5f..0a42673f 100644 --- a/backend/src/plugins/Counters/functions/checkAllValuesForTrigger.ts +++ b/backend/src/plugins/Counters/functions/checkAllValuesForTrigger.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; -import { CountersPluginType } from "../types"; import { CounterTrigger } from "../../../data/entities/CounterTrigger"; +import { CountersPluginType } from "../types"; import { emitCounterEvent } from "./emitCounterEvent"; export async function checkAllValuesForTrigger( diff --git a/backend/src/plugins/Counters/functions/checkCounterTrigger.ts b/backend/src/plugins/Counters/functions/checkCounterTrigger.ts index 5bdd1b05..8923abf5 100644 --- a/backend/src/plugins/Counters/functions/checkCounterTrigger.ts +++ b/backend/src/plugins/Counters/functions/checkCounterTrigger.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; -import { CountersPluginType } from "../types"; import { CounterTrigger } from "../../../data/entities/CounterTrigger"; +import { CountersPluginType } from "../types"; import { emitCounterEvent } from "./emitCounterEvent"; export async function checkCounterTrigger( diff --git a/backend/src/plugins/Counters/functions/checkReverseCounterTrigger.ts b/backend/src/plugins/Counters/functions/checkReverseCounterTrigger.ts index e601dd9d..544d4066 100644 --- a/backend/src/plugins/Counters/functions/checkReverseCounterTrigger.ts +++ b/backend/src/plugins/Counters/functions/checkReverseCounterTrigger.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; -import { CountersPluginType } from "../types"; import { CounterTrigger } from "../../../data/entities/CounterTrigger"; +import { CountersPluginType } from "../types"; import { emitCounterEvent } from "./emitCounterEvent"; export async function checkReverseCounterTrigger( diff --git a/backend/src/plugins/Counters/functions/decayCounter.ts b/backend/src/plugins/Counters/functions/decayCounter.ts index 7db4cef3..c7b813ea 100644 --- a/backend/src/plugins/Counters/functions/decayCounter.ts +++ b/backend/src/plugins/Counters/functions/decayCounter.ts @@ -1,8 +1,8 @@ import { GuildPluginData } from "knub"; -import { CountersPluginType } from "../types"; -import { checkAllValuesForTrigger } from "./checkAllValuesForTrigger"; -import { checkAllValuesForReverseTrigger } from "./checkAllValuesForReverseTrigger"; import { counterIdLock } from "../../../utils/lockNameHelpers"; +import { CountersPluginType } from "../types"; +import { checkAllValuesForReverseTrigger } from "./checkAllValuesForReverseTrigger"; +import { checkAllValuesForTrigger } from "./checkAllValuesForTrigger"; export async function decayCounter( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Counters/functions/emitCounterEvent.ts b/backend/src/plugins/Counters/functions/emitCounterEvent.ts index ad131e54..30e4bfea 100644 --- a/backend/src/plugins/Counters/functions/emitCounterEvent.ts +++ b/backend/src/plugins/Counters/functions/emitCounterEvent.ts @@ -1,5 +1,5 @@ -import { CounterEvents, CountersPluginType } from "../types"; import { GuildPluginData } from "knub"; +import { CounterEvents, CountersPluginType } from "../types"; export function emitCounterEvent( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Counters/functions/getPrettyNameForCounter.ts b/backend/src/plugins/Counters/functions/getPrettyNameForCounter.ts index 766b4ef3..c9fd0342 100644 --- a/backend/src/plugins/Counters/functions/getPrettyNameForCounter.ts +++ b/backend/src/plugins/Counters/functions/getPrettyNameForCounter.ts @@ -1,5 +1,5 @@ -import { CountersPluginType } from "../types"; import { GuildPluginData } from "knub"; +import { CountersPluginType } from "../types"; export function getPrettyNameForCounter(pluginData: GuildPluginData, counterName: string) { const config = pluginData.config.get(); diff --git a/backend/src/plugins/Counters/functions/getPrettyNameForCounterTrigger.ts b/backend/src/plugins/Counters/functions/getPrettyNameForCounterTrigger.ts index d7a2b923..1445bdd8 100644 --- a/backend/src/plugins/Counters/functions/getPrettyNameForCounterTrigger.ts +++ b/backend/src/plugins/Counters/functions/getPrettyNameForCounterTrigger.ts @@ -1,5 +1,5 @@ -import { CountersPluginType, TTrigger } from "../types"; import { GuildPluginData } from "knub"; +import { CountersPluginType, TTrigger } from "../types"; export function getPrettyNameForCounterTrigger( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Counters/functions/offCounterEvent.ts b/backend/src/plugins/Counters/functions/offCounterEvent.ts index 66ee9624..08c28cff 100644 --- a/backend/src/plugins/Counters/functions/offCounterEvent.ts +++ b/backend/src/plugins/Counters/functions/offCounterEvent.ts @@ -1,5 +1,5 @@ -import { CounterEventEmitter, CountersPluginType } from "../types"; import { GuildPluginData } from "knub"; +import { CounterEventEmitter, CountersPluginType } from "../types"; export function offCounterEvent( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Counters/functions/onCounterEvent.ts b/backend/src/plugins/Counters/functions/onCounterEvent.ts index 1a3aa6fd..1789571b 100644 --- a/backend/src/plugins/Counters/functions/onCounterEvent.ts +++ b/backend/src/plugins/Counters/functions/onCounterEvent.ts @@ -1,5 +1,5 @@ -import { CounterEvents, CountersPluginType } from "../types"; import { GuildPluginData } from "knub"; +import { CounterEvents, CountersPluginType } from "../types"; export function onCounterEvent( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Counters/types.ts b/backend/src/plugins/Counters/types.ts index 1efdc474..57bc69d6 100644 --- a/backend/src/plugins/Counters/types.ts +++ b/backend/src/plugins/Counters/types.ts @@ -1,9 +1,9 @@ +import { EventEmitter } from "events"; import * as t from "io-ts"; import { BasePluginType } from "knub"; +import { CounterTrigger } from "../../data/entities/CounterTrigger"; import { GuildCounters } from "../../data/GuildCounters"; import { tDelayString, tNullable } from "../../utils"; -import { EventEmitter } from "events"; -import { CounterTrigger } from "../../data/entities/CounterTrigger"; import Timeout = NodeJS.Timeout; export const Trigger = t.type({ diff --git a/backend/src/plugins/CustomEvents/CustomEventsPlugin.ts b/backend/src/plugins/CustomEvents/CustomEventsPlugin.ts index 43d25250..c1c183eb 100644 --- a/backend/src/plugins/CustomEvents/CustomEventsPlugin.ts +++ b/backend/src/plugins/CustomEvents/CustomEventsPlugin.ts @@ -1,9 +1,9 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { ConfigSchema, CustomEventsPluginType } from "./types"; -import { typedGuildCommand, parseSignature } from "knub"; +import { parseSignature, typedGuildCommand } from "knub"; import { commandTypes } from "../../commandTypes"; import { stripObjectToScalars } from "../../utils"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { runEvent } from "./functions/runEvent"; +import { ConfigSchema, CustomEventsPluginType } from "./types"; const defaultOptions = { config: { diff --git a/backend/src/plugins/CustomEvents/actions/addRoleAction.ts b/backend/src/plugins/CustomEvents/actions/addRoleAction.ts index f356e6f9..b5549bce 100644 --- a/backend/src/plugins/CustomEvents/actions/addRoleAction.ts +++ b/backend/src/plugins/CustomEvents/actions/addRoleAction.ts @@ -1,10 +1,10 @@ -import { GuildPluginData } from "knub"; -import { CustomEventsPluginType, TCustomEvent } from "../types"; import * as t from "io-ts"; +import { GuildPluginData } from "knub"; +import { canActOn } from "../../../pluginUtils"; import { renderTemplate } from "../../../templateFormatter"; import { resolveMember } from "../../../utils"; import { ActionError } from "../ActionError"; -import { canActOn } from "../../../pluginUtils"; +import { CustomEventsPluginType, TCustomEvent } from "../types"; export const AddRoleAction = t.type({ type: t.literal("add_role"), diff --git a/backend/src/plugins/CustomEvents/actions/createCaseAction.ts b/backend/src/plugins/CustomEvents/actions/createCaseAction.ts index 985ff14c..e9e4fac1 100644 --- a/backend/src/plugins/CustomEvents/actions/createCaseAction.ts +++ b/backend/src/plugins/CustomEvents/actions/createCaseAction.ts @@ -1,10 +1,10 @@ -import { GuildPluginData } from "knub"; -import { CustomEventsPluginType, TCustomEvent } from "../types"; import * as t from "io-ts"; -import { renderTemplate } from "../../../templateFormatter"; +import { GuildPluginData } from "knub"; import { CaseTypes } from "../../../data/CaseTypes"; -import { ActionError } from "../ActionError"; +import { renderTemplate } from "../../../templateFormatter"; import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { ActionError } from "../ActionError"; +import { CustomEventsPluginType, TCustomEvent } from "../types"; export const CreateCaseAction = t.type({ type: t.literal("create_case"), diff --git a/backend/src/plugins/CustomEvents/actions/makeRoleMentionableAction.ts b/backend/src/plugins/CustomEvents/actions/makeRoleMentionableAction.ts index d08abfcb..63c381cc 100644 --- a/backend/src/plugins/CustomEvents/actions/makeRoleMentionableAction.ts +++ b/backend/src/plugins/CustomEvents/actions/makeRoleMentionableAction.ts @@ -1,8 +1,8 @@ -import { GuildPluginData } from "knub"; -import { CustomEventsPluginType, TCustomEvent } from "../types"; import * as t from "io-ts"; +import { GuildPluginData } from "knub"; import { convertDelayStringToMS, noop, tDelayString } from "../../../utils"; import { ActionError } from "../ActionError"; +import { CustomEventsPluginType, TCustomEvent } from "../types"; export const MakeRoleMentionableAction = t.type({ type: t.literal("make_role_mentionable"), diff --git a/backend/src/plugins/CustomEvents/actions/makeRoleUnmentionableAction.ts b/backend/src/plugins/CustomEvents/actions/makeRoleUnmentionableAction.ts index ea75ff12..de0a413c 100644 --- a/backend/src/plugins/CustomEvents/actions/makeRoleUnmentionableAction.ts +++ b/backend/src/plugins/CustomEvents/actions/makeRoleUnmentionableAction.ts @@ -1,7 +1,7 @@ -import { GuildPluginData } from "knub"; -import { CustomEventsPluginType, TCustomEvent } from "../types"; import * as t from "io-ts"; +import { GuildPluginData } from "knub"; import { ActionError } from "../ActionError"; +import { CustomEventsPluginType, TCustomEvent } from "../types"; export const MakeRoleUnmentionableAction = t.type({ type: t.literal("make_role_unmentionable"), diff --git a/backend/src/plugins/CustomEvents/actions/messageAction.ts b/backend/src/plugins/CustomEvents/actions/messageAction.ts index fe03eda0..9fa91ba0 100644 --- a/backend/src/plugins/CustomEvents/actions/messageAction.ts +++ b/backend/src/plugins/CustomEvents/actions/messageAction.ts @@ -1,9 +1,9 @@ -import { GuildPluginData } from "knub"; -import { CustomEventsPluginType } from "../types"; +import { TextChannel } from "discord.js"; import * as t from "io-ts"; +import { GuildPluginData } from "knub"; import { renderTemplate } from "../../../templateFormatter"; import { ActionError } from "../ActionError"; -import { TextChannel } from "discord.js"; +import { CustomEventsPluginType } from "../types"; export const MessageAction = t.type({ type: t.literal("message"), diff --git a/backend/src/plugins/CustomEvents/actions/moveToVoiceChannelAction.ts b/backend/src/plugins/CustomEvents/actions/moveToVoiceChannelAction.ts index 6d8f0731..176a768e 100644 --- a/backend/src/plugins/CustomEvents/actions/moveToVoiceChannelAction.ts +++ b/backend/src/plugins/CustomEvents/actions/moveToVoiceChannelAction.ts @@ -1,11 +1,11 @@ -import { GuildPluginData } from "knub"; -import { CustomEventsPluginType, TCustomEvent } from "../types"; +import { VoiceChannel } from "discord.js"; import * as t from "io-ts"; +import { GuildPluginData } from "knub"; +import { canActOn } from "../../../pluginUtils"; import { renderTemplate } from "../../../templateFormatter"; import { resolveMember } from "../../../utils"; import { ActionError } from "../ActionError"; -import { canActOn } from "../../../pluginUtils"; -import { VoiceChannel } from "discord.js"; +import { CustomEventsPluginType, TCustomEvent } from "../types"; export const MoveToVoiceChannelAction = t.type({ type: t.literal("move_to_vc"), diff --git a/backend/src/plugins/CustomEvents/actions/setChannelPermissionOverrides.ts b/backend/src/plugins/CustomEvents/actions/setChannelPermissionOverrides.ts index 24555c2e..4203d2a8 100644 --- a/backend/src/plugins/CustomEvents/actions/setChannelPermissionOverrides.ts +++ b/backend/src/plugins/CustomEvents/actions/setChannelPermissionOverrides.ts @@ -1,7 +1,7 @@ -import { GuildPluginData } from "knub"; -import { CustomEventsPluginType, TCustomEvent } from "../types"; import * as t from "io-ts"; +import { GuildPluginData } from "knub"; import { ActionError } from "../ActionError"; +import { CustomEventsPluginType, TCustomEvent } from "../types"; export const SetChannelPermissionOverridesAction = t.type({ type: t.literal("set_channel_permission_overrides"), diff --git a/backend/src/plugins/CustomEvents/functions/runEvent.ts b/backend/src/plugins/CustomEvents/functions/runEvent.ts index 5a4121ac..11ae8aaf 100644 --- a/backend/src/plugins/CustomEvents/functions/runEvent.ts +++ b/backend/src/plugins/CustomEvents/functions/runEvent.ts @@ -1,16 +1,16 @@ +import { Message, TextChannel } from "discord.js"; import { GuildPluginData } from "knub"; -import { CustomEventsPluginType, TCustomEvent } from "../types"; import { sendErrorMessage } from "../../../pluginUtils"; import { ActionError } from "../ActionError"; - import { addRoleAction } from "../actions/addRoleAction"; import { createCaseAction } from "../actions/createCaseAction"; -import { moveToVoiceChannelAction } from "../actions/moveToVoiceChannelAction"; -import { messageAction } from "../actions/messageAction"; import { makeRoleMentionableAction } from "../actions/makeRoleMentionableAction"; import { makeRoleUnmentionableAction } from "../actions/makeRoleUnmentionableAction"; +import { messageAction } from "../actions/messageAction"; +import { moveToVoiceChannelAction } from "../actions/moveToVoiceChannelAction"; import { setChannelPermissionOverridesAction } from "../actions/setChannelPermissionOverrides"; -import { Message, TextChannel } from "discord.js"; +import { CustomEventsPluginType, TCustomEvent } from "../types"; + export async function runEvent( pluginData: GuildPluginData, diff --git a/backend/src/plugins/CustomEvents/types.ts b/backend/src/plugins/CustomEvents/types.ts index 44058777..48628376 100644 --- a/backend/src/plugins/CustomEvents/types.ts +++ b/backend/src/plugins/CustomEvents/types.ts @@ -2,10 +2,10 @@ import * as t from "io-ts"; import { BasePluginType } from "knub"; import { AddRoleAction } from "./actions/addRoleAction"; import { CreateCaseAction } from "./actions/createCaseAction"; -import { MoveToVoiceChannelAction } from "./actions/moveToVoiceChannelAction"; -import { MessageAction } from "./actions/messageAction"; import { MakeRoleMentionableAction } from "./actions/makeRoleMentionableAction"; import { MakeRoleUnmentionableAction } from "./actions/makeRoleUnmentionableAction"; +import { MessageAction } from "./actions/messageAction"; +import { MoveToVoiceChannelAction } from "./actions/moveToVoiceChannelAction"; import { SetChannelPermissionOverridesAction } from "./actions/setChannelPermissionOverrides"; // Triggers diff --git a/backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts b/backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts index ca322168..a8fc7432 100644 --- a/backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts +++ b/backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts @@ -1,8 +1,8 @@ -import { zeppelinGlobalPlugin } from "../ZeppelinPluginBlueprint"; -import { BasePluginType, typedGlobalEventListener, GlobalPluginData } from "knub"; -import * as t from "io-ts"; -import { AllowedGuilds } from "../../data/AllowedGuilds"; import { Guild } from "discord.js"; +import * as t from "io-ts"; +import { BasePluginType, GlobalPluginData, typedGlobalEventListener } from "knub"; +import { AllowedGuilds } from "../../data/AllowedGuilds"; +import { zeppelinGlobalPlugin } from "../ZeppelinPluginBlueprint"; interface GuildAccessMonitorPluginType extends BasePluginType { config: {}; diff --git a/backend/src/plugins/GuildConfigReloader/GuildConfigReloaderPlugin.ts b/backend/src/plugins/GuildConfigReloader/GuildConfigReloaderPlugin.ts index 5316232f..c48745e1 100644 --- a/backend/src/plugins/GuildConfigReloader/GuildConfigReloaderPlugin.ts +++ b/backend/src/plugins/GuildConfigReloader/GuildConfigReloaderPlugin.ts @@ -1,8 +1,8 @@ -import { zeppelinGlobalPlugin } from "../ZeppelinPluginBlueprint"; -import { GuildConfigReloaderPluginType } from "./types"; -import { Configs } from "../../data/Configs"; -import { reloadChangedGuilds } from "./functions/reloadChangedGuilds"; import * as t from "io-ts"; +import { Configs } from "../../data/Configs"; +import { zeppelinGlobalPlugin } from "../ZeppelinPluginBlueprint"; +import { reloadChangedGuilds } from "./functions/reloadChangedGuilds"; +import { GuildConfigReloaderPluginType } from "./types"; export const GuildConfigReloaderPlugin = zeppelinGlobalPlugin()({ name: "guild_config_reloader", diff --git a/backend/src/plugins/GuildConfigReloader/functions/reloadChangedGuilds.ts b/backend/src/plugins/GuildConfigReloader/functions/reloadChangedGuilds.ts index 10cd97c0..65571b46 100644 --- a/backend/src/plugins/GuildConfigReloader/functions/reloadChangedGuilds.ts +++ b/backend/src/plugins/GuildConfigReloader/functions/reloadChangedGuilds.ts @@ -1,6 +1,6 @@ import { GlobalPluginData } from "knub"; -import { GuildConfigReloaderPluginType } from "../types"; import { SECONDS } from "../../../utils"; +import { GuildConfigReloaderPluginType } from "../types"; const CHECK_INTERVAL = 1 * SECONDS; diff --git a/backend/src/plugins/GuildConfigReloader/types.ts b/backend/src/plugins/GuildConfigReloader/types.ts index ded863ee..94ada5cf 100644 --- a/backend/src/plugins/GuildConfigReloader/types.ts +++ b/backend/src/plugins/GuildConfigReloader/types.ts @@ -1,6 +1,6 @@ import { BasePluginType } from "knub"; -import { TConfigSchema } from "../Mutes/types"; import { Configs } from "../../data/Configs"; +import { TConfigSchema } from "../Mutes/types"; import Timeout = NodeJS.Timeout; export interface GuildConfigReloaderPluginType extends BasePluginType { diff --git a/backend/src/plugins/GuildInfoSaver/GuildInfoSaverPlugin.ts b/backend/src/plugins/GuildInfoSaver/GuildInfoSaverPlugin.ts index 45858330..4591b228 100644 --- a/backend/src/plugins/GuildInfoSaver/GuildInfoSaverPlugin.ts +++ b/backend/src/plugins/GuildInfoSaver/GuildInfoSaverPlugin.ts @@ -1,9 +1,9 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import * as t from "io-ts"; import { GuildPluginData } from "knub"; import { AllowedGuilds } from "../../data/AllowedGuilds"; -import { GuildInfoSaverPluginType } from "./types"; import { MINUTES } from "../../utils"; -import * as t from "io-ts"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { GuildInfoSaverPluginType } from "./types"; export const GuildInfoSaverPlugin = zeppelinGuildPlugin()({ name: "guild_info_saver", diff --git a/backend/src/plugins/LocateUser/LocateUserPlugin.ts b/backend/src/plugins/LocateUser/LocateUserPlugin.ts index b6bf2538..fc77d99a 100644 --- a/backend/src/plugins/LocateUser/LocateUserPlugin.ts +++ b/backend/src/plugins/LocateUser/LocateUserPlugin.ts @@ -1,15 +1,15 @@ import { PluginOptions } from "knub"; -import { ConfigSchema, LocateUserPluginType } from "./types"; -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { GuildVCAlerts } from "../../data/GuildVCAlerts"; -import { outdatedAlertsLoop } from "./utils/outdatedLoop"; -import { fillActiveAlertsList } from "./utils/fillAlertsList"; -import { WhereCmd } from "./commands/WhereCmd"; +import { trimPluginDescription } from "../../utils"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { FollowCmd } from "./commands/FollowCmd"; import { DeleteFollowCmd, ListFollowCmd } from "./commands/ListFollowCmd"; -import { VoiceStateUpdateAlertEvt } from "./events/SendAlertsEvts"; +import { WhereCmd } from "./commands/WhereCmd"; import { GuildBanRemoveAlertsEvt } from "./events/BanRemoveAlertsEvt"; -import { trimPluginDescription } from "../../utils"; +import { VoiceStateUpdateAlertEvt } from "./events/SendAlertsEvts"; +import { ConfigSchema, LocateUserPluginType } from "./types"; +import { fillActiveAlertsList } from "./utils/fillAlertsList"; +import { outdatedAlertsLoop } from "./utils/outdatedLoop"; import Timeout = NodeJS.Timeout; const defaultOptions: PluginOptions = { diff --git a/backend/src/plugins/LocateUser/commands/FollowCmd.ts b/backend/src/plugins/LocateUser/commands/FollowCmd.ts index 74838673..5a8d7e5d 100644 --- a/backend/src/plugins/LocateUser/commands/FollowCmd.ts +++ b/backend/src/plugins/LocateUser/commands/FollowCmd.ts @@ -1,9 +1,9 @@ -import { locateUserCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import moment from "moment-timezone"; import humanizeDuration from "humanize-duration"; -import { MINUTES, SECONDS } from "../../../utils"; +import moment from "moment-timezone"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { MINUTES, SECONDS } from "../../../utils"; +import { locateUserCmd } from "../types"; export const FollowCmd = locateUserCmd({ trigger: ["follow", "f"], diff --git a/backend/src/plugins/LocateUser/commands/ListFollowCmd.ts b/backend/src/plugins/LocateUser/commands/ListFollowCmd.ts index 67ad383d..f8e669bc 100644 --- a/backend/src/plugins/LocateUser/commands/ListFollowCmd.ts +++ b/backend/src/plugins/LocateUser/commands/ListFollowCmd.ts @@ -1,7 +1,7 @@ -import { locateUserCmd } from "../types"; -import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; import { createChunkedMessage, sorter } from "../../../utils"; +import { locateUserCmd } from "../types"; export const ListFollowCmd = locateUserCmd({ trigger: ["follows", "fs"], diff --git a/backend/src/plugins/LocateUser/commands/WhereCmd.ts b/backend/src/plugins/LocateUser/commands/WhereCmd.ts index 5cbdac4a..0ff00d91 100644 --- a/backend/src/plugins/LocateUser/commands/WhereCmd.ts +++ b/backend/src/plugins/LocateUser/commands/WhereCmd.ts @@ -1,6 +1,5 @@ -import { locateUserCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { resolveMember } from "../../../utils"; +import { locateUserCmd } from "../types"; import { sendWhere } from "../utils/sendWhere"; export const WhereCmd = locateUserCmd({ diff --git a/backend/src/plugins/LocateUser/utils/moveMember.ts b/backend/src/plugins/LocateUser/utils/moveMember.ts index 6e74ae4b..7912d7b8 100644 --- a/backend/src/plugins/LocateUser/utils/moveMember.ts +++ b/backend/src/plugins/LocateUser/utils/moveMember.ts @@ -1,7 +1,7 @@ -import { GuildPluginData } from "knub"; -import { LocateUserPluginType } from "../types"; -import { sendErrorMessage } from "../../../pluginUtils"; import { GuildMember, TextChannel } from "discord.js"; +import { GuildPluginData } from "knub"; +import { sendErrorMessage } from "../../../pluginUtils"; +import { LocateUserPluginType } from "../types"; export async function moveMember( pluginData: GuildPluginData, diff --git a/backend/src/plugins/LocateUser/utils/outdatedLoop.ts b/backend/src/plugins/LocateUser/utils/outdatedLoop.ts index 0e3f29cd..4236342d 100644 --- a/backend/src/plugins/LocateUser/utils/outdatedLoop.ts +++ b/backend/src/plugins/LocateUser/utils/outdatedLoop.ts @@ -1,7 +1,7 @@ -import { SECONDS } from "../../../utils"; -import { removeUserIdFromActiveAlerts } from "./removeUserIdFromActiveAlerts"; import { GuildPluginData } from "knub"; +import { SECONDS } from "../../../utils"; import { LocateUserPluginType } from "../types"; +import { removeUserIdFromActiveAlerts } from "./removeUserIdFromActiveAlerts"; const ALERT_LOOP_TIME = 30 * SECONDS; diff --git a/backend/src/plugins/LocateUser/utils/sendAlerts.ts b/backend/src/plugins/LocateUser/utils/sendAlerts.ts index 882e4344..e88dcec9 100644 --- a/backend/src/plugins/LocateUser/utils/sendAlerts.ts +++ b/backend/src/plugins/LocateUser/utils/sendAlerts.ts @@ -1,10 +1,10 @@ +import { TextChannel } from "discord.js"; import { GuildPluginData } from "knub"; -import { LocateUserPluginType } from "../types"; import { resolveMember } from "../../../utils"; +import { LocateUserPluginType } from "../types"; +import { moveMember } from "./moveMember"; import { sendWhere } from "./sendWhere"; -import { moveMember } from "./moveMember"; -import { TextChannel } from "discord.js"; export async function sendAlerts(pluginData: GuildPluginData, userId: string) { const triggeredAlerts = await pluginData.state.alerts.getAlertsByUserId(userId); diff --git a/backend/src/plugins/LocateUser/utils/sendWhere.ts b/backend/src/plugins/LocateUser/utils/sendWhere.ts index 4fb151b6..b9cc9cb8 100644 --- a/backend/src/plugins/LocateUser/utils/sendWhere.ts +++ b/backend/src/plugins/LocateUser/utils/sendWhere.ts @@ -1,9 +1,9 @@ -import { getInviteLink } from "knub/dist/helpers"; -import { createOrReuseInvite } from "./createOrReuseInvite"; -import { GuildPluginData } from "knub"; -import { LocateUserPluginType } from "../types"; -import { sendErrorMessage } from "../../../pluginUtils"; import { GuildMember, Invite, TextChannel, VoiceChannel } from "discord.js"; +import { GuildPluginData } from "knub"; +import { getInviteLink } from "knub/dist/helpers"; +import { sendErrorMessage } from "../../../pluginUtils"; +import { LocateUserPluginType } from "../types"; +import { createOrReuseInvite } from "./createOrReuseInvite"; export async function sendWhere( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Logs/LogsPlugin.ts b/backend/src/plugins/Logs/LogsPlugin.ts index 2d2be7b2..6de27037 100644 --- a/backend/src/plugins/Logs/LogsPlugin.ts +++ b/backend/src/plugins/Logs/LogsPlugin.ts @@ -1,28 +1,28 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { PluginOptions } from "knub"; -import { ConfigSchema, FORMAT_NO_TIMESTAMP, LogsPluginType } from "./types"; import DefaultLogMessages from "../../data/DefaultLogMessages.json"; -import { GuildLogs } from "../../data/GuildLogs"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { GuildArchives } from "../../data/GuildArchives"; import { GuildCases } from "../../data/GuildCases"; +import { GuildLogs } from "../../data/GuildLogs"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { LogType } from "../../data/LogType"; +import { logger } from "../../logger"; +import { discardRegExpRunner, getRegExpRunner } from "../../regExpRunners"; +import { disableCodeBlocks } from "../../utils"; +import { CasesPlugin } from "../Cases/CasesPlugin"; +import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { LogsChannelCreateEvt, LogsChannelDeleteEvt } from "./events/LogsChannelModifyEvts"; +import { LogsGuildMemberAddEvt } from "./events/LogsGuildMemberAddEvt"; +import { LogsGuildMemberRemoveEvt } from "./events/LogsGuildMemberRemoveEvt"; +import { LogsRoleCreateEvt, LogsRoleDeleteEvt } from "./events/LogsRoleModifyEvts"; +import { LogsGuildMemberUpdateEvt } from "./events/LogsUserUpdateEvts"; +import { LogsVoiceStateUpdateEvt } from "./events/LogsVoiceChannelEvts"; +import { ConfigSchema, FORMAT_NO_TIMESTAMP, LogsPluginType } from "./types"; +import { getLogMessage } from "./util/getLogMessage"; +import { log } from "./util/log"; import { onMessageDelete } from "./util/onMessageDelete"; import { onMessageDeleteBulk } from "./util/onMessageDeleteBulk"; import { onMessageUpdate } from "./util/onMessageUpdate"; -import { LogsGuildMemberAddEvt } from "./events/LogsGuildMemberAddEvt"; -import { LogsGuildMemberRemoveEvt } from "./events/LogsGuildMemberRemoveEvt"; -import { LogsGuildMemberUpdateEvt } from "./events/LogsUserUpdateEvts"; -import { LogsChannelCreateEvt, LogsChannelDeleteEvt } from "./events/LogsChannelModifyEvts"; -import { LogsRoleCreateEvt, LogsRoleDeleteEvt } from "./events/LogsRoleModifyEvts"; -import { log } from "./util/log"; -import { LogType } from "../../data/LogType"; -import { getLogMessage } from "./util/getLogMessage"; -import { discardRegExpRunner, getRegExpRunner } from "../../regExpRunners"; -import { disableCodeBlocks } from "../../utils"; -import { logger } from "../../logger"; -import { CasesPlugin } from "../Cases/CasesPlugin"; -import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; -import { LogsVoiceStateUpdateEvt } from "./events/LogsVoiceChannelEvts"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/Logs/events/LogsChannelModifyEvts.ts b/backend/src/plugins/Logs/events/LogsChannelModifyEvts.ts index dad30a6a..fb7b9e74 100644 --- a/backend/src/plugins/Logs/events/LogsChannelModifyEvts.ts +++ b/backend/src/plugins/Logs/events/LogsChannelModifyEvts.ts @@ -1,6 +1,6 @@ -import { logsEvt } from "../types"; -import { stripObjectToScalars } from "../../../utils"; import { LogType } from "../../../data/LogType"; +import { stripObjectToScalars } from "../../../utils"; +import { logsEvt } from "../types"; export const LogsChannelCreateEvt = logsEvt({ event: "channelCreate", diff --git a/backend/src/plugins/Logs/events/LogsGuildBanEvts.ts b/backend/src/plugins/Logs/events/LogsGuildBanEvts.ts index ab7d7498..220543ac 100644 --- a/backend/src/plugins/Logs/events/LogsGuildBanEvts.ts +++ b/backend/src/plugins/Logs/events/LogsGuildBanEvts.ts @@ -1,9 +1,9 @@ -import { logsEvt } from "../types"; -import { stripObjectToScalars, UnknownUser } from "../../../utils"; -import { LogType } from "../../../data/LogType"; - -import { safeFindRelevantAuditLogEntry } from "../../../utils/safeFindRelevantAuditLogEntry"; import { GuildAuditLogs } from "discord.js"; +import { LogType } from "../../../data/LogType"; +import { stripObjectToScalars, UnknownUser } from "../../../utils"; +import { safeFindRelevantAuditLogEntry } from "../../../utils/safeFindRelevantAuditLogEntry"; +import { logsEvt } from "../types"; + export const LogsGuildBanAddEvt = logsEvt({ event: "guildBanAdd", diff --git a/backend/src/plugins/Logs/events/LogsGuildMemberAddEvt.ts b/backend/src/plugins/Logs/events/LogsGuildMemberAddEvt.ts index 71448dbb..e206b99a 100644 --- a/backend/src/plugins/Logs/events/LogsGuildMemberAddEvt.ts +++ b/backend/src/plugins/Logs/events/LogsGuildMemberAddEvt.ts @@ -1,9 +1,9 @@ -import { logsEvt } from "../types"; -import { stripObjectToScalars } from "../../../utils"; -import { LogType } from "../../../data/LogType"; -import moment from "moment-timezone"; import humanizeDuration from "humanize-duration"; +import moment from "moment-timezone"; +import { LogType } from "../../../data/LogType"; +import { stripObjectToScalars } from "../../../utils"; import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { logsEvt } from "../types"; export const LogsGuildMemberAddEvt = logsEvt({ event: "guildMemberAdd", diff --git a/backend/src/plugins/Logs/events/LogsGuildMemberRemoveEvt.ts b/backend/src/plugins/Logs/events/LogsGuildMemberRemoveEvt.ts index cde1fbd8..69be59d3 100644 --- a/backend/src/plugins/Logs/events/LogsGuildMemberRemoveEvt.ts +++ b/backend/src/plugins/Logs/events/LogsGuildMemberRemoveEvt.ts @@ -1,6 +1,6 @@ -import { logsEvt } from "../types"; -import { stripObjectToScalars } from "../../../utils"; import { LogType } from "../../../data/LogType"; +import { stripObjectToScalars } from "../../../utils"; +import { logsEvt } from "../types"; export const LogsGuildMemberRemoveEvt = logsEvt({ event: "guildMemberRemove", diff --git a/backend/src/plugins/Logs/events/LogsRoleModifyEvts.ts b/backend/src/plugins/Logs/events/LogsRoleModifyEvts.ts index 48a85448..7c5f2108 100644 --- a/backend/src/plugins/Logs/events/LogsRoleModifyEvts.ts +++ b/backend/src/plugins/Logs/events/LogsRoleModifyEvts.ts @@ -1,6 +1,6 @@ -import { logsEvt } from "../types"; -import { stripObjectToScalars } from "../../../utils"; import { LogType } from "../../../data/LogType"; +import { stripObjectToScalars } from "../../../utils"; +import { logsEvt } from "../types"; export const LogsRoleCreateEvt = logsEvt({ event: "roleCreate", diff --git a/backend/src/plugins/Logs/events/LogsUserUpdateEvts.ts b/backend/src/plugins/Logs/events/LogsUserUpdateEvts.ts index 170e8543..ba4b5d08 100644 --- a/backend/src/plugins/Logs/events/LogsUserUpdateEvts.ts +++ b/backend/src/plugins/Logs/events/LogsUserUpdateEvts.ts @@ -1,11 +1,11 @@ -import { logsEvt } from "../types"; -import { stripObjectToScalars, UnknownUser } from "../../../utils"; - -import { LogType } from "../../../data/LogType"; -import isEqual from "lodash.isequal"; -import diff from "lodash.difference"; -import { safeFindRelevantAuditLogEntry } from "../../../utils/safeFindRelevantAuditLogEntry"; import { GuildAuditLogs } from "discord.js"; +import diff from "lodash.difference"; +import isEqual from "lodash.isequal"; +import { LogType } from "../../../data/LogType"; +import { stripObjectToScalars, UnknownUser } from "../../../utils"; +import { safeFindRelevantAuditLogEntry } from "../../../utils/safeFindRelevantAuditLogEntry"; +import { logsEvt } from "../types"; + export const LogsGuildMemberUpdateEvt = logsEvt({ event: "guildMemberUpdate", diff --git a/backend/src/plugins/Logs/events/LogsVoiceChannelEvts.ts b/backend/src/plugins/Logs/events/LogsVoiceChannelEvts.ts index 61ce1593..50d31bfa 100644 --- a/backend/src/plugins/Logs/events/LogsVoiceChannelEvts.ts +++ b/backend/src/plugins/Logs/events/LogsVoiceChannelEvts.ts @@ -1,6 +1,6 @@ -import { logsEvt } from "../types"; -import { stripObjectToScalars } from "../../../utils"; import { LogType } from "../../../data/LogType"; +import { stripObjectToScalars } from "../../../utils"; +import { logsEvt } from "../types"; export const LogsVoiceStateUpdateEvt = logsEvt({ event: "voiceStateUpdate", diff --git a/backend/src/plugins/Logs/types.ts b/backend/src/plugins/Logs/types.ts index bdb96a4d..56178d6b 100644 --- a/backend/src/plugins/Logs/types.ts +++ b/backend/src/plugins/Logs/types.ts @@ -1,12 +1,12 @@ import * as t from "io-ts"; import { BasePluginType, typedGuildEventListener } from "knub"; -import { TRegex } from "../../validatorUtils"; -import { GuildLogs } from "../../data/GuildLogs"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { GuildArchives } from "../../data/GuildArchives"; import { GuildCases } from "../../data/GuildCases"; -import { tMessageContent, tNullable } from "../../utils"; +import { GuildLogs } from "../../data/GuildLogs"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { RegExpRunner } from "../../RegExpRunner"; +import { tMessageContent, tNullable } from "../../utils"; +import { TRegex } from "../../validatorUtils"; export const tLogFormats = t.record(t.string, t.union([t.string, tMessageContent])); export type TLogFormats = t.TypeOf; diff --git a/backend/src/plugins/Logs/util/getLogMessage.ts b/backend/src/plugins/Logs/util/getLogMessage.ts index 06baebc5..435264e3 100644 --- a/backend/src/plugins/Logs/util/getLogMessage.ts +++ b/backend/src/plugins/Logs/util/getLogMessage.ts @@ -1,19 +1,17 @@ -import { GuildPluginData } from "knub"; -import { FORMAT_NO_TIMESTAMP, LogsPluginType, TLogChannel, TLogFormats } from "../types"; -import { LogType } from "../../../data/LogType"; -import { - verboseUserMention, - verboseUserName, - verboseChannelMention, - messageSummary, - resolveMember, - renderRecursively, -} from "../../../utils"; -import { SavedMessage } from "../../../data/entities/SavedMessage"; -import { renderTemplate, TemplateParseError } from "../../../templateFormatter"; -import { logger } from "../../../logger"; -import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; import { MessageOptions } from "discord.js"; +import { GuildPluginData } from "knub"; +import { SavedMessage } from "../../../data/entities/SavedMessage"; +import { LogType } from "../../../data/LogType"; +import { logger } from "../../../logger"; +import { renderTemplate, TemplateParseError } from "../../../templateFormatter"; +import { + messageSummary, + + renderRecursively, resolveMember, verboseChannelMention, verboseUserMention, + verboseUserName +} from "../../../utils"; +import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; +import { FORMAT_NO_TIMESTAMP, LogsPluginType, TLogChannel } from "../types"; export async function getLogMessage( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Logs/util/log.ts b/backend/src/plugins/Logs/util/log.ts index 0bb8c616..3d9d438c 100644 --- a/backend/src/plugins/Logs/util/log.ts +++ b/backend/src/plugins/Logs/util/log.ts @@ -1,12 +1,12 @@ -import { GuildPluginData } from "knub"; -import { LogsPluginType, TLogChannelMap } from "../types"; -import { LogType } from "../../../data/LogType"; - -import { createChunkedMessage, get, noop } from "../../../utils"; -import { getLogMessage } from "./getLogMessage"; -import { allowTimeout } from "../../../RegExpRunner"; -import { SavedMessage } from "../../../data/entities/SavedMessage"; import { MessageMentionTypes, TextChannel } from "discord.js"; +import { GuildPluginData } from "knub"; +import { SavedMessage } from "../../../data/entities/SavedMessage"; +import { LogType } from "../../../data/LogType"; +import { allowTimeout } from "../../../RegExpRunner"; +import { createChunkedMessage, get, noop } from "../../../utils"; +import { LogsPluginType, TLogChannelMap } from "../types"; +import { getLogMessage } from "./getLogMessage"; + const excludedUserProps = ["user", "member", "mod"]; const excludedRoleProps = ["message.member.roles", "member.roles"]; diff --git a/backend/src/plugins/Logs/util/onMessageDelete.ts b/backend/src/plugins/Logs/util/onMessageDelete.ts index a7437713..c64185d8 100644 --- a/backend/src/plugins/Logs/util/onMessageDelete.ts +++ b/backend/src/plugins/Logs/util/onMessageDelete.ts @@ -1,12 +1,12 @@ -import { SavedMessage } from "../../../data/entities/SavedMessage"; - -import { useMediaUrls, stripObjectToScalars, resolveUser } from "../../../utils"; -import { LogType } from "../../../data/LogType"; -import moment from "moment-timezone"; -import { GuildPluginData } from "knub"; -import { FORMAT_NO_TIMESTAMP, LogsPluginType } from "../types"; -import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; import { MessageAttachment } from "discord.js"; +import { GuildPluginData } from "knub"; +import moment from "moment-timezone"; +import { SavedMessage } from "../../../data/entities/SavedMessage"; +import { LogType } from "../../../data/LogType"; +import { resolveUser, stripObjectToScalars, useMediaUrls } from "../../../utils"; +import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; +import { FORMAT_NO_TIMESTAMP, LogsPluginType } from "../types"; + export async function onMessageDelete(pluginData: GuildPluginData, savedMessage: SavedMessage) { const user = await resolveUser(pluginData.client, savedMessage.user_id); diff --git a/backend/src/plugins/Logs/util/onMessageDeleteBulk.ts b/backend/src/plugins/Logs/util/onMessageDeleteBulk.ts index d0fac9c5..6e23315a 100644 --- a/backend/src/plugins/Logs/util/onMessageDeleteBulk.ts +++ b/backend/src/plugins/Logs/util/onMessageDeleteBulk.ts @@ -1,8 +1,8 @@ import { GuildPluginData } from "knub"; -import { LogsPluginType } from "../types"; import { SavedMessage } from "../../../data/entities/SavedMessage"; import { LogType } from "../../../data/LogType"; import { getBaseUrl } from "../../../pluginUtils"; +import { LogsPluginType } from "../types"; export async function onMessageDeleteBulk(pluginData: GuildPluginData, savedMessages: SavedMessage[]) { const channel = pluginData.guild.channels.cache.get(savedMessages[0].channel_id); diff --git a/backend/src/plugins/Logs/util/onMessageUpdate.ts b/backend/src/plugins/Logs/util/onMessageUpdate.ts index 1075d63e..87631bbc 100644 --- a/backend/src/plugins/Logs/util/onMessageUpdate.ts +++ b/backend/src/plugins/Logs/util/onMessageUpdate.ts @@ -1,11 +1,11 @@ -import { GuildPluginData } from "knub"; -import { LogsPluginType } from "../types"; -import { SavedMessage } from "../../../data/entities/SavedMessage"; - -import { LogType } from "../../../data/LogType"; -import { stripObjectToScalars, resolveUser } from "../../../utils"; -import cloneDeep from "lodash.clonedeep"; import { MessageEmbed } from "discord.js"; +import { GuildPluginData } from "knub"; +import cloneDeep from "lodash.clonedeep"; +import { SavedMessage } from "../../../data/entities/SavedMessage"; +import { LogType } from "../../../data/LogType"; +import { resolveUser, stripObjectToScalars } from "../../../utils"; +import { LogsPluginType } from "../types"; + export async function onMessageUpdate( pluginData: GuildPluginData, diff --git a/backend/src/plugins/MessageSaver/MessageSaverPlugin.ts b/backend/src/plugins/MessageSaver/MessageSaverPlugin.ts index 955663cb..eb529ffa 100644 --- a/backend/src/plugins/MessageSaver/MessageSaverPlugin.ts +++ b/backend/src/plugins/MessageSaver/MessageSaverPlugin.ts @@ -1,10 +1,10 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { ConfigSchema, MessageSaverPluginType } from "./types"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { PluginOptions } from "knub"; -import { MessageCreateEvt, MessageDeleteBulkEvt, MessageDeleteEvt, MessageUpdateEvt } from "./events/SaveMessagesEvts"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { SaveMessagesToDBCmd } from "./commands/SaveMessagesToDB"; import { SavePinsToDBCmd } from "./commands/SavePinsToDB"; +import { MessageCreateEvt, MessageDeleteBulkEvt, MessageDeleteEvt, MessageUpdateEvt } from "./events/SaveMessagesEvts"; +import { ConfigSchema, MessageSaverPluginType } from "./types"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/MessageSaver/commands/SaveMessagesToDB.ts b/backend/src/plugins/MessageSaver/commands/SaveMessagesToDB.ts index 226a8a2b..3d2456e8 100644 --- a/backend/src/plugins/MessageSaver/commands/SaveMessagesToDB.ts +++ b/backend/src/plugins/MessageSaver/commands/SaveMessagesToDB.ts @@ -1,7 +1,7 @@ -import { messageSaverCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { saveMessagesToDB } from "../saveMessagesToDB"; import { sendSuccessMessage } from "../../../pluginUtils"; +import { saveMessagesToDB } from "../saveMessagesToDB"; +import { messageSaverCmd } from "../types"; export const SaveMessagesToDBCmd = messageSaverCmd({ trigger: "save_messages_to_db", diff --git a/backend/src/plugins/MessageSaver/commands/SavePinsToDB.ts b/backend/src/plugins/MessageSaver/commands/SavePinsToDB.ts index a159a642..ede884d6 100644 --- a/backend/src/plugins/MessageSaver/commands/SavePinsToDB.ts +++ b/backend/src/plugins/MessageSaver/commands/SavePinsToDB.ts @@ -1,7 +1,7 @@ -import { messageSaverCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { saveMessagesToDB } from "../saveMessagesToDB"; import { sendSuccessMessage } from "../../../pluginUtils"; +import { saveMessagesToDB } from "../saveMessagesToDB"; +import { messageSaverCmd } from "../types"; export const SavePinsToDBCmd = messageSaverCmd({ trigger: "save_pins_to_db", diff --git a/backend/src/plugins/MessageSaver/saveMessagesToDB.ts b/backend/src/plugins/MessageSaver/saveMessagesToDB.ts index dd0f3b80..1ce82aa9 100644 --- a/backend/src/plugins/MessageSaver/saveMessagesToDB.ts +++ b/backend/src/plugins/MessageSaver/saveMessagesToDB.ts @@ -1,6 +1,6 @@ -import { MessageSaverPluginType } from "./types"; +import { Message, TextChannel } from "discord.js"; import { GuildPluginData } from "knub"; -import { TextChannel, Message } from "discord.js"; +import { MessageSaverPluginType } from "./types"; export async function saveMessagesToDB( pluginData: GuildPluginData, diff --git a/backend/src/plugins/ModActions/ModActionsPlugin.ts b/backend/src/plugins/ModActions/ModActionsPlugin.ts index f0a51c69..3be7332a 100644 --- a/backend/src/plugins/ModActions/ModActionsPlugin.ts +++ b/backend/src/plugins/ModActions/ModActionsPlugin.ts @@ -1,51 +1,51 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { CasesPlugin } from "../Cases/CasesPlugin"; -import { MutesPlugin } from "../Mutes/MutesPlugin"; -import { BanOptions, ConfigSchema, KickOptions, ModActionsPluginType, WarnOptions } from "./types"; -import { CreateBanCaseOnManualBanEvt } from "./events/CreateBanCaseOnManualBanEvt"; -import { CreateUnbanCaseOnManualUnbanEvt } from "./events/CreateUnbanCaseOnManualUnbanEvt"; -import { CreateKickCaseOnManualKickEvt } from "./events/CreateKickCaseOnManualKickEvt"; -import { UpdateCmd } from "./commands/UpdateCmd"; -import { NoteCmd } from "./commands/NoteCmd"; -import { WarnCmd } from "./commands/WarnCmd"; -import { MuteCmd } from "./commands/MuteCmd"; -import { PostAlertOnMemberJoinEvt } from "./events/PostAlertOnMemberJoinEvt"; -import { ForcemuteCmd } from "./commands/ForcemuteCmd"; -import { UnmuteCmd } from "./commands/UnmuteCmd"; -import { KickCmd } from "./commands/KickCmd"; -import { SoftbanCmd } from "./commands/SoftbanCommand"; -import { BanCmd } from "./commands/BanCmd"; -import { UnbanCmd } from "./commands/UnbanCmd"; -import { ForcebanCmd } from "./commands/ForcebanCmd"; -import { MassunbanCmd } from "./commands/MassUnbanCmd"; -import { MassbanCmd } from "./commands/MassBanCmd"; -import { AddCaseCmd } from "./commands/AddCaseCmd"; -import { CaseCmd } from "./commands/CaseCmd"; -import { CasesUserCmd } from "./commands/CasesUserCmd"; -import { CasesModCmd } from "./commands/CasesModCmd"; -import { HideCaseCmd } from "./commands/HideCaseCmd"; -import { UnhideCaseCmd } from "./commands/UnhideCaseCmd"; -import { GuildMutes } from "../../data/GuildMutes"; +import { GuildMember, Message } from "discord.js"; +import { EventEmitter } from "events"; import { GuildCases } from "../../data/GuildCases"; import { GuildLogs } from "../../data/GuildLogs"; -import { ForceUnmuteCmd } from "./commands/ForceunmuteCmd"; -import { warnMember } from "./functions/warnMember"; - -import { kickMember } from "./functions/kickMember"; -import { banUserId } from "./functions/banUserId"; -import { MassmuteCmd } from "./commands/MassmuteCmd"; -import { MINUTES, trimPluginDescription } from "../../utils"; -import { DeleteCaseCmd } from "./commands/DeleteCaseCmd"; -import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; +import { GuildMutes } from "../../data/GuildMutes"; import { GuildTempbans } from "../../data/GuildTempbans"; -import { outdatedTempbansLoop } from "./functions/outdatedTempbansLoop"; -import { EventEmitter } from "events"; import { mapToPublicFn } from "../../pluginUtils"; -import { onModActionsEvent } from "./functions/onModActionsEvent"; -import { offModActionsEvent } from "./functions/offModActionsEvent"; -import { updateCase } from "./functions/updateCase"; import { Queue } from "../../Queue"; -import { GuildMember, Message } from "discord.js"; +import { MINUTES, trimPluginDescription } from "../../utils"; +import { CasesPlugin } from "../Cases/CasesPlugin"; +import { MutesPlugin } from "../Mutes/MutesPlugin"; +import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { AddCaseCmd } from "./commands/AddCaseCmd"; +import { BanCmd } from "./commands/BanCmd"; +import { CaseCmd } from "./commands/CaseCmd"; +import { CasesModCmd } from "./commands/CasesModCmd"; +import { CasesUserCmd } from "./commands/CasesUserCmd"; +import { DeleteCaseCmd } from "./commands/DeleteCaseCmd"; +import { ForcebanCmd } from "./commands/ForcebanCmd"; +import { ForcemuteCmd } from "./commands/ForcemuteCmd"; +import { ForceUnmuteCmd } from "./commands/ForceunmuteCmd"; +import { HideCaseCmd } from "./commands/HideCaseCmd"; +import { KickCmd } from "./commands/KickCmd"; +import { MassbanCmd } from "./commands/MassBanCmd"; +import { MassmuteCmd } from "./commands/MassmuteCmd"; +import { MassunbanCmd } from "./commands/MassUnbanCmd"; +import { MuteCmd } from "./commands/MuteCmd"; +import { NoteCmd } from "./commands/NoteCmd"; +import { SoftbanCmd } from "./commands/SoftbanCommand"; +import { UnbanCmd } from "./commands/UnbanCmd"; +import { UnhideCaseCmd } from "./commands/UnhideCaseCmd"; +import { UnmuteCmd } from "./commands/UnmuteCmd"; +import { UpdateCmd } from "./commands/UpdateCmd"; +import { WarnCmd } from "./commands/WarnCmd"; +import { CreateBanCaseOnManualBanEvt } from "./events/CreateBanCaseOnManualBanEvt"; +import { CreateKickCaseOnManualKickEvt } from "./events/CreateKickCaseOnManualKickEvt"; +import { CreateUnbanCaseOnManualUnbanEvt } from "./events/CreateUnbanCaseOnManualUnbanEvt"; +import { PostAlertOnMemberJoinEvt } from "./events/PostAlertOnMemberJoinEvt"; +import { banUserId } from "./functions/banUserId"; +import { kickMember } from "./functions/kickMember"; +import { offModActionsEvent } from "./functions/offModActionsEvent"; +import { onModActionsEvent } from "./functions/onModActionsEvent"; +import { outdatedTempbansLoop } from "./functions/outdatedTempbansLoop"; +import { updateCase } from "./functions/updateCase"; +import { warnMember } from "./functions/warnMember"; +import { BanOptions, ConfigSchema, KickOptions, ModActionsPluginType, WarnOptions } from "./types"; + const defaultOptions = { config: { diff --git a/backend/src/plugins/ModActions/commands/AddCaseCmd.ts b/backend/src/plugins/ModActions/commands/AddCaseCmd.ts index 7f2a551d..6dbfb67d 100644 --- a/backend/src/plugins/ModActions/commands/AddCaseCmd.ts +++ b/backend/src/plugins/ModActions/commands/AddCaseCmd.ts @@ -1,12 +1,12 @@ -import { modActionsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { canActOn, sendErrorMessage, hasPermission, sendSuccessMessage } from "../../../pluginUtils"; -import { resolveUser, resolveMember, stripObjectToScalars } from "../../../utils"; -import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; import { CaseTypes } from "../../../data/CaseTypes"; -import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; import { Case } from "../../../data/entities/Case"; import { LogType } from "../../../data/LogType"; +import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; +import { canActOn, hasPermission, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { resolveMember, resolveUser, stripObjectToScalars } from "../../../utils"; +import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; +import { modActionsCmd } from "../types"; const opts = { mod: ct.member({ option: true }), diff --git a/backend/src/plugins/ModActions/commands/BanCmd.ts b/backend/src/plugins/ModActions/commands/BanCmd.ts index 1d113168..8ebc8e2a 100644 --- a/backend/src/plugins/ModActions/commands/BanCmd.ts +++ b/backend/src/plugins/ModActions/commands/BanCmd.ts @@ -1,18 +1,18 @@ -import { modActionsCmd, IgnoredEventType } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { canActOn, sendErrorMessage, hasPermission, sendSuccessMessage } from "../../../pluginUtils"; -import { resolveUser, resolveMember, stripObjectToScalars, noop } from "../../../utils"; -import { isBanned } from "../functions/isBanned"; -import { readContactMethodsFromArgs } from "../functions/readContactMethodsFromArgs"; -import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; -import { banUserId } from "../functions/banUserId"; -import { getMemberLevel } from "knub/dist/helpers"; import humanizeDuration from "humanize-duration"; -import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; +import { getMemberLevel } from "knub/dist/helpers"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; import { CaseTypes } from "../../../data/CaseTypes"; import { LogType } from "../../../data/LogType"; +import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; +import { canActOn, hasPermission, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { resolveMember, resolveUser, stripObjectToScalars } from "../../../utils"; import { banLock } from "../../../utils/lockNameHelpers"; import { waitForButtonConfirm } from "../../../utils/waitForInteraction"; +import { banUserId } from "../functions/banUserId"; +import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; +import { isBanned } from "../functions/isBanned"; +import { readContactMethodsFromArgs } from "../functions/readContactMethodsFromArgs"; +import { modActionsCmd } from "../types"; const opts = { mod: ct.member({ option: true }), diff --git a/backend/src/plugins/ModActions/commands/CaseCmd.ts b/backend/src/plugins/ModActions/commands/CaseCmd.ts index 6c50d4c8..d3d8ce95 100644 --- a/backend/src/plugins/ModActions/commands/CaseCmd.ts +++ b/backend/src/plugins/ModActions/commands/CaseCmd.ts @@ -1,7 +1,7 @@ -import { modActionsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { sendErrorMessage } from "../../../pluginUtils"; import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; +import { sendErrorMessage } from "../../../pluginUtils"; +import { modActionsCmd } from "../types"; export const CaseCmd = modActionsCmd({ trigger: "case", diff --git a/backend/src/plugins/ModActions/commands/CasesModCmd.ts b/backend/src/plugins/ModActions/commands/CasesModCmd.ts index 49bbc937..7bc9d19f 100644 --- a/backend/src/plugins/ModActions/commands/CasesModCmd.ts +++ b/backend/src/plugins/ModActions/commands/CasesModCmd.ts @@ -1,15 +1,14 @@ -import { modActionsCmd } from "../types"; +import { MessageEmbedOptions, User } from "discord.js"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage } from "../../../pluginUtils"; -import { trimLines, createChunkedMessage, emptyEmbedValue, sorter, resolveUser } from "../../../utils"; -import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { emptyEmbedValue, resolveUser, trimLines } from "../../../utils"; import { asyncMap } from "../../../utils/async"; - -import { getChunkedEmbedFields } from "../../../utils/getChunkedEmbedFields"; -import { getDefaultPrefix } from "knub/dist/commands/commandUtils"; -import { getGuildPrefix } from "../../../utils/getGuildPrefix"; import { createPaginatedMessage } from "../../../utils/createPaginatedMessage"; -import { MessageEmbedOptions, User } from "discord.js"; +import { getChunkedEmbedFields } from "../../../utils/getChunkedEmbedFields"; +import { getGuildPrefix } from "../../../utils/getGuildPrefix"; +import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { modActionsCmd } from "../types"; + const opts = { mod: ct.userId({ option: true }), diff --git a/backend/src/plugins/ModActions/commands/CasesUserCmd.ts b/backend/src/plugins/ModActions/commands/CasesUserCmd.ts index 7fa4f499..b4af16a4 100644 --- a/backend/src/plugins/ModActions/commands/CasesUserCmd.ts +++ b/backend/src/plugins/ModActions/commands/CasesUserCmd.ts @@ -1,22 +1,16 @@ -import { modActionsCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { sendErrorMessage } from "../../../pluginUtils"; -import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; -import { - UnknownUser, - multiSorter, - trimLines, - createChunkedMessage, - resolveUser, - emptyEmbedValue, - chunkArray, -} from "../../../utils"; -import { getGuildPrefix } from "../../../utils/getGuildPrefix"; - -import { getChunkedEmbedFields } from "../../../utils/getChunkedEmbedFields"; -import { asyncMap } from "../../../utils/async"; -import { CaseTypes } from "../../../data/CaseTypes"; import { MessageEmbedOptions, User } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { CaseTypes } from "../../../data/CaseTypes"; +import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; +import { sendErrorMessage } from "../../../pluginUtils"; +import { + chunkArray, emptyEmbedValue, resolveUser, trimLines, UnknownUser +} from "../../../utils"; +import { asyncMap } from "../../../utils/async"; +import { getChunkedEmbedFields } from "../../../utils/getChunkedEmbedFields"; +import { getGuildPrefix } from "../../../utils/getGuildPrefix"; +import { modActionsCmd } from "../types"; + const opts = { expand: ct.bool({ option: true, isSwitch: true, shortcut: "e" }), diff --git a/backend/src/plugins/ModActions/commands/DeleteCaseCmd.ts b/backend/src/plugins/ModActions/commands/DeleteCaseCmd.ts index ecda9c25..6e99fb9f 100644 --- a/backend/src/plugins/ModActions/commands/DeleteCaseCmd.ts +++ b/backend/src/plugins/ModActions/commands/DeleteCaseCmd.ts @@ -1,16 +1,15 @@ -import { modActionsCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { helpers } from "knub"; -import { CasesPlugin } from "../../Cases/CasesPlugin"; - -import { SECONDS, stripObjectToScalars, trimLines } from "../../../utils"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; -import { LogType } from "../../../data/LogType"; -import moment from "moment-timezone"; -import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; -import { Case } from "../../../data/entities/Case"; import { TextChannel } from "discord.js"; +import { helpers } from "knub"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { Case } from "../../../data/entities/Case"; +import { LogType } from "../../../data/LogType"; +import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { SECONDS, stripObjectToScalars, trimLines } from "../../../utils"; +import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; +import { modActionsCmd } from "../types"; + export const DeleteCaseCmd = modActionsCmd({ trigger: ["delete_case", "deletecase"], diff --git a/backend/src/plugins/ModActions/commands/ForcebanCmd.ts b/backend/src/plugins/ModActions/commands/ForcebanCmd.ts index 6ba06b74..a4ea8460 100644 --- a/backend/src/plugins/ModActions/commands/ForcebanCmd.ts +++ b/backend/src/plugins/ModActions/commands/ForcebanCmd.ts @@ -1,15 +1,13 @@ -import { modActionsCmd, IgnoredEventType } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { canActOn, sendErrorMessage, hasPermission, sendSuccessMessage } from "../../../pluginUtils"; -import { resolveUser, resolveMember, stripObjectToScalars } from "../../../utils"; -import { isBanned } from "../functions/isBanned"; -import { readContactMethodsFromArgs } from "../functions/readContactMethodsFromArgs"; -import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; -import { banUserId } from "../functions/banUserId"; -import { ignoreEvent } from "../functions/ignoreEvent"; -import { LogType } from "../../../data/LogType"; import { CaseTypes } from "../../../data/CaseTypes"; +import { LogType } from "../../../data/LogType"; import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; +import { canActOn, hasPermission, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { resolveMember, resolveUser, stripObjectToScalars } from "../../../utils"; +import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; +import { ignoreEvent } from "../functions/ignoreEvent"; +import { isBanned } from "../functions/isBanned"; +import { IgnoredEventType, modActionsCmd } from "../types"; const opts = { mod: ct.member({ option: true }), diff --git a/backend/src/plugins/ModActions/commands/ForcemuteCmd.ts b/backend/src/plugins/ModActions/commands/ForcemuteCmd.ts index af680374..18fe1228 100644 --- a/backend/src/plugins/ModActions/commands/ForcemuteCmd.ts +++ b/backend/src/plugins/ModActions/commands/ForcemuteCmd.ts @@ -1,8 +1,8 @@ -import { modActionsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { canActOn, sendErrorMessage } from "../../../pluginUtils"; import { resolveMember, resolveUser } from "../../../utils"; import { actualMuteUserCmd } from "../functions/actualMuteUserCmd"; +import { modActionsCmd } from "../types"; const opts = { mod: ct.member({ option: true }), diff --git a/backend/src/plugins/ModActions/commands/ForceunmuteCmd.ts b/backend/src/plugins/ModActions/commands/ForceunmuteCmd.ts index e86a6408..8ce0ce14 100644 --- a/backend/src/plugins/ModActions/commands/ForceunmuteCmd.ts +++ b/backend/src/plugins/ModActions/commands/ForceunmuteCmd.ts @@ -1,8 +1,8 @@ -import { modActionsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { canActOn, sendErrorMessage } from "../../../pluginUtils"; -import { resolveUser, resolveMember } from "../../../utils"; +import { resolveMember, resolveUser } from "../../../utils"; import { actualUnmuteCmd } from "../functions/actualUnmuteUserCmd"; +import { modActionsCmd } from "../types"; const opts = { mod: ct.member({ option: true }), diff --git a/backend/src/plugins/ModActions/commands/HideCaseCmd.ts b/backend/src/plugins/ModActions/commands/HideCaseCmd.ts index 0e12521f..38337d85 100644 --- a/backend/src/plugins/ModActions/commands/HideCaseCmd.ts +++ b/backend/src/plugins/ModActions/commands/HideCaseCmd.ts @@ -1,6 +1,6 @@ -import { modActionsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { modActionsCmd } from "../types"; export const HideCaseCmd = modActionsCmd({ trigger: ["hide", "hidecase", "hide_case"], diff --git a/backend/src/plugins/ModActions/commands/KickCmd.ts b/backend/src/plugins/ModActions/commands/KickCmd.ts index d93e0369..080294d0 100644 --- a/backend/src/plugins/ModActions/commands/KickCmd.ts +++ b/backend/src/plugins/ModActions/commands/KickCmd.ts @@ -1,11 +1,6 @@ -import { modActionsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { canActOn, sendErrorMessage } from "../../../pluginUtils"; -import { resolveUser, resolveMember } from "../../../utils"; -import { MutesPlugin } from "../../../plugins/Mutes/MutesPlugin"; -import { actualUnmuteCmd } from "../functions/actualUnmuteUserCmd"; -import { isBanned } from "../functions/isBanned"; import { actualKickMemberCmd } from "../functions/actualKickMemberCmd"; +import { modActionsCmd } from "../types"; const opts = { mod: ct.member({ option: true }), diff --git a/backend/src/plugins/ModActions/commands/MassBanCmd.ts b/backend/src/plugins/ModActions/commands/MassBanCmd.ts index 758dd268..796caf19 100644 --- a/backend/src/plugins/ModActions/commands/MassBanCmd.ts +++ b/backend/src/plugins/ModActions/commands/MassBanCmd.ts @@ -1,21 +1,17 @@ -import { modActionsCmd, IgnoredEventType } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { canActOn, sendErrorMessage, hasPermission, sendSuccessMessage } from "../../../pluginUtils"; -import { resolveUser, resolveMember, stripObjectToScalars, noop, MINUTES } from "../../../utils"; -import { isBanned } from "../functions/isBanned"; -import { readContactMethodsFromArgs } from "../functions/readContactMethodsFromArgs"; -import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; -import { banUserId } from "../functions/banUserId"; -import { CaseTypes } from "../../../data/CaseTypes"; - -import { waitForReply } from "knub/dist/helpers"; -import { ignoreEvent } from "../functions/ignoreEvent"; -import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; -import { LogType } from "../../../data/LogType"; -import { performance } from "perf_hooks"; -import { humanizeDurationShort } from "../../../humanizeDurationShort"; -import { load } from "js-yaml"; import { TextChannel } from "discord.js"; +import { waitForReply } from "knub/dist/helpers"; +import { performance } from "perf_hooks"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { CaseTypes } from "../../../data/CaseTypes"; +import { LogType } from "../../../data/LogType"; +import { humanizeDurationShort } from "../../../humanizeDurationShort"; +import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; +import { canActOn, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { MINUTES, noop, stripObjectToScalars } from "../../../utils"; +import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; +import { ignoreEvent } from "../functions/ignoreEvent"; +import { IgnoredEventType, modActionsCmd } from "../types"; + export const MassbanCmd = modActionsCmd({ trigger: "massban", diff --git a/backend/src/plugins/ModActions/commands/MassUnbanCmd.ts b/backend/src/plugins/ModActions/commands/MassUnbanCmd.ts index d4673dbf..758b7817 100644 --- a/backend/src/plugins/ModActions/commands/MassUnbanCmd.ts +++ b/backend/src/plugins/ModActions/commands/MassUnbanCmd.ts @@ -1,16 +1,16 @@ -import { modActionsCmd, IgnoredEventType } from "../types"; +import { TextChannel } from "discord.js"; +import { waitForReply } from "knub/dist/helpers"; import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { CaseTypes } from "../../../data/CaseTypes"; +import { LogType } from "../../../data/LogType"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; import { stripObjectToScalars } from "../../../utils"; -import { isBanned } from "../functions/isBanned"; -import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; -import { CaseTypes } from "../../../data/CaseTypes"; - -import { waitForReply } from "knub/dist/helpers"; -import { ignoreEvent } from "../functions/ignoreEvent"; import { CasesPlugin } from "../../Cases/CasesPlugin"; -import { LogType } from "../../../data/LogType"; -import { TextChannel } from "discord.js"; +import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; +import { ignoreEvent } from "../functions/ignoreEvent"; +import { isBanned } from "../functions/isBanned"; +import { IgnoredEventType, modActionsCmd } from "../types"; + export const MassunbanCmd = modActionsCmd({ trigger: "massunban", diff --git a/backend/src/plugins/ModActions/commands/MassmuteCmd.ts b/backend/src/plugins/ModActions/commands/MassmuteCmd.ts index 15c2e90f..46c8eeea 100644 --- a/backend/src/plugins/ModActions/commands/MassmuteCmd.ts +++ b/backend/src/plugins/ModActions/commands/MassmuteCmd.ts @@ -1,14 +1,14 @@ -import { modActionsCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { canActOn, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { stripObjectToScalars } from "../../../utils"; -import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; - +import { TextChannel } from "discord.js"; import { waitForReply } from "knub/dist/helpers"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; import { LogType } from "../../../data/LogType"; import { logger } from "../../../logger"; import { MutesPlugin } from "../../../plugins/Mutes/MutesPlugin"; -import { TextChannel } from "discord.js"; +import { canActOn, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { stripObjectToScalars } from "../../../utils"; +import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; +import { modActionsCmd } from "../types"; + export const MassmuteCmd = modActionsCmd({ trigger: "massmute", diff --git a/backend/src/plugins/ModActions/commands/MuteCmd.ts b/backend/src/plugins/ModActions/commands/MuteCmd.ts index 4229bd6f..b51fbd1e 100644 --- a/backend/src/plugins/ModActions/commands/MuteCmd.ts +++ b/backend/src/plugins/ModActions/commands/MuteCmd.ts @@ -1,11 +1,11 @@ -import { modActionsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { canActOn, sendErrorMessage } from "../../../pluginUtils"; -import { noop, resolveMember, resolveUser } from "../../../utils"; -import { isBanned } from "../functions/isBanned"; - -import { actualMuteUserCmd } from "../functions/actualMuteUserCmd"; +import { resolveMember, resolveUser } from "../../../utils"; import { waitForButtonConfirm } from "../../../utils/waitForInteraction"; +import { actualMuteUserCmd } from "../functions/actualMuteUserCmd"; +import { isBanned } from "../functions/isBanned"; +import { modActionsCmd } from "../types"; + const opts = { mod: ct.member({ option: true }), diff --git a/backend/src/plugins/ModActions/commands/NoteCmd.ts b/backend/src/plugins/ModActions/commands/NoteCmd.ts index 4b31954d..c5cd7679 100644 --- a/backend/src/plugins/ModActions/commands/NoteCmd.ts +++ b/backend/src/plugins/ModActions/commands/NoteCmd.ts @@ -1,12 +1,11 @@ -import { modActionsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { Case } from "../../../data/entities/Case"; -import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; -import { CasesPlugin } from "../../Cases/CasesPlugin"; -import { LogType } from "../../../data/LogType"; import { CaseTypes } from "../../../data/CaseTypes"; +import { LogType } from "../../../data/LogType"; +import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; import { resolveUser, stripObjectToScalars } from "../../../utils"; +import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; +import { modActionsCmd } from "../types"; export const NoteCmd = modActionsCmd({ trigger: "note", diff --git a/backend/src/plugins/ModActions/commands/SoftbanCommand.ts b/backend/src/plugins/ModActions/commands/SoftbanCommand.ts index ea768f09..9bbb6415 100644 --- a/backend/src/plugins/ModActions/commands/SoftbanCommand.ts +++ b/backend/src/plugins/ModActions/commands/SoftbanCommand.ts @@ -1,7 +1,7 @@ -import { modActionsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { trimPluginDescription } from "../../../utils"; import { actualKickMemberCmd } from "../functions/actualKickMemberCmd"; +import { modActionsCmd } from "../types"; const opts = { mod: ct.member({ option: true }), diff --git a/backend/src/plugins/ModActions/commands/UnbanCmd.ts b/backend/src/plugins/ModActions/commands/UnbanCmd.ts index ada9c975..c93933f0 100644 --- a/backend/src/plugins/ModActions/commands/UnbanCmd.ts +++ b/backend/src/plugins/ModActions/commands/UnbanCmd.ts @@ -1,12 +1,12 @@ -import { modActionsCmd, IgnoredEventType } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { sendErrorMessage, hasPermission, sendSuccessMessage } from "../../../pluginUtils"; +import { CaseTypes } from "../../../data/CaseTypes"; +import { LogType } from "../../../data/LogType"; +import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; +import { hasPermission, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; import { resolveUser, stripObjectToScalars } from "../../../utils"; import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; -import { LogType } from "../../../data/LogType"; import { ignoreEvent } from "../functions/ignoreEvent"; -import { CaseTypes } from "../../../data/CaseTypes"; -import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; +import { IgnoredEventType, modActionsCmd } from "../types"; const opts = { mod: ct.member({ option: true }), diff --git a/backend/src/plugins/ModActions/commands/UnhideCaseCmd.ts b/backend/src/plugins/ModActions/commands/UnhideCaseCmd.ts index 5418b2a5..9fe9e208 100644 --- a/backend/src/plugins/ModActions/commands/UnhideCaseCmd.ts +++ b/backend/src/plugins/ModActions/commands/UnhideCaseCmd.ts @@ -1,6 +1,6 @@ -import { modActionsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { modActionsCmd } from "../types"; export const UnhideCaseCmd = modActionsCmd({ trigger: ["unhide", "unhidecase", "unhide_case"], diff --git a/backend/src/plugins/ModActions/commands/UnmuteCmd.ts b/backend/src/plugins/ModActions/commands/UnmuteCmd.ts index dae00bea..f09c2e83 100644 --- a/backend/src/plugins/ModActions/commands/UnmuteCmd.ts +++ b/backend/src/plugins/ModActions/commands/UnmuteCmd.ts @@ -1,11 +1,11 @@ -import { modActionsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { canActOn, sendErrorMessage } from "../../../pluginUtils"; -import { resolveUser, resolveMember, noop } from "../../../utils"; import { MutesPlugin } from "../../../plugins/Mutes/MutesPlugin"; +import { canActOn, sendErrorMessage } from "../../../pluginUtils"; +import { resolveMember, resolveUser } from "../../../utils"; +import { waitForButtonConfirm } from "../../../utils/waitForInteraction"; import { actualUnmuteCmd } from "../functions/actualUnmuteUserCmd"; import { isBanned } from "../functions/isBanned"; -import { waitForButtonConfirm } from "../../../utils/waitForInteraction"; +import { modActionsCmd } from "../types"; const opts = { mod: ct.member({ option: true }), diff --git a/backend/src/plugins/ModActions/commands/UpdateCmd.ts b/backend/src/plugins/ModActions/commands/UpdateCmd.ts index 6c8d78ca..3310522e 100644 --- a/backend/src/plugins/ModActions/commands/UpdateCmd.ts +++ b/backend/src/plugins/ModActions/commands/UpdateCmd.ts @@ -1,6 +1,6 @@ -import { modActionsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { updateCase } from "../functions/updateCase"; +import { modActionsCmd } from "../types"; export const UpdateCmd = modActionsCmd({ trigger: ["update", "reason"], diff --git a/backend/src/plugins/ModActions/commands/WarnCmd.ts b/backend/src/plugins/ModActions/commands/WarnCmd.ts index 37f8d814..f85e1bdb 100644 --- a/backend/src/plugins/ModActions/commands/WarnCmd.ts +++ b/backend/src/plugins/ModActions/commands/WarnCmd.ts @@ -1,17 +1,15 @@ -import { modActionsCmd } from "../types"; +import { TextChannel } from "discord.js"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { Case } from "../../../data/entities/Case"; -import { canActOn, hasPermission, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; -import { CasesPlugin } from "../../Cases/CasesPlugin"; -import { LogType } from "../../../data/LogType"; import { CaseTypes } from "../../../data/CaseTypes"; +import { canActOn, hasPermission, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; import { errorMessage, resolveMember, resolveUser } from "../../../utils"; +import { waitForButtonConfirm } from "../../../utils/waitForInteraction"; +import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { formatReasonWithAttachments } from "../functions/formatReasonWithAttachments"; import { isBanned } from "../functions/isBanned"; import { readContactMethodsFromArgs } from "../functions/readContactMethodsFromArgs"; import { warnMember } from "../functions/warnMember"; -import { TextChannel } from "discord.js"; -import { waitForButtonConfirm } from "../../../utils/waitForInteraction"; +import { modActionsCmd } from "../types"; export const WarnCmd = modActionsCmd({ trigger: "warn", diff --git a/backend/src/plugins/ModActions/events/CreateBanCaseOnManualBanEvt.ts b/backend/src/plugins/ModActions/events/CreateBanCaseOnManualBanEvt.ts index cc9b975c..997a05d7 100644 --- a/backend/src/plugins/ModActions/events/CreateBanCaseOnManualBanEvt.ts +++ b/backend/src/plugins/ModActions/events/CreateBanCaseOnManualBanEvt.ts @@ -1,14 +1,14 @@ -import { IgnoredEventType, modActionsEvt } from "../types"; -import { isEventIgnored } from "../functions/isEventIgnored"; -import { clearIgnoredEvents } from "../functions/clearIgnoredEvents"; - -import { CasesPlugin } from "../../Cases/CasesPlugin"; -import { CaseTypes } from "../../../data/CaseTypes"; -import { safeFindRelevantAuditLogEntry } from "../../../utils/safeFindRelevantAuditLogEntry"; -import { LogType } from "../../../data/LogType"; -import { stripObjectToScalars, resolveUser, UnknownUser } from "../../../utils"; -import { Case } from "../../../data/entities/Case"; import { GuildAuditLogs, User } from "discord.js"; +import { CaseTypes } from "../../../data/CaseTypes"; +import { Case } from "../../../data/entities/Case"; +import { LogType } from "../../../data/LogType"; +import { resolveUser, stripObjectToScalars, UnknownUser } from "../../../utils"; +import { safeFindRelevantAuditLogEntry } from "../../../utils/safeFindRelevantAuditLogEntry"; +import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { clearIgnoredEvents } from "../functions/clearIgnoredEvents"; +import { isEventIgnored } from "../functions/isEventIgnored"; +import { IgnoredEventType, modActionsEvt } from "../types"; + /** * Create a BAN case automatically when a user is banned manually. diff --git a/backend/src/plugins/ModActions/events/CreateKickCaseOnManualKickEvt.ts b/backend/src/plugins/ModActions/events/CreateKickCaseOnManualKickEvt.ts index 3229058d..2a6af747 100644 --- a/backend/src/plugins/ModActions/events/CreateKickCaseOnManualKickEvt.ts +++ b/backend/src/plugins/ModActions/events/CreateKickCaseOnManualKickEvt.ts @@ -1,15 +1,15 @@ -import { IgnoredEventType, modActionsEvt } from "../types"; -import { isEventIgnored } from "../functions/isEventIgnored"; -import { clearIgnoredEvents } from "../functions/clearIgnoredEvents"; - -import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { GuildAuditLogs, User } from "discord.js"; import { CaseTypes } from "../../../data/CaseTypes"; -import { logger } from "../../../logger"; +import { Case } from "../../../data/entities/Case"; import { LogType } from "../../../data/LogType"; +import { logger } from "../../../logger"; import { resolveUser, stripObjectToScalars, UnknownUser } from "../../../utils"; import { safeFindRelevantAuditLogEntry } from "../../../utils/safeFindRelevantAuditLogEntry"; -import { Case } from "../../../data/entities/Case"; -import { GuildAuditLogs, User } from "discord.js"; +import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { clearIgnoredEvents } from "../functions/clearIgnoredEvents"; +import { isEventIgnored } from "../functions/isEventIgnored"; +import { IgnoredEventType, modActionsEvt } from "../types"; + /** * Create a KICK case automatically when a user is kicked manually. diff --git a/backend/src/plugins/ModActions/events/CreateUnbanCaseOnManualUnbanEvt.ts b/backend/src/plugins/ModActions/events/CreateUnbanCaseOnManualUnbanEvt.ts index 5d684e97..d0824fe1 100644 --- a/backend/src/plugins/ModActions/events/CreateUnbanCaseOnManualUnbanEvt.ts +++ b/backend/src/plugins/ModActions/events/CreateUnbanCaseOnManualUnbanEvt.ts @@ -1,14 +1,14 @@ -import { IgnoredEventType, modActionsEvt } from "../types"; -import { isEventIgnored } from "../functions/isEventIgnored"; -import { clearIgnoredEvents } from "../functions/clearIgnoredEvents"; - -import { CasesPlugin } from "../../Cases/CasesPlugin"; -import { CaseTypes } from "../../../data/CaseTypes"; -import { safeFindRelevantAuditLogEntry } from "../../../utils/safeFindRelevantAuditLogEntry"; -import { stripObjectToScalars, resolveUser, UnknownUser } from "../../../utils"; -import { LogType } from "../../../data/LogType"; -import { Case } from "../../../data/entities/Case"; import { GuildAuditLogs, User } from "discord.js"; +import { CaseTypes } from "../../../data/CaseTypes"; +import { Case } from "../../../data/entities/Case"; +import { LogType } from "../../../data/LogType"; +import { resolveUser, stripObjectToScalars, UnknownUser } from "../../../utils"; +import { safeFindRelevantAuditLogEntry } from "../../../utils/safeFindRelevantAuditLogEntry"; +import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { clearIgnoredEvents } from "../functions/clearIgnoredEvents"; +import { isEventIgnored } from "../functions/isEventIgnored"; +import { IgnoredEventType, modActionsEvt } from "../types"; + /** * Create an UNBAN case automatically when a user is unbanned manually. diff --git a/backend/src/plugins/ModActions/events/PostAlertOnMemberJoinEvt.ts b/backend/src/plugins/ModActions/events/PostAlertOnMemberJoinEvt.ts index d13ecef4..c17a7ad1 100644 --- a/backend/src/plugins/ModActions/events/PostAlertOnMemberJoinEvt.ts +++ b/backend/src/plugins/ModActions/events/PostAlertOnMemberJoinEvt.ts @@ -1,10 +1,10 @@ -import { modActionsEvt } from "../types"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { Permissions, TextChannel } from "discord.js"; import { LogType } from "../../../data/LogType"; - import { resolveMember } from "../../../utils"; import { hasDiscordPermissions } from "../../../utils/hasDiscordPermissions"; -import { TextChannel, Constants, Permissions } from "discord.js"; +import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { modActionsEvt } from "../types"; + /** * Show an alert if a member with prior notes joins the server diff --git a/backend/src/plugins/ModActions/functions/actualKickMemberCmd.ts b/backend/src/plugins/ModActions/functions/actualKickMemberCmd.ts index 290996b0..06820890 100644 --- a/backend/src/plugins/ModActions/functions/actualKickMemberCmd.ts +++ b/backend/src/plugins/ModActions/functions/actualKickMemberCmd.ts @@ -1,15 +1,15 @@ -import { LogType } from "../../../data/LogType"; -import { IgnoredEventType, ModActionsPluginType } from "../types"; -import { errorMessage, resolveUser, resolveMember } from "../../../utils"; +import { GuildMember, TextChannel } from "discord.js"; import { GuildPluginData } from "knub"; -import { sendErrorMessage, canActOn, sendSuccessMessage } from "../../../pluginUtils"; import { hasPermission } from "knub/dist/helpers"; -import { readContactMethodsFromArgs } from "./readContactMethodsFromArgs"; +import { LogType } from "../../../data/LogType"; +import { canActOn, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { errorMessage, resolveMember, resolveUser } from "../../../utils"; +import { IgnoredEventType, ModActionsPluginType } from "../types"; import { formatReasonWithAttachments } from "./formatReasonWithAttachments"; -import { kickMember } from "./kickMember"; import { ignoreEvent } from "./ignoreEvent"; import { isBanned } from "./isBanned"; -import { GuildMember, TextChannel } from "discord.js"; +import { kickMember } from "./kickMember"; +import { readContactMethodsFromArgs } from "./readContactMethodsFromArgs"; export async function actualKickMemberCmd( pluginData: GuildPluginData, diff --git a/backend/src/plugins/ModActions/functions/actualMuteUserCmd.ts b/backend/src/plugins/ModActions/functions/actualMuteUserCmd.ts index 203913b0..b5ff7ed1 100644 --- a/backend/src/plugins/ModActions/functions/actualMuteUserCmd.ts +++ b/backend/src/plugins/ModActions/functions/actualMuteUserCmd.ts @@ -1,15 +1,15 @@ -import { asSingleLine, isDiscordRESTError, UnknownUser } from "../../../utils"; -import { hasPermission, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { GuildPluginData } from "knub"; -import { ModActionsPluginType } from "../types"; +import { GuildMember, Message, TextChannel, User } from "discord.js"; import humanizeDuration from "humanize-duration"; -import { formatReasonWithAttachments } from "./formatReasonWithAttachments"; -import { MuteResult } from "../../Mutes/types"; -import { MutesPlugin } from "../../Mutes/MutesPlugin"; -import { readContactMethodsFromArgs } from "./readContactMethodsFromArgs"; -import { ERRORS, RecoverablePluginError } from "../../../RecoverablePluginError"; +import { GuildPluginData } from "knub"; import { logger } from "../../../logger"; -import { User, Message, TextChannel, GuildMember } from "discord.js"; +import { hasPermission, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { ERRORS, RecoverablePluginError } from "../../../RecoverablePluginError"; +import { asSingleLine, isDiscordRESTError, UnknownUser } from "../../../utils"; +import { MutesPlugin } from "../../Mutes/MutesPlugin"; +import { MuteResult } from "../../Mutes/types"; +import { ModActionsPluginType } from "../types"; +import { formatReasonWithAttachments } from "./formatReasonWithAttachments"; +import { readContactMethodsFromArgs } from "./readContactMethodsFromArgs"; /** * The actual function run by both !mute and !forcemute. diff --git a/backend/src/plugins/ModActions/functions/actualUnmuteUserCmd.ts b/backend/src/plugins/ModActions/functions/actualUnmuteUserCmd.ts index 72950b82..6b6ddd91 100644 --- a/backend/src/plugins/ModActions/functions/actualUnmuteUserCmd.ts +++ b/backend/src/plugins/ModActions/functions/actualUnmuteUserCmd.ts @@ -1,12 +1,12 @@ -import { GuildPluginData } from "knub"; -import { ModActionsPluginType } from "../types"; - -import { UnknownUser, asSingleLine } from "../../../utils"; -import { sendErrorMessage, sendSuccessMessage, hasPermission } from "../../../pluginUtils"; -import { formatReasonWithAttachments } from "./formatReasonWithAttachments"; -import { MutesPlugin } from "../../../plugins/Mutes/MutesPlugin"; +import { GuildMember, Message, TextChannel, User } from "discord.js"; import humanizeDuration from "humanize-duration"; -import { User, Message, GuildMember, TextChannel } from "discord.js"; +import { GuildPluginData } from "knub"; +import { MutesPlugin } from "../../../plugins/Mutes/MutesPlugin"; +import { hasPermission, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { asSingleLine, UnknownUser } from "../../../utils"; +import { ModActionsPluginType } from "../types"; +import { formatReasonWithAttachments } from "./formatReasonWithAttachments"; + export async function actualUnmuteCmd( pluginData: GuildPluginData, diff --git a/backend/src/plugins/ModActions/functions/banUserId.ts b/backend/src/plugins/ModActions/functions/banUserId.ts index e1da2e2d..b6bea1aa 100644 --- a/backend/src/plugins/ModActions/functions/banUserId.ts +++ b/backend/src/plugins/ModActions/functions/banUserId.ts @@ -1,23 +1,23 @@ -import { GuildPluginData } from "knub"; -import { BanOptions, BanResult, IgnoredEventType, ModActionsPluginType } from "../types"; -import { - createUserNotificationError, - notifyUser, - resolveUser, - stripObjectToScalars, - ucfirst, - UserNotificationResult, -} from "../../../utils"; - -import { renderTemplate } from "../../../templateFormatter"; -import { getDefaultContactMethods } from "./getDefaultContactMethods"; -import { LogType } from "../../../data/LogType"; -import { ignoreEvent } from "./ignoreEvent"; -import { CasesPlugin } from "../../Cases/CasesPlugin"; -import { CaseTypes } from "../../../data/CaseTypes"; -import { logger } from "../../../logger"; -import humanizeDuration from "humanize-duration"; import { DiscordAPIError, User } from "discord.js"; +import humanizeDuration from "humanize-duration"; +import { GuildPluginData } from "knub"; +import { CaseTypes } from "../../../data/CaseTypes"; +import { LogType } from "../../../data/LogType"; +import { logger } from "../../../logger"; +import { renderTemplate } from "../../../templateFormatter"; +import { + createUserNotificationError, + notifyUser, + resolveUser, + stripObjectToScalars, + ucfirst, + UserNotificationResult +} from "../../../utils"; +import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { BanOptions, BanResult, IgnoredEventType, ModActionsPluginType } from "../types"; +import { getDefaultContactMethods } from "./getDefaultContactMethods"; +import { ignoreEvent } from "./ignoreEvent"; + /** * Ban the specified user id, whether or not they're actually on the server at the time. Generates a case. diff --git a/backend/src/plugins/ModActions/functions/getDefaultContactMethods.ts b/backend/src/plugins/ModActions/functions/getDefaultContactMethods.ts index 68078a88..a4d9d75c 100644 --- a/backend/src/plugins/ModActions/functions/getDefaultContactMethods.ts +++ b/backend/src/plugins/ModActions/functions/getDefaultContactMethods.ts @@ -1,7 +1,7 @@ -import { GuildPluginData } from "knub"; -import { ModActionsPluginType } from "../types"; -import { UserNotificationMethod } from "../../../utils"; import { TextChannel } from "discord.js"; +import { GuildPluginData } from "knub"; +import { UserNotificationMethod } from "../../../utils"; +import { ModActionsPluginType } from "../types"; export function getDefaultContactMethods( pluginData: GuildPluginData, diff --git a/backend/src/plugins/ModActions/functions/ignoreEvent.ts b/backend/src/plugins/ModActions/functions/ignoreEvent.ts index 6f97e84f..71c25362 100644 --- a/backend/src/plugins/ModActions/functions/ignoreEvent.ts +++ b/backend/src/plugins/ModActions/functions/ignoreEvent.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; -import { IgnoredEventType, ModActionsPluginType } from "../types"; import { SECONDS } from "../../../utils"; +import { IgnoredEventType, ModActionsPluginType } from "../types"; import { clearIgnoredEvents } from "./clearIgnoredEvents"; const DEFAULT_TIMEOUT = 15 * SECONDS; diff --git a/backend/src/plugins/ModActions/functions/isBanned.ts b/backend/src/plugins/ModActions/functions/isBanned.ts index 1be820fa..de419db4 100644 --- a/backend/src/plugins/ModActions/functions/isBanned.ts +++ b/backend/src/plugins/ModActions/functions/isBanned.ts @@ -1,10 +1,10 @@ -import { GuildPluginData } from "knub"; -import { ModActionsPluginType } from "../types"; -import { isDiscordHTTPError, isDiscordRESTError, SECONDS, sleep } from "../../../utils"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; -import { LogType } from "../../../data/LogType"; -import { hasDiscordPermissions } from "../../../utils/hasDiscordPermissions"; import { Permissions } from "discord.js"; +import { GuildPluginData } from "knub"; +import { LogType } from "../../../data/LogType"; +import { isDiscordHTTPError, isDiscordRESTError, SECONDS, sleep } from "../../../utils"; +import { hasDiscordPermissions } from "../../../utils/hasDiscordPermissions"; +import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { ModActionsPluginType } from "../types"; export async function isBanned( pluginData: GuildPluginData, diff --git a/backend/src/plugins/ModActions/functions/kickMember.ts b/backend/src/plugins/ModActions/functions/kickMember.ts index 175a480e..09fbb9f5 100644 --- a/backend/src/plugins/ModActions/functions/kickMember.ts +++ b/backend/src/plugins/ModActions/functions/kickMember.ts @@ -1,21 +1,21 @@ -import { GuildPluginData } from "knub"; -import { IgnoredEventType, KickOptions, KickResult, ModActionsPluginType } from "../types"; - -import { - createUserNotificationError, - notifyUser, - resolveUser, - stripObjectToScalars, - ucfirst, - UserNotificationResult, -} from "../../../utils"; -import { renderTemplate } from "../../../templateFormatter"; -import { getDefaultContactMethods } from "./getDefaultContactMethods"; -import { LogType } from "../../../data/LogType"; -import { ignoreEvent } from "./ignoreEvent"; -import { CaseTypes } from "../../../data/CaseTypes"; -import { CasesPlugin } from "../../Cases/CasesPlugin"; import { GuildMember } from "discord.js"; +import { GuildPluginData } from "knub"; +import { CaseTypes } from "../../../data/CaseTypes"; +import { LogType } from "../../../data/LogType"; +import { renderTemplate } from "../../../templateFormatter"; +import { + createUserNotificationError, + notifyUser, + resolveUser, + stripObjectToScalars, + ucfirst, + UserNotificationResult +} from "../../../utils"; +import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { IgnoredEventType, KickOptions, KickResult, ModActionsPluginType } from "../types"; +import { getDefaultContactMethods } from "./getDefaultContactMethods"; +import { ignoreEvent } from "./ignoreEvent"; + /** * Kick the specified server member. Generates a case. diff --git a/backend/src/plugins/ModActions/functions/outdatedTempbansLoop.ts b/backend/src/plugins/ModActions/functions/outdatedTempbansLoop.ts index bb7fe336..510c9625 100644 --- a/backend/src/plugins/ModActions/functions/outdatedTempbansLoop.ts +++ b/backend/src/plugins/ModActions/functions/outdatedTempbansLoop.ts @@ -1,15 +1,15 @@ -import { resolveUser, SECONDS, stripObjectToScalars } from "../../../utils"; +import humanizeDuration from "humanize-duration"; import { GuildPluginData } from "knub"; -import { IgnoredEventType, ModActionsPluginType } from "../types"; +import moment from "moment-timezone"; import { LogType } from "src/data/LogType"; +import { logger } from "src/logger"; +import { CaseTypes } from "../../../data/CaseTypes"; +import { resolveUser, SECONDS, stripObjectToScalars } from "../../../utils"; +import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { IgnoredEventType, ModActionsPluginType } from "../types"; import { formatReasonWithAttachments } from "./formatReasonWithAttachments"; import { ignoreEvent } from "./ignoreEvent"; import { isBanned } from "./isBanned"; -import { logger } from "src/logger"; -import { CasesPlugin } from "../../Cases/CasesPlugin"; -import { CaseTypes } from "../../../data/CaseTypes"; -import moment from "moment-timezone"; -import humanizeDuration from "humanize-duration"; const TEMPBAN_LOOP_TIME = 60 * SECONDS; diff --git a/backend/src/plugins/ModActions/functions/warnMember.ts b/backend/src/plugins/ModActions/functions/warnMember.ts index af6e267e..1be237c4 100644 --- a/backend/src/plugins/ModActions/functions/warnMember.ts +++ b/backend/src/plugins/ModActions/functions/warnMember.ts @@ -1,21 +1,21 @@ +import { GuildMember } from "discord.js"; import { GuildPluginData } from "knub"; -import { ModActionsPluginType, WarnOptions, WarnResult } from "../types"; - -import { getDefaultContactMethods } from "./getDefaultContactMethods"; -import { - createUserNotificationError, - notifyUser, - resolveUser, - stripObjectToScalars, - ucfirst, - UserNotificationResult, -} from "../../../utils"; -import { CasesPlugin } from "../../Cases/CasesPlugin"; import { CaseTypes } from "../../../data/CaseTypes"; import { LogType } from "../../../data/LogType"; import { renderTemplate } from "../../../templateFormatter"; -import { GuildMember, MessageOptions } from "discord.js"; +import { + createUserNotificationError, + notifyUser, + resolveUser, + stripObjectToScalars, + ucfirst, + UserNotificationResult +} from "../../../utils"; import { waitForButtonConfirm } from "../../../utils/waitForInteraction"; +import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { ModActionsPluginType, WarnOptions, WarnResult } from "../types"; +import { getDefaultContactMethods } from "./getDefaultContactMethods"; + export async function warnMember( pluginData: GuildPluginData, diff --git a/backend/src/plugins/ModActions/types.ts b/backend/src/plugins/ModActions/types.ts index 08c1314a..b8c07270 100644 --- a/backend/src/plugins/ModActions/types.ts +++ b/backend/src/plugins/ModActions/types.ts @@ -1,17 +1,17 @@ +import { TextChannel } from "discord.js"; +import { EventEmitter } from "events"; import * as t from "io-ts"; -import { tNullable, UserNotificationMethod, UserNotificationResult } from "../../utils"; import { BasePluginType, typedGuildCommand, typedGuildEventListener } from "knub"; -import { GuildMutes } from "../../data/GuildMutes"; +import { Case } from "../../data/entities/Case"; import { GuildCases } from "../../data/GuildCases"; import { GuildLogs } from "../../data/GuildLogs"; -import { Case } from "../../data/entities/Case"; +import { GuildMutes } from "../../data/GuildMutes"; +import { GuildTempbans } from "../../data/GuildTempbans"; +import { Queue } from "../../Queue"; +import { tNullable, UserNotificationMethod, UserNotificationResult } from "../../utils"; import { CaseArgs } from "../Cases/types"; -import { GuildTempbans } from "../../data/GuildTempbans"; import Timeout = NodeJS.Timeout; -import { EventEmitter } from "events"; -import { Queue } from "../../Queue"; -import { TextChannel } from "discord.js"; export const ConfigSchema = t.type({ dm_on_warn: t.boolean, diff --git a/backend/src/plugins/Mutes/MutesPlugin.ts b/backend/src/plugins/Mutes/MutesPlugin.ts index acb16e44..23205f10 100644 --- a/backend/src/plugins/Mutes/MutesPlugin.ts +++ b/backend/src/plugins/Mutes/MutesPlugin.ts @@ -1,26 +1,27 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { ConfigSchema, MuteOptions, MutesPluginType } from "./types"; -import { CasesPlugin } from "../Cases/CasesPlugin"; -import { GuildMutes } from "../../data/GuildMutes"; +import { GuildMember } from "discord.js"; +import { EventEmitter } from "events"; +import { GuildArchives } from "../../data/GuildArchives"; import { GuildCases } from "../../data/GuildCases"; import { GuildLogs } from "../../data/GuildLogs"; -import { GuildArchives } from "../../data/GuildArchives"; -import { clearExpiredMutes } from "./functions/clearExpiredMutes"; -import { MutesCmd } from "./commands/MutesCmd"; -import { ClearBannedMutesCmd } from "./commands/ClearBannedMutesCmd"; -import { ClearActiveMuteOnRoleRemovalEvt } from "./events/ClearActiveMuteOnRoleRemovalEvt"; -import { ClearMutesWithoutRoleCmd } from "./commands/ClearMutesWithoutRoleCmd"; -import { ClearMutesCmd } from "./commands/ClearMutesCmd"; -import { muteUser } from "./functions/muteUser"; -import { unmuteUser } from "./functions/unmuteUser"; - -import { ClearActiveMuteOnMemberBanEvt } from "./events/ClearActiveMuteOnMemberBanEvt"; -import { ReapplyActiveMuteOnJoinEvt } from "./events/ReapplyActiveMuteOnJoinEvt"; +import { GuildMutes } from "../../data/GuildMutes"; import { mapToPublicFn } from "../../pluginUtils"; -import { EventEmitter } from "events"; -import { onMutesEvent } from "./functions/onMutesEvent"; +import { CasesPlugin } from "../Cases/CasesPlugin"; +import { LogsPlugin } from "../Logs/LogsPlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { ClearBannedMutesCmd } from "./commands/ClearBannedMutesCmd"; +import { ClearMutesCmd } from "./commands/ClearMutesCmd"; +import { ClearMutesWithoutRoleCmd } from "./commands/ClearMutesWithoutRoleCmd"; +import { MutesCmd } from "./commands/MutesCmd"; +import { ClearActiveMuteOnMemberBanEvt } from "./events/ClearActiveMuteOnMemberBanEvt"; +import { ClearActiveMuteOnRoleRemovalEvt } from "./events/ClearActiveMuteOnRoleRemovalEvt"; +import { ReapplyActiveMuteOnJoinEvt } from "./events/ReapplyActiveMuteOnJoinEvt"; +import { clearExpiredMutes } from "./functions/clearExpiredMutes"; +import { muteUser } from "./functions/muteUser"; import { offMutesEvent } from "./functions/offMutesEvent"; -import { GuildMember } from "discord.js"; +import { onMutesEvent } from "./functions/onMutesEvent"; +import { unmuteUser } from "./functions/unmuteUser"; +import { ConfigSchema, MutesPluginType } from "./types"; + const defaultOptions = { config: { @@ -72,7 +73,7 @@ export const MutesPlugin = zeppelinGuildPlugin()({ configSchema: ConfigSchema, defaultOptions, - dependencies: [CasesPlugin], + dependencies: [CasesPlugin, LogsPlugin], // prettier-ignore commands: [ diff --git a/backend/src/plugins/Mutes/commands/ClearBannedMutesCmd.ts b/backend/src/plugins/Mutes/commands/ClearBannedMutesCmd.ts index c2fbc844..537450a6 100644 --- a/backend/src/plugins/Mutes/commands/ClearBannedMutesCmd.ts +++ b/backend/src/plugins/Mutes/commands/ClearBannedMutesCmd.ts @@ -1,7 +1,7 @@ +import { User } from "discord.js"; +import { sendSuccessMessage } from "../../../pluginUtils"; import { mutesCmd } from "../types"; -import { sendSuccessMessage } from "../../../pluginUtils"; -import { User } from "discord.js"; export const ClearBannedMutesCmd = mutesCmd({ trigger: "clear_banned_mutes", diff --git a/backend/src/plugins/Mutes/commands/ClearMutesCmd.ts b/backend/src/plugins/Mutes/commands/ClearMutesCmd.ts index 7a07efb7..3021a7a7 100644 --- a/backend/src/plugins/Mutes/commands/ClearMutesCmd.ts +++ b/backend/src/plugins/Mutes/commands/ClearMutesCmd.ts @@ -1,6 +1,6 @@ -import { mutesCmd } from "../types"; -import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { mutesCmd } from "../types"; export const ClearMutesCmd = mutesCmd({ trigger: "clear_mutes", diff --git a/backend/src/plugins/Mutes/commands/ClearMutesWithoutRoleCmd.ts b/backend/src/plugins/Mutes/commands/ClearMutesWithoutRoleCmd.ts index 08aebe63..eec295c5 100644 --- a/backend/src/plugins/Mutes/commands/ClearMutesWithoutRoleCmd.ts +++ b/backend/src/plugins/Mutes/commands/ClearMutesWithoutRoleCmd.ts @@ -1,6 +1,6 @@ -import { mutesCmd } from "../types"; import { sendSuccessMessage } from "../../../pluginUtils"; import { resolveMember } from "../../../utils"; +import { mutesCmd } from "../types"; export const ClearMutesWithoutRoleCmd = mutesCmd({ trigger: "clear_mutes_without_role", diff --git a/backend/src/plugins/Mutes/commands/MutesCmd.ts b/backend/src/plugins/Mutes/commands/MutesCmd.ts index 276a6227..10c2d2e3 100644 --- a/backend/src/plugins/Mutes/commands/MutesCmd.ts +++ b/backend/src/plugins/Mutes/commands/MutesCmd.ts @@ -1,10 +1,10 @@ -import { IMuteWithDetails, mutesCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { DBDateFormat, isFullMessage, MINUTES, noop, resolveMember } from "../../../utils"; +import { GuildMember } from "discord.js"; import moment from "moment-timezone"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; import { humanizeDurationShort } from "../../../humanizeDurationShort"; import { getBaseUrl } from "../../../pluginUtils"; -import { GuildMember } from "discord.js"; +import { DBDateFormat, isFullMessage, MINUTES, noop, resolveMember } from "../../../utils"; +import { IMuteWithDetails, mutesCmd } from "../types"; export const MutesCmd = mutesCmd({ trigger: "mutes", diff --git a/backend/src/plugins/Mutes/events/ClearActiveMuteOnRoleRemovalEvt.ts b/backend/src/plugins/Mutes/events/ClearActiveMuteOnRoleRemovalEvt.ts index f3b4eeed..4b8aa784 100644 --- a/backend/src/plugins/Mutes/events/ClearActiveMuteOnRoleRemovalEvt.ts +++ b/backend/src/plugins/Mutes/events/ClearActiveMuteOnRoleRemovalEvt.ts @@ -1,5 +1,5 @@ -import { mutesEvt } from "../types"; import { memberHasMutedRole } from "../functions/memberHasMutedRole"; +import { mutesEvt } from "../types"; /** * Clear active mute if the mute role is removed manually diff --git a/backend/src/plugins/Mutes/events/ReapplyActiveMuteOnJoinEvt.ts b/backend/src/plugins/Mutes/events/ReapplyActiveMuteOnJoinEvt.ts index 729392b8..a1a942fa 100644 --- a/backend/src/plugins/Mutes/events/ReapplyActiveMuteOnJoinEvt.ts +++ b/backend/src/plugins/Mutes/events/ReapplyActiveMuteOnJoinEvt.ts @@ -1,7 +1,7 @@ -import { mutesEvt } from "../types"; import { LogType } from "../../../data/LogType"; import { stripObjectToScalars } from "../../../utils"; import { memberRolesLock } from "../../../utils/lockNameHelpers"; +import { mutesEvt } from "../types"; /** * Reapply active mutes on join diff --git a/backend/src/plugins/Mutes/functions/clearExpiredMutes.ts b/backend/src/plugins/Mutes/functions/clearExpiredMutes.ts index 7db4e807..233906a2 100644 --- a/backend/src/plugins/Mutes/functions/clearExpiredMutes.ts +++ b/backend/src/plugins/Mutes/functions/clearExpiredMutes.ts @@ -1,9 +1,9 @@ import { GuildPluginData } from "knub"; -import { MutesPluginType } from "../types"; import { LogType } from "../../../data/LogType"; import { resolveMember, stripObjectToScalars, UnknownUser } from "../../../utils"; - import { memberRolesLock } from "../../../utils/lockNameHelpers"; +import { MutesPluginType } from "../types"; + export async function clearExpiredMutes(pluginData: GuildPluginData) { const expiredMutes = await pluginData.state.mutes.getExpiredMutes(); diff --git a/backend/src/plugins/Mutes/functions/muteUser.ts b/backend/src/plugins/Mutes/functions/muteUser.ts index 15bef04f..6d26d661 100644 --- a/backend/src/plugins/Mutes/functions/muteUser.ts +++ b/backend/src/plugins/Mutes/functions/muteUser.ts @@ -1,25 +1,29 @@ -import { GuildPluginData } from "knub"; -import { MuteOptions, MutesPluginType } from "../types"; -import { ERRORS, RecoverablePluginError } from "../../../RecoverablePluginError"; -import humanizeDuration from "humanize-duration"; -import { - notifyUser, - resolveUser, - stripObjectToScalars, - ucfirst, - UserNotificationResult, - resolveMember, - UserNotificationMethod, -} from "../../../utils"; -import { renderTemplate } from "../../../templateFormatter"; - -import { CasesPlugin } from "../../Cases/CasesPlugin"; -import { CaseTypes } from "../../../data/CaseTypes"; -import { LogType } from "../../../data/LogType"; -import { Case } from "../../../data/entities/Case"; -import { LogsPlugin } from "../../../plugins/Logs/LogsPlugin"; -import { muteLock } from "../../../utils/lockNameHelpers"; import { TextChannel, User } from "discord.js"; +import humanizeDuration from "humanize-duration"; +import { GuildPluginData } from "knub"; +import { CaseTypes } from "../../../data/CaseTypes"; +import { Case } from "../../../data/entities/Case"; +import { LogType } from "../../../data/LogType"; +import { LogsPlugin } from "../../../plugins/Logs/LogsPlugin"; +import { ERRORS, RecoverablePluginError } from "../../../RecoverablePluginError"; +import { renderTemplate } from "../../../templateFormatter"; +import { + notifyUser, + + + + + resolveMember, resolveUser, + stripObjectToScalars, + ucfirst, + + + UserNotificationMethod, UserNotificationResult +} from "../../../utils"; +import { muteLock } from "../../../utils/lockNameHelpers"; +import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { MuteOptions, MutesPluginType } from "../types"; + export async function muteUser( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Mutes/functions/unmuteUser.ts b/backend/src/plugins/Mutes/functions/unmuteUser.ts index 0fa81dcb..72201eae 100644 --- a/backend/src/plugins/Mutes/functions/unmuteUser.ts +++ b/backend/src/plugins/Mutes/functions/unmuteUser.ts @@ -1,14 +1,14 @@ -import { GuildPluginData } from "knub"; -import { MutesPluginType, UnmuteResult } from "../types"; -import { CaseArgs } from "../../Cases/types"; -import { resolveUser, stripObjectToScalars, resolveMember } from "../../../utils"; -import { memberHasMutedRole } from "./memberHasMutedRole"; import humanizeDuration from "humanize-duration"; -import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { GuildPluginData } from "knub"; import { CaseTypes } from "../../../data/CaseTypes"; import { LogType } from "../../../data/LogType"; - +import { resolveMember, resolveUser, stripObjectToScalars } from "../../../utils"; import { memberRolesLock } from "../../../utils/lockNameHelpers"; +import { CasesPlugin } from "../../Cases/CasesPlugin"; +import { CaseArgs } from "../../Cases/types"; +import { MutesPluginType, UnmuteResult } from "../types"; +import { memberHasMutedRole } from "./memberHasMutedRole"; + export async function unmuteUser( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Mutes/types.ts b/backend/src/plugins/Mutes/types.ts index 9fc62f46..c0afcc18 100644 --- a/backend/src/plugins/Mutes/types.ts +++ b/backend/src/plugins/Mutes/types.ts @@ -1,17 +1,17 @@ -import * as t from "io-ts"; -import { tNullable, UserNotificationMethod, UserNotificationResult } from "../../utils"; -import { Mute } from "../../data/entities/Mute"; - -import { Case } from "../../data/entities/Case"; -import { BasePluginType, typedGuildCommand, typedGuildEventListener } from "knub"; -import { GuildLogs } from "../../data/GuildLogs"; -import { GuildCases } from "../../data/GuildCases"; -import { GuildArchives } from "../../data/GuildArchives"; -import { GuildMutes } from "../../data/GuildMutes"; -import { CaseArgs } from "../Cases/types"; -import Timeout = NodeJS.Timeout; -import { EventEmitter } from "events"; import { GuildMember } from "discord.js"; +import { EventEmitter } from "events"; +import * as t from "io-ts"; +import { BasePluginType, typedGuildCommand, typedGuildEventListener } from "knub"; +import { Case } from "../../data/entities/Case"; +import { Mute } from "../../data/entities/Mute"; +import { GuildArchives } from "../../data/GuildArchives"; +import { GuildCases } from "../../data/GuildCases"; +import { GuildLogs } from "../../data/GuildLogs"; +import { GuildMutes } from "../../data/GuildMutes"; +import { tNullable, UserNotificationMethod, UserNotificationResult } from "../../utils"; +import { CaseArgs } from "../Cases/types"; + +import Timeout = NodeJS.Timeout; export const ConfigSchema = t.type({ mute_role: tNullable(t.string), diff --git a/backend/src/plugins/NameHistory/NameHistoryPlugin.ts b/backend/src/plugins/NameHistory/NameHistoryPlugin.ts index af95ea7a..250cace5 100644 --- a/backend/src/plugins/NameHistory/NameHistoryPlugin.ts +++ b/backend/src/plugins/NameHistory/NameHistoryPlugin.ts @@ -1,11 +1,11 @@ import { PluginOptions } from "knub"; -import { ConfigSchema, NameHistoryPluginType } from "./types"; -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { GuildNicknameHistory } from "../../data/GuildNicknameHistory"; import { UsernameHistory } from "../../data/UsernameHistory"; import { Queue } from "../../Queue"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { NamesCmd } from "./commands/NamesCmd"; import { ChannelJoinEvt, MessageCreateEvt } from "./events/UpdateNameEvts"; +import { ConfigSchema, NameHistoryPluginType } from "./types"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/NameHistory/commands/NamesCmd.ts b/backend/src/plugins/NameHistory/commands/NamesCmd.ts index 90cf80ee..a6f722c7 100644 --- a/backend/src/plugins/NameHistory/commands/NamesCmd.ts +++ b/backend/src/plugins/NameHistory/commands/NamesCmd.ts @@ -1,11 +1,11 @@ -import { nameHistoryCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; import { createChunkedMessage, disableCodeBlocks } from "knub/dist/helpers"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; import { NICKNAME_RETENTION_PERIOD } from "../../../data/cleanup/nicknames"; -import { DAYS } from "../../../utils"; import { MAX_NICKNAME_ENTRIES_PER_USER } from "../../../data/GuildNicknameHistory"; import { MAX_USERNAME_ENTRIES_PER_USER } from "../../../data/UsernameHistory"; import { sendErrorMessage } from "../../../pluginUtils"; +import { DAYS } from "../../../utils"; +import { nameHistoryCmd } from "../types"; export const NamesCmd = nameHistoryCmd({ trigger: "names", diff --git a/backend/src/plugins/Persist/PersistPlugin.ts b/backend/src/plugins/Persist/PersistPlugin.ts index 25b74d11..ede40235 100644 --- a/backend/src/plugins/Persist/PersistPlugin.ts +++ b/backend/src/plugins/Persist/PersistPlugin.ts @@ -1,12 +1,12 @@ import { PluginOptions } from "knub"; -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { ConfigSchema, PersistPluginType } from "./types"; -import { GuildPersistedData } from "../../data/GuildPersistedData"; import { GuildLogs } from "../../data/GuildLogs"; -import { StoreDataEvt } from "./events/StoreDataEvt"; -import { LoadDataEvt } from "./events/LoadDataEvt"; +import { GuildPersistedData } from "../../data/GuildPersistedData"; import { trimPluginDescription } from "../../utils"; import { LogsPlugin } from "../Logs/LogsPlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { LoadDataEvt } from "./events/LoadDataEvt"; +import { StoreDataEvt } from "./events/StoreDataEvt"; +import { ConfigSchema, PersistPluginType } from "./types"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/Persist/events/LoadDataEvt.ts b/backend/src/plugins/Persist/events/LoadDataEvt.ts index 091c8fac..251c8164 100644 --- a/backend/src/plugins/Persist/events/LoadDataEvt.ts +++ b/backend/src/plugins/Persist/events/LoadDataEvt.ts @@ -1,14 +1,14 @@ -import { persistEvt } from "../types"; - +import { GuildMemberEditData, Permissions } from "discord.js"; import intersection from "lodash.intersection"; import { LogType } from "../../../data/LogType"; import { stripObjectToScalars } from "../../../utils"; -import { getMissingPermissions } from "../../../utils/getMissingPermissions"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; -import { missingPermissionError } from "../../../utils/missingPermissionError"; import { canAssignRole } from "../../../utils/canAssignRole"; +import { getMissingPermissions } from "../../../utils/getMissingPermissions"; import { memberRolesLock } from "../../../utils/lockNameHelpers"; -import { GuildMemberEditData, Permissions } from "discord.js"; +import { missingPermissionError } from "../../../utils/missingPermissionError"; +import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { persistEvt } from "../types"; + const p = Permissions.FLAGS; diff --git a/backend/src/plugins/Persist/events/StoreDataEvt.ts b/backend/src/plugins/Persist/events/StoreDataEvt.ts index 0bc95404..2f43fac5 100644 --- a/backend/src/plugins/Persist/events/StoreDataEvt.ts +++ b/backend/src/plugins/Persist/events/StoreDataEvt.ts @@ -1,8 +1,8 @@ -import { persistEvt } from "../types"; -import { IPartialPersistData } from "../../../data/GuildPersistedData"; - -import intersection from "lodash.intersection"; import { GuildMember } from "discord.js"; +import intersection from "lodash.intersection"; +import { IPartialPersistData } from "../../../data/GuildPersistedData"; +import { persistEvt } from "../types"; + export const StoreDataEvt = persistEvt({ event: "guildMemberRemove", diff --git a/backend/src/plugins/Persist/types.ts b/backend/src/plugins/Persist/types.ts index 2c360daf..8475f4be 100644 --- a/backend/src/plugins/Persist/types.ts +++ b/backend/src/plugins/Persist/types.ts @@ -1,7 +1,7 @@ import * as t from "io-ts"; import { BasePluginType, typedGuildEventListener } from "knub"; -import { GuildPersistedData } from "../../data/GuildPersistedData"; import { GuildLogs } from "../../data/GuildLogs"; +import { GuildPersistedData } from "../../data/GuildPersistedData"; export const ConfigSchema = t.type({ persisted_roles: t.array(t.string), diff --git a/backend/src/plugins/PingableRoles/PingableRolesPlugin.ts b/backend/src/plugins/PingableRoles/PingableRolesPlugin.ts index de1fa15c..8b4f8e61 100644 --- a/backend/src/plugins/PingableRoles/PingableRolesPlugin.ts +++ b/backend/src/plugins/PingableRoles/PingableRolesPlugin.ts @@ -1,10 +1,10 @@ import { PluginOptions } from "knub"; -import { ConfigSchema, PingableRolesPluginType } from "./types"; -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { GuildPingableRoles } from "../../data/GuildPingableRoles"; -import { PingableRoleEnableCmd } from "./commands/PingableRoleEnableCmd"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { PingableRoleDisableCmd } from "./commands/PingableRoleDisableCmd"; +import { PingableRoleEnableCmd } from "./commands/PingableRoleEnableCmd"; import { MessageCreateDisablePingableEvt, TypingEnablePingableEvt } from "./events/ChangePingableEvts"; +import { ConfigSchema, PingableRolesPluginType } from "./types"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/PingableRoles/commands/PingableRoleDisableCmd.ts b/backend/src/plugins/PingableRoles/commands/PingableRoleDisableCmd.ts index 02dc86cf..41709ffc 100644 --- a/backend/src/plugins/PingableRoles/commands/PingableRoleDisableCmd.ts +++ b/backend/src/plugins/PingableRoles/commands/PingableRoleDisableCmd.ts @@ -1,6 +1,6 @@ import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { pingableRolesCmd } from "../types"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { pingableRolesCmd } from "../types"; export const PingableRoleDisableCmd = pingableRolesCmd({ trigger: ["pingable_role disable", "pingable_role d"], diff --git a/backend/src/plugins/PingableRoles/commands/PingableRoleEnableCmd.ts b/backend/src/plugins/PingableRoles/commands/PingableRoleEnableCmd.ts index 6cf6ef8d..30077e09 100644 --- a/backend/src/plugins/PingableRoles/commands/PingableRoleEnableCmd.ts +++ b/backend/src/plugins/PingableRoles/commands/PingableRoleEnableCmd.ts @@ -1,6 +1,6 @@ import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { pingableRolesCmd } from "../types"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { pingableRolesCmd } from "../types"; export const PingableRoleEnableCmd = pingableRolesCmd({ trigger: "pingable_role", diff --git a/backend/src/plugins/PingableRoles/events/ChangePingableEvts.ts b/backend/src/plugins/PingableRoles/events/ChangePingableEvts.ts index 5efbba02..23c4627c 100644 --- a/backend/src/plugins/PingableRoles/events/ChangePingableEvts.ts +++ b/backend/src/plugins/PingableRoles/events/ChangePingableEvts.ts @@ -1,7 +1,7 @@ import { pingableRolesEvt } from "../types"; -import { getPingableRolesForChannel } from "../utils/getPingableRolesForChannel"; -import { enablePingableRoles } from "../utils/enablePingableRoles"; import { disablePingableRoles } from "../utils/disablePingableRoles"; +import { enablePingableRoles } from "../utils/enablePingableRoles"; +import { getPingableRolesForChannel } from "../utils/getPingableRolesForChannel"; const TIMEOUT = 10 * 1000; diff --git a/backend/src/plugins/PingableRoles/types.ts b/backend/src/plugins/PingableRoles/types.ts index 84030afd..cc479a99 100644 --- a/backend/src/plugins/PingableRoles/types.ts +++ b/backend/src/plugins/PingableRoles/types.ts @@ -1,7 +1,7 @@ import * as t from "io-ts"; import { BasePluginType, typedGuildCommand, typedGuildEventListener } from "knub"; -import { GuildPingableRoles } from "../../data/GuildPingableRoles"; import { PingableRole } from "../../data/entities/PingableRole"; +import { GuildPingableRoles } from "../../data/GuildPingableRoles"; export const ConfigSchema = t.type({ can_manage: t.boolean, diff --git a/backend/src/plugins/PingableRoles/utils/disablePingableRoles.ts b/backend/src/plugins/PingableRoles/utils/disablePingableRoles.ts index 21e96189..9d137828 100644 --- a/backend/src/plugins/PingableRoles/utils/disablePingableRoles.ts +++ b/backend/src/plugins/PingableRoles/utils/disablePingableRoles.ts @@ -1,5 +1,5 @@ -import { PingableRole } from "../../../data/entities/PingableRole"; import { GuildPluginData } from "knub"; +import { PingableRole } from "../../../data/entities/PingableRole"; import { PingableRolesPluginType } from "../types"; export function disablePingableRoles( diff --git a/backend/src/plugins/PingableRoles/utils/enablePingableRoles.ts b/backend/src/plugins/PingableRoles/utils/enablePingableRoles.ts index 972495e3..65cc5eb6 100644 --- a/backend/src/plugins/PingableRoles/utils/enablePingableRoles.ts +++ b/backend/src/plugins/PingableRoles/utils/enablePingableRoles.ts @@ -1,5 +1,5 @@ -import { PingableRole } from "../../../data/entities/PingableRole"; import { GuildPluginData } from "knub"; +import { PingableRole } from "../../../data/entities/PingableRole"; import { PingableRolesPluginType } from "../types"; export function enablePingableRoles( diff --git a/backend/src/plugins/PingableRoles/utils/getPingableRolesForChannel.ts b/backend/src/plugins/PingableRoles/utils/getPingableRolesForChannel.ts index 9b3f5819..96b6b228 100644 --- a/backend/src/plugins/PingableRoles/utils/getPingableRolesForChannel.ts +++ b/backend/src/plugins/PingableRoles/utils/getPingableRolesForChannel.ts @@ -1,5 +1,5 @@ -import { PingableRole } from "../../../data/entities/PingableRole"; import { GuildPluginData } from "knub"; +import { PingableRole } from "../../../data/entities/PingableRole"; import { PingableRolesPluginType } from "../types"; export async function getPingableRolesForChannel( diff --git a/backend/src/plugins/Post/PostPlugin.ts b/backend/src/plugins/Post/PostPlugin.ts index 85ec4e12..493f8adb 100644 --- a/backend/src/plugins/Post/PostPlugin.ts +++ b/backend/src/plugins/Post/PostPlugin.ts @@ -1,18 +1,18 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { PluginOptions } from "knub"; -import { ConfigSchema, PostPluginType } from "./types"; +import { GuildLogs } from "../../data/GuildLogs"; import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { GuildScheduledPosts } from "../../data/GuildScheduledPosts"; -import { GuildLogs } from "../../data/GuildLogs"; -import { PostCmd } from "./commands/PostCmd"; -import { PostEmbedCmd } from "./commands/PostEmbedCmd"; +import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { EditCmd } from "./commands/EditCmd"; import { EditEmbedCmd } from "./commands/EditEmbedCmd"; -import { ScheduledPostsShowCmd } from "./commands/ScheduledPostsShowCmd"; -import { ScheduledPostsListCmd } from "./commands/ScheduledPostsListCmd"; +import { PostCmd } from "./commands/PostCmd"; +import { PostEmbedCmd } from "./commands/PostEmbedCmd"; import { ScheduledPostsDeleteCmd } from "./commands/SchedluedPostsDeleteCmd"; +import { ScheduledPostsListCmd } from "./commands/ScheduledPostsListCmd"; +import { ScheduledPostsShowCmd } from "./commands/ScheduledPostsShowCmd"; +import { ConfigSchema, PostPluginType } from "./types"; import { scheduledPostLoop } from "./util/scheduledPostLoop"; -import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/Post/commands/EditCmd.ts b/backend/src/plugins/Post/commands/EditCmd.ts index b0df9b4d..add44ec7 100644 --- a/backend/src/plugins/Post/commands/EditCmd.ts +++ b/backend/src/plugins/Post/commands/EditCmd.ts @@ -1,8 +1,8 @@ -import { postCmd } from "../types"; +import { TextChannel } from "discord.js"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { postCmd } from "../types"; import { formatContent } from "../util/formatContent"; -import { TextChannel } from "discord.js"; export const EditCmd = postCmd({ trigger: "edit", diff --git a/backend/src/plugins/Post/commands/EditEmbedCmd.ts b/backend/src/plugins/Post/commands/EditEmbedCmd.ts index d832e8aa..83713814 100644 --- a/backend/src/plugins/Post/commands/EditEmbedCmd.ts +++ b/backend/src/plugins/Post/commands/EditEmbedCmd.ts @@ -1,12 +1,12 @@ -import { postCmd } from "../types"; +import { MessageEmbed, TextChannel } from "discord.js"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; - import { trimLines } from "../../../utils"; -import { formatContent } from "../util/formatContent"; import { parseColor } from "../../../utils/parseColor"; import { rgbToInt } from "../../../utils/rgbToInt"; -import { MessageEmbed, TextChannel } from "discord.js"; +import { postCmd } from "../types"; +import { formatContent } from "../util/formatContent"; + const COLOR_MATCH_REGEX = /^#?([0-9a-f]{6})$/; diff --git a/backend/src/plugins/Post/commands/PostCmd.ts b/backend/src/plugins/Post/commands/PostCmd.ts index 25ae5a6b..4a1f3a4a 100644 --- a/backend/src/plugins/Post/commands/PostCmd.ts +++ b/backend/src/plugins/Post/commands/PostCmd.ts @@ -1,5 +1,5 @@ -import { postCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { postCmd } from "../types"; import { actualPostCmd } from "../util/actualPostCmd"; export const PostCmd = postCmd({ diff --git a/backend/src/plugins/Post/commands/PostEmbedCmd.ts b/backend/src/plugins/Post/commands/PostEmbedCmd.ts index 344b9e17..d9d5ef6a 100644 --- a/backend/src/plugins/Post/commands/PostEmbedCmd.ts +++ b/backend/src/plugins/Post/commands/PostEmbedCmd.ts @@ -1,13 +1,13 @@ -import { postCmd } from "../types"; +import { MessageEmbedOptions } from "discord.js"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { actualPostCmd } from "../util/actualPostCmd"; import { sendErrorMessage } from "../../../pluginUtils"; - import { isValidEmbed, trimLines } from "../../../utils"; -import { formatContent } from "../util/formatContent"; import { parseColor } from "../../../utils/parseColor"; import { rgbToInt } from "../../../utils/rgbToInt"; -import { MessageEmbed, MessageEmbedOptions } from "discord.js"; +import { postCmd } from "../types"; +import { actualPostCmd } from "../util/actualPostCmd"; +import { formatContent } from "../util/formatContent"; + export const PostEmbedCmd = postCmd({ trigger: "post_embed", diff --git a/backend/src/plugins/Post/commands/SchedluedPostsDeleteCmd.ts b/backend/src/plugins/Post/commands/SchedluedPostsDeleteCmd.ts index 98810fc1..0cda8a72 100644 --- a/backend/src/plugins/Post/commands/SchedluedPostsDeleteCmd.ts +++ b/backend/src/plugins/Post/commands/SchedluedPostsDeleteCmd.ts @@ -1,7 +1,7 @@ -import { postCmd } from "../types"; -import { sorter } from "../../../utils"; -import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { sorter } from "../../../utils"; +import { postCmd } from "../types"; export const ScheduledPostsDeleteCmd = postCmd({ trigger: ["scheduled_posts delete", "scheduled_posts d"], diff --git a/backend/src/plugins/Post/commands/ScheduledPostsListCmd.ts b/backend/src/plugins/Post/commands/ScheduledPostsListCmd.ts index 3a3a3c8f..ea7a2b0f 100644 --- a/backend/src/plugins/Post/commands/ScheduledPostsListCmd.ts +++ b/backend/src/plugins/Post/commands/ScheduledPostsListCmd.ts @@ -1,15 +1,11 @@ -import { postCmd } from "../types"; -import { - trimLines, - sorter, - disableCodeBlocks, - deactivateMentions, - createChunkedMessage, - DBDateFormat, -} from "../../../utils"; import humanizeDuration from "humanize-duration"; import moment from "moment-timezone"; +import { + createChunkedMessage, + DBDateFormat, deactivateMentions, disableCodeBlocks, sorter, trimLines +} from "../../../utils"; import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; +import { postCmd } from "../types"; const SCHEDULED_POST_PREVIEW_TEXT_LENGTH = 50; diff --git a/backend/src/plugins/Post/commands/ScheduledPostsShowCmd.ts b/backend/src/plugins/Post/commands/ScheduledPostsShowCmd.ts index a94b8033..c1a92510 100644 --- a/backend/src/plugins/Post/commands/ScheduledPostsShowCmd.ts +++ b/backend/src/plugins/Post/commands/ScheduledPostsShowCmd.ts @@ -1,9 +1,9 @@ -import { postCmd } from "../types"; -import { sorter } from "../../../utils"; -import { sendErrorMessage } from "../../../pluginUtils"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { postMessage } from "../util/postMessage"; import { TextChannel } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { sendErrorMessage } from "../../../pluginUtils"; +import { sorter } from "../../../utils"; +import { postCmd } from "../types"; +import { postMessage } from "../util/postMessage"; export const ScheduledPostsShowCmd = postCmd({ trigger: ["scheduled_posts", "scheduled_posts show"], diff --git a/backend/src/plugins/Post/types.ts b/backend/src/plugins/Post/types.ts index 12800a55..b54a23d2 100644 --- a/backend/src/plugins/Post/types.ts +++ b/backend/src/plugins/Post/types.ts @@ -1,8 +1,8 @@ import * as t from "io-ts"; import { BasePluginType, typedGuildCommand } from "knub"; +import { GuildLogs } from "../../data/GuildLogs"; import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { GuildScheduledPosts } from "../../data/GuildScheduledPosts"; -import { GuildLogs } from "../../data/GuildLogs"; export const ConfigSchema = t.type({ can_post: t.boolean, diff --git a/backend/src/plugins/Post/util/actualPostCmd.ts b/backend/src/plugins/Post/util/actualPostCmd.ts index c814ae0b..5c7d8f68 100644 --- a/backend/src/plugins/Post/util/actualPostCmd.ts +++ b/backend/src/plugins/Post/util/actualPostCmd.ts @@ -1,14 +1,14 @@ -import { StrictMessageContent, errorMessage, stripObjectToScalars, MINUTES, DBDateFormat } from "../../../utils"; +import { Channel, Message, TextChannel } from "discord.js"; +import humanizeDuration from "humanize-duration"; +import { GuildPluginData } from "knub"; import moment from "moment-timezone"; import { LogType } from "../../../data/LogType"; -import humanizeDuration from "humanize-duration"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { GuildPluginData } from "knub"; +import { DBDateFormat, errorMessage, MINUTES, StrictMessageContent, stripObjectToScalars } from "../../../utils"; +import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; import { PostPluginType } from "../types"; import { parseScheduleTime } from "./parseScheduleTime"; import { postMessage } from "./postMessage"; -import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; -import { Message, Channel, TextChannel } from "discord.js"; const MIN_REPEAT_TIME = 5 * MINUTES; const MAX_REPEAT_TIME = Math.pow(2, 32); diff --git a/backend/src/plugins/Post/util/parseScheduleTime.ts b/backend/src/plugins/Post/util/parseScheduleTime.ts index 26d115f2..5f5325e5 100644 --- a/backend/src/plugins/Post/util/parseScheduleTime.ts +++ b/backend/src/plugins/Post/util/parseScheduleTime.ts @@ -1,6 +1,6 @@ +import { GuildPluginData } from "knub"; import moment, { Moment } from "moment-timezone"; import { convertDelayStringToMS } from "../../../utils"; -import { GuildPluginData } from "knub"; import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; // TODO: Extract out of the Post plugin, use everywhere with a date input diff --git a/backend/src/plugins/Post/util/postMessage.ts b/backend/src/plugins/Post/util/postMessage.ts index 292fc6b3..de7db105 100644 --- a/backend/src/plugins/Post/util/postMessage.ts +++ b/backend/src/plugins/Post/util/postMessage.ts @@ -1,10 +1,10 @@ -import { GuildPluginData } from "knub"; -import { PostPluginType } from "../types"; - -import { downloadFile } from "../../../utils"; +import { Message, MessageAttachment, MessageOptions, TextChannel } from "discord.js"; import fs from "fs"; +import { GuildPluginData } from "knub"; +import { downloadFile } from "../../../utils"; +import { PostPluginType } from "../types"; import { formatContent } from "./formatContent"; -import { TextChannel, Message, MessageOptions, MessageAttachment } from "discord.js"; + const fsp = fs.promises; diff --git a/backend/src/plugins/Post/util/scheduledPostLoop.ts b/backend/src/plugins/Post/util/scheduledPostLoop.ts index d24f3ec6..fdaff973 100644 --- a/backend/src/plugins/Post/util/scheduledPostLoop.ts +++ b/backend/src/plugins/Post/util/scheduledPostLoop.ts @@ -1,12 +1,12 @@ -import { GuildPluginData } from "knub"; -import { PostPluginType } from "../types"; -import { logger } from "../../../logger"; -import { stripObjectToScalars, SECONDS, DBDateFormat } from "../../../utils"; -import { LogType } from "../../../data/LogType"; -import moment from "moment-timezone"; - -import { postMessage } from "./postMessage"; import { TextChannel, User } from "discord.js"; +import { GuildPluginData } from "knub"; +import moment from "moment-timezone"; +import { LogType } from "../../../data/LogType"; +import { logger } from "../../../logger"; +import { DBDateFormat, SECONDS, stripObjectToScalars } from "../../../utils"; +import { PostPluginType } from "../types"; +import { postMessage } from "./postMessage"; + const SCHEDULED_POST_CHECK_INTERVAL = 5 * SECONDS; diff --git a/backend/src/plugins/ReactionRoles/ReactionRolesPlugin.ts b/backend/src/plugins/ReactionRoles/ReactionRolesPlugin.ts index 7b7b55de..51817f58 100644 --- a/backend/src/plugins/ReactionRoles/ReactionRolesPlugin.ts +++ b/backend/src/plugins/ReactionRoles/ReactionRolesPlugin.ts @@ -1,17 +1,17 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { PluginOptions } from "knub"; -import { ConfigSchema, ReactionRolesPluginType } from "./types"; import { GuildReactionRoles } from "../../data/GuildReactionRoles"; import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { Queue } from "../../Queue"; -import { autoRefreshLoop } from "./util/autoRefreshLoop"; -import { InitReactionRolesCmd } from "./commands/InitReactionRolesCmd"; -import { RefreshReactionRolesCmd } from "./commands/RefreshReactionRolesCmd"; -import { ClearReactionRolesCmd } from "./commands/ClearReactionRolesCmd"; -import { AddReactionRoleEvt } from "./events/AddReactionRoleEvt"; import { LogsPlugin } from "../Logs/LogsPlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { ClearReactionRolesCmd } from "./commands/ClearReactionRolesCmd"; +import { InitReactionRolesCmd } from "./commands/InitReactionRolesCmd"; import { PostButtonRolesCmd } from "./commands/PostButtonRolesCmd"; +import { RefreshReactionRolesCmd } from "./commands/RefreshReactionRolesCmd"; +import { AddReactionRoleEvt } from "./events/AddReactionRoleEvt"; import { ButtonInteractionEvt } from "./events/ButtonInteractionEvt"; +import { ConfigSchema, ReactionRolesPluginType } from "./types"; +import { autoRefreshLoop } from "./util/autoRefreshLoop"; const MIN_AUTO_REFRESH = 1000 * 60 * 15; // 15min minimum, let's not abuse the API diff --git a/backend/src/plugins/ReactionRoles/commands/ClearReactionRolesCmd.ts b/backend/src/plugins/ReactionRoles/commands/ClearReactionRolesCmd.ts index 1b6bb197..a9ce7421 100644 --- a/backend/src/plugins/ReactionRoles/commands/ClearReactionRolesCmd.ts +++ b/backend/src/plugins/ReactionRoles/commands/ClearReactionRolesCmd.ts @@ -1,9 +1,9 @@ -import { reactionRolesCmd } from "../types"; +import { Message } from "discord.js"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; - import { isDiscordRESTError } from "../../../utils"; -import { Message } from "discord.js"; +import { reactionRolesCmd } from "../types"; + export const ClearReactionRolesCmd = reactionRolesCmd({ trigger: "reaction_roles clear", diff --git a/backend/src/plugins/ReactionRoles/commands/InitReactionRolesCmd.ts b/backend/src/plugins/ReactionRoles/commands/InitReactionRolesCmd.ts index 44ede36e..e233e7a9 100644 --- a/backend/src/plugins/ReactionRoles/commands/InitReactionRolesCmd.ts +++ b/backend/src/plugins/ReactionRoles/commands/InitReactionRolesCmd.ts @@ -1,9 +1,9 @@ -import { reactionRolesCmd, TReactionRolePair } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; import { canUseEmoji, isDiscordRESTError, isValidEmoji, noop, trimPluginDescription } from "../../../utils"; -import { applyReactionRoleReactionsToMessage } from "../util/applyReactionRoleReactionsToMessage"; import { canReadChannel } from "../../../utils/canReadChannel"; +import { reactionRolesCmd, TReactionRolePair } from "../types"; +import { applyReactionRoleReactionsToMessage } from "../util/applyReactionRoleReactionsToMessage"; const CLEAR_ROLES_EMOJI = "❌"; diff --git a/backend/src/plugins/ReactionRoles/commands/PostButtonRolesCmd.ts b/backend/src/plugins/ReactionRoles/commands/PostButtonRolesCmd.ts index 6bd19017..e5ccf683 100644 --- a/backend/src/plugins/ReactionRoles/commands/PostButtonRolesCmd.ts +++ b/backend/src/plugins/ReactionRoles/commands/PostButtonRolesCmd.ts @@ -1,7 +1,7 @@ -import { reactionRolesCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; import { MessageActionRow, MessageButton, TextChannel } from "discord.js"; import { sendErrorMessage, sendSuccessMessage } from "src/pluginUtils"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { reactionRolesCmd } from "../types"; import { ButtonMenuActions } from "../util/buttonMenuActions"; export const PostButtonRolesCmd = reactionRolesCmd({ diff --git a/backend/src/plugins/ReactionRoles/commands/RefreshReactionRolesCmd.ts b/backend/src/plugins/ReactionRoles/commands/RefreshReactionRolesCmd.ts index 7a93165b..3a55f6ba 100644 --- a/backend/src/plugins/ReactionRoles/commands/RefreshReactionRolesCmd.ts +++ b/backend/src/plugins/ReactionRoles/commands/RefreshReactionRolesCmd.ts @@ -1,6 +1,6 @@ -import { reactionRolesCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { reactionRolesCmd } from "../types"; import { refreshReactionRoles } from "../util/refreshReactionRoles"; export const RefreshReactionRolesCmd = reactionRolesCmd({ diff --git a/backend/src/plugins/ReactionRoles/events/AddReactionRoleEvt.ts b/backend/src/plugins/ReactionRoles/events/AddReactionRoleEvt.ts index b996f68d..c4f125f0 100644 --- a/backend/src/plugins/ReactionRoles/events/AddReactionRoleEvt.ts +++ b/backend/src/plugins/ReactionRoles/events/AddReactionRoleEvt.ts @@ -1,10 +1,8 @@ -import { reactionRolesEvt } from "../types"; +import { Message } from "discord.js"; import { noop, resolveMember, sleep } from "../../../utils"; +import { reactionRolesEvt } from "../types"; import { addMemberPendingRoleChange } from "../util/addMemberPendingRoleChange"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; -import { LogType } from "../../../data/LogType"; -import { Message } from "discord.js"; const CLEAR_ROLES_EMOJI = "❌"; diff --git a/backend/src/plugins/ReactionRoles/events/ButtonInteractionEvt.ts b/backend/src/plugins/ReactionRoles/events/ButtonInteractionEvt.ts index 51694c1f..7a79cc99 100644 --- a/backend/src/plugins/ReactionRoles/events/ButtonInteractionEvt.ts +++ b/backend/src/plugins/ReactionRoles/events/ButtonInteractionEvt.ts @@ -1,14 +1,10 @@ import { - Interaction, MessageActionRow, MessageButton, - MessageComponentInteraction, - MessageComponentInteractionCollector, - TextChannel, + MessageComponentInteraction } from "discord.js"; import { LogType } from "src/data/LogType"; import { logger } from "src/logger"; -import { pluginInfo } from "src/plugins/Automod/info"; import { LogsPlugin } from "src/plugins/Logs/LogsPlugin"; import { reactionRolesEvt } from "../types"; import { ButtonMenuActions } from "../util/buttonMenuActions"; diff --git a/backend/src/plugins/ReactionRoles/types.ts b/backend/src/plugins/ReactionRoles/types.ts index d0b2e5d9..9d80c81e 100644 --- a/backend/src/plugins/ReactionRoles/types.ts +++ b/backend/src/plugins/ReactionRoles/types.ts @@ -1,7 +1,7 @@ import * as t from "io-ts"; -import { BasePluginType, typedGuildEventListener, typedGuildCommand } from "knub"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { BasePluginType, typedGuildCommand, typedGuildEventListener } from "knub"; import { GuildReactionRoles } from "../../data/GuildReactionRoles"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { Queue } from "../../Queue"; const ButtonOpts = t.type({ diff --git a/backend/src/plugins/ReactionRoles/util/addMemberPendingRoleChange.ts b/backend/src/plugins/ReactionRoles/util/addMemberPendingRoleChange.ts index 1bc5bf73..1e2f88ff 100644 --- a/backend/src/plugins/ReactionRoles/util/addMemberPendingRoleChange.ts +++ b/backend/src/plugins/ReactionRoles/util/addMemberPendingRoleChange.ts @@ -1,8 +1,8 @@ import { GuildPluginData } from "knub"; -import { ReactionRolesPluginType, RoleChangeMode, PendingMemberRoleChanges } from "../types"; -import { resolveMember } from "../../../utils"; import { logger } from "../../../logger"; +import { resolveMember } from "../../../utils"; import { memberRolesLock } from "../../../utils/lockNameHelpers"; +import { PendingMemberRoleChanges, ReactionRolesPluginType, RoleChangeMode } from "../types"; const ROLE_CHANGE_BATCH_DEBOUNCE_TIME = 1500; diff --git a/backend/src/plugins/ReactionRoles/util/applyReactionRoleReactionsToMessage.ts b/backend/src/plugins/ReactionRoles/util/applyReactionRoleReactionsToMessage.ts index b2d39707..3059ba5c 100644 --- a/backend/src/plugins/ReactionRoles/util/applyReactionRoleReactionsToMessage.ts +++ b/backend/src/plugins/ReactionRoles/util/applyReactionRoleReactionsToMessage.ts @@ -1,12 +1,11 @@ -import { GuildPluginData } from "knub"; -import { ReactionRolesPluginType } from "../types"; -import { ReactionRole } from "../../../data/entities/ReactionRole"; - -import { isDiscordRESTError, sleep, isSnowflake } from "../../../utils"; -import { logger } from "../../../logger"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; -import { LogType } from "../../../data/LogType"; import { TextChannel } from "discord.js"; +import { GuildPluginData } from "knub"; +import { ReactionRole } from "../../../data/entities/ReactionRole"; +import { LogType } from "../../../data/LogType"; +import { isDiscordRESTError, sleep } from "../../../utils"; +import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { ReactionRolesPluginType } from "../types"; + const CLEAR_ROLES_EMOJI = "❌"; diff --git a/backend/src/plugins/ReactionRoles/util/refreshReactionRoles.ts b/backend/src/plugins/ReactionRoles/util/refreshReactionRoles.ts index 3d85ac52..1cb3ff80 100644 --- a/backend/src/plugins/ReactionRoles/util/refreshReactionRoles.ts +++ b/backend/src/plugins/ReactionRoles/util/refreshReactionRoles.ts @@ -1,5 +1,5 @@ -import { ReactionRolesPluginType } from "../types"; import { GuildPluginData } from "knub"; +import { ReactionRolesPluginType } from "../types"; import { applyReactionRoleReactionsToMessage } from "./applyReactionRoleReactionsToMessage"; export async function refreshReactionRoles( diff --git a/backend/src/plugins/Reminders/RemindersPlugin.ts b/backend/src/plugins/Reminders/RemindersPlugin.ts index 928a013f..e1a39417 100644 --- a/backend/src/plugins/Reminders/RemindersPlugin.ts +++ b/backend/src/plugins/Reminders/RemindersPlugin.ts @@ -1,12 +1,12 @@ import { PluginOptions } from "knub"; -import { ConfigSchema, RemindersPluginType } from "./types"; -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { GuildReminders } from "../../data/GuildReminders"; -import { postDueRemindersLoop } from "./utils/postDueRemindersLoop"; +import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { RemindCmd } from "./commands/RemindCmd"; import { RemindersCmd } from "./commands/RemindersCmd"; import { RemindersDeleteCmd } from "./commands/RemindersDeleteCmd"; -import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; +import { ConfigSchema, RemindersPluginType } from "./types"; +import { postDueRemindersLoop } from "./utils/postDueRemindersLoop"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/Reminders/commands/RemindCmd.ts b/backend/src/plugins/Reminders/commands/RemindCmd.ts index ad9cd355..7cce547f 100644 --- a/backend/src/plugins/Reminders/commands/RemindCmd.ts +++ b/backend/src/plugins/Reminders/commands/RemindCmd.ts @@ -1,10 +1,10 @@ -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import moment from "moment-timezone"; -import { convertDelayStringToMS, messageLink } from "../../../utils"; import humanizeDuration from "humanize-duration"; +import moment from "moment-timezone"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { remindersCmd } from "../types"; +import { convertDelayStringToMS, messageLink } from "../../../utils"; import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; +import { remindersCmd } from "../types"; export const RemindCmd = remindersCmd({ trigger: ["remind", "remindme", "reminder"], diff --git a/backend/src/plugins/Reminders/commands/RemindersCmd.ts b/backend/src/plugins/Reminders/commands/RemindersCmd.ts index 1a32533e..ca61ceb8 100644 --- a/backend/src/plugins/Reminders/commands/RemindersCmd.ts +++ b/backend/src/plugins/Reminders/commands/RemindersCmd.ts @@ -1,9 +1,9 @@ -import { remindersCmd } from "../types"; +import humanizeDuration from "humanize-duration"; +import moment from "moment-timezone"; import { sendErrorMessage } from "../../../pluginUtils"; import { createChunkedMessage, DBDateFormat, sorter } from "../../../utils"; -import moment from "moment-timezone"; -import humanizeDuration from "humanize-duration"; import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; +import { remindersCmd } from "../types"; export const RemindersCmd = remindersCmd({ trigger: "reminders", diff --git a/backend/src/plugins/Reminders/commands/RemindersDeleteCmd.ts b/backend/src/plugins/Reminders/commands/RemindersDeleteCmd.ts index 7b9f33c6..e9f97a66 100644 --- a/backend/src/plugins/Reminders/commands/RemindersDeleteCmd.ts +++ b/backend/src/plugins/Reminders/commands/RemindersDeleteCmd.ts @@ -1,7 +1,7 @@ -import { remindersCmd } from "../types"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; import { sorter } from "../../../utils"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { remindersCmd } from "../types"; export const RemindersDeleteCmd = remindersCmd({ trigger: ["reminders delete", "reminders d"], diff --git a/backend/src/plugins/Reminders/utils/postDueRemindersLoop.ts b/backend/src/plugins/Reminders/utils/postDueRemindersLoop.ts index 7a5d447a..9678ce3b 100644 --- a/backend/src/plugins/Reminders/utils/postDueRemindersLoop.ts +++ b/backend/src/plugins/Reminders/utils/postDueRemindersLoop.ts @@ -1,10 +1,10 @@ -import { GuildPluginData } from "knub"; -import { RemindersPluginType } from "../types"; -import moment from "moment-timezone"; -import humanizeDuration from "humanize-duration"; -import { disableLinkPreviews } from "knub/dist/helpers"; -import { SECONDS } from "../../../utils"; import { TextChannel } from "discord.js"; +import humanizeDuration from "humanize-duration"; +import { GuildPluginData } from "knub"; +import { disableLinkPreviews } from "knub/dist/helpers"; +import moment from "moment-timezone"; +import { SECONDS } from "../../../utils"; +import { RemindersPluginType } from "../types"; const REMINDER_LOOP_TIME = 10 * SECONDS; const MAX_TRIES = 3; diff --git a/backend/src/plugins/Roles/RolesPlugin.ts b/backend/src/plugins/Roles/RolesPlugin.ts index bcb8fb60..1b7dcfff 100644 --- a/backend/src/plugins/Roles/RolesPlugin.ts +++ b/backend/src/plugins/Roles/RolesPlugin.ts @@ -1,12 +1,12 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { PluginOptions } from "knub"; -import { ConfigSchema, RolesPluginType } from "./types"; import { GuildLogs } from "../../data/GuildLogs"; +import { trimPluginDescription } from "../../utils"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { AddRoleCmd } from "./commands/AddRoleCmd"; -import { RemoveRoleCmd } from "./commands/RemoveRoleCmd"; import { MassAddRoleCmd } from "./commands/MassAddRoleCmd"; import { MassRemoveRoleCmd } from "./commands/MassRemoveRoleCmd"; -import { trimPluginDescription } from "../../utils"; +import { RemoveRoleCmd } from "./commands/RemoveRoleCmd"; +import { ConfigSchema, RolesPluginType } from "./types"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/Roles/commands/AddRoleCmd.ts b/backend/src/plugins/Roles/commands/AddRoleCmd.ts index cc093d3e..b5f6619d 100644 --- a/backend/src/plugins/Roles/commands/AddRoleCmd.ts +++ b/backend/src/plugins/Roles/commands/AddRoleCmd.ts @@ -1,9 +1,9 @@ -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { sendErrorMessage, sendSuccessMessage, canActOn } from "../../../pluginUtils"; -import { rolesCmd } from "../types"; -import { resolveRoleId, stripObjectToScalars, verboseUserMention } from "../../../utils"; -import { LogType } from "../../../data/LogType"; import { GuildChannel } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { LogType } from "../../../data/LogType"; +import { canActOn, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { resolveRoleId, stripObjectToScalars, verboseUserMention } from "../../../utils"; +import { rolesCmd } from "../types"; export const AddRoleCmd = rolesCmd({ trigger: "addrole", diff --git a/backend/src/plugins/Roles/commands/MassAddRoleCmd.ts b/backend/src/plugins/Roles/commands/MassAddRoleCmd.ts index f2f0532d..0457d344 100644 --- a/backend/src/plugins/Roles/commands/MassAddRoleCmd.ts +++ b/backend/src/plugins/Roles/commands/MassAddRoleCmd.ts @@ -1,10 +1,10 @@ +import { GuildMember } from "discord.js"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { sendErrorMessage, canActOn } from "../../../pluginUtils"; -import { rolesCmd } from "../types"; -import { resolveMember, resolveRoleId, stripObjectToScalars, successMessage } from "../../../utils"; import { LogType } from "../../../data/LogType"; import { logger } from "../../../logger"; -import { GuildMember } from "discord.js"; +import { canActOn, sendErrorMessage } from "../../../pluginUtils"; +import { resolveMember, resolveRoleId, stripObjectToScalars, successMessage } from "../../../utils"; +import { rolesCmd } from "../types"; export const MassAddRoleCmd = rolesCmd({ trigger: "massaddrole", diff --git a/backend/src/plugins/Roles/commands/MassRemoveRoleCmd.ts b/backend/src/plugins/Roles/commands/MassRemoveRoleCmd.ts index 42240164..ece59402 100644 --- a/backend/src/plugins/Roles/commands/MassRemoveRoleCmd.ts +++ b/backend/src/plugins/Roles/commands/MassRemoveRoleCmd.ts @@ -1,10 +1,10 @@ +import { GuildMember } from "discord.js"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { sendErrorMessage, canActOn } from "../../../pluginUtils"; -import { rolesCmd } from "../types"; -import { resolveMember, stripObjectToScalars, successMessage, resolveRoleId } from "../../../utils"; import { LogType } from "../../../data/LogType"; import { logger } from "../../../logger"; -import { GuildMember } from "discord.js"; +import { canActOn, sendErrorMessage } from "../../../pluginUtils"; +import { resolveMember, resolveRoleId, stripObjectToScalars, successMessage } from "../../../utils"; +import { rolesCmd } from "../types"; export const MassRemoveRoleCmd = rolesCmd({ trigger: "massremoverole", diff --git a/backend/src/plugins/Roles/commands/RemoveRoleCmd.ts b/backend/src/plugins/Roles/commands/RemoveRoleCmd.ts index b160bff3..eb6bd714 100644 --- a/backend/src/plugins/Roles/commands/RemoveRoleCmd.ts +++ b/backend/src/plugins/Roles/commands/RemoveRoleCmd.ts @@ -1,10 +1,10 @@ +import { GuildChannel } from "discord.js"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { sendErrorMessage, sendSuccessMessage, canActOn } from "../../../pluginUtils"; +import { LogType } from "../../../data/LogType"; +import { canActOn, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { resolveRoleId, stripObjectToScalars, verboseUserMention } from "../../../utils"; import { rolesCmd } from "../types"; -import { LogType } from "../../../data/LogType"; -import { stripObjectToScalars, verboseUserMention, resolveRoleId } from "../../../utils"; -import { GuildChannel } from "discord.js"; export const RemoveRoleCmd = rolesCmd({ trigger: "removerole", diff --git a/backend/src/plugins/SelfGrantableRoles/SelfGrantableRolesPlugin.ts b/backend/src/plugins/SelfGrantableRoles/SelfGrantableRolesPlugin.ts index b73488fd..981776fc 100644 --- a/backend/src/plugins/SelfGrantableRoles/SelfGrantableRolesPlugin.ts +++ b/backend/src/plugins/SelfGrantableRoles/SelfGrantableRolesPlugin.ts @@ -1,10 +1,10 @@ import { CooldownManager, PluginOptions } from "knub"; -import { SelfGrantableRolesPluginType, ConfigSchema, defaultSelfGrantableRoleEntry } from "./types"; -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { trimPluginDescription } from "../../utils"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { RoleAddCmd } from "./commands/RoleAddCmd"; -import { RoleRemoveCmd } from "./commands/RoleRemoveCmd"; import { RoleHelpCmd } from "./commands/RoleHelpCmd"; +import { RoleRemoveCmd } from "./commands/RoleRemoveCmd"; +import { ConfigSchema, defaultSelfGrantableRoleEntry, SelfGrantableRolesPluginType } from "./types"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/SelfGrantableRoles/commands/RoleAddCmd.ts b/backend/src/plugins/SelfGrantableRoles/commands/RoleAddCmd.ts index cf3d9c84..d5f14b8a 100644 --- a/backend/src/plugins/SelfGrantableRoles/commands/RoleAddCmd.ts +++ b/backend/src/plugins/SelfGrantableRoles/commands/RoleAddCmd.ts @@ -1,13 +1,13 @@ -import { selfGrantableRolesCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { getApplyingEntries } from "../util/getApplyingEntries"; -import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { splitRoleNames } from "../util/splitRoleNames"; -import { normalizeRoleNames } from "../util/normalizeRoleNames"; -import { findMatchingRoles } from "../util/findMatchingRoles"; - -import { memberRolesLock } from "../../../utils/lockNameHelpers"; import { Role } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { memberRolesLock } from "../../../utils/lockNameHelpers"; +import { selfGrantableRolesCmd } from "../types"; +import { findMatchingRoles } from "../util/findMatchingRoles"; +import { getApplyingEntries } from "../util/getApplyingEntries"; +import { normalizeRoleNames } from "../util/normalizeRoleNames"; +import { splitRoleNames } from "../util/splitRoleNames"; + export const RoleAddCmd = selfGrantableRolesCmd({ trigger: ["role", "role add"], diff --git a/backend/src/plugins/SelfGrantableRoles/commands/RoleHelpCmd.ts b/backend/src/plugins/SelfGrantableRoles/commands/RoleHelpCmd.ts index 2969ac0b..438abbd1 100644 --- a/backend/src/plugins/SelfGrantableRoles/commands/RoleHelpCmd.ts +++ b/backend/src/plugins/SelfGrantableRoles/commands/RoleHelpCmd.ts @@ -1,5 +1,5 @@ -import { selfGrantableRolesCmd } from "../types"; import { asSingleLine, trimLines } from "../../../utils"; +import { selfGrantableRolesCmd } from "../types"; import { getApplyingEntries } from "../util/getApplyingEntries"; export const RoleHelpCmd = selfGrantableRolesCmd({ diff --git a/backend/src/plugins/SelfGrantableRoles/commands/RoleRemoveCmd.ts b/backend/src/plugins/SelfGrantableRoles/commands/RoleRemoveCmd.ts index 5d41e639..b1413050 100644 --- a/backend/src/plugins/SelfGrantableRoles/commands/RoleRemoveCmd.ts +++ b/backend/src/plugins/SelfGrantableRoles/commands/RoleRemoveCmd.ts @@ -1,11 +1,11 @@ -import { selfGrantableRolesCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { getApplyingEntries } from "../util/getApplyingEntries"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { splitRoleNames } from "../util/splitRoleNames"; -import { normalizeRoleNames } from "../util/normalizeRoleNames"; -import { findMatchingRoles } from "../util/findMatchingRoles"; import { memberRolesLock } from "../../../utils/lockNameHelpers"; +import { selfGrantableRolesCmd } from "../types"; +import { findMatchingRoles } from "../util/findMatchingRoles"; +import { getApplyingEntries } from "../util/getApplyingEntries"; +import { normalizeRoleNames } from "../util/normalizeRoleNames"; +import { splitRoleNames } from "../util/splitRoleNames"; export const RoleRemoveCmd = selfGrantableRolesCmd({ trigger: "role remove", diff --git a/backend/src/plugins/SelfGrantableRoles/types.ts b/backend/src/plugins/SelfGrantableRoles/types.ts index 8423acd4..dbebcf9f 100644 --- a/backend/src/plugins/SelfGrantableRoles/types.ts +++ b/backend/src/plugins/SelfGrantableRoles/types.ts @@ -1,5 +1,5 @@ import * as t from "io-ts"; -import { BasePluginType, typedGuildCommand, CooldownManager } from "knub"; +import { BasePluginType, CooldownManager, typedGuildCommand } from "knub"; const RoleMap = t.record(t.string, t.array(t.string)); diff --git a/backend/src/plugins/SelfGrantableRoles/util/getApplyingEntries.ts b/backend/src/plugins/SelfGrantableRoles/util/getApplyingEntries.ts index 41e8b87e..65495be4 100644 --- a/backend/src/plugins/SelfGrantableRoles/util/getApplyingEntries.ts +++ b/backend/src/plugins/SelfGrantableRoles/util/getApplyingEntries.ts @@ -1,5 +1,5 @@ -import { TSelfGrantableRoleEntry, SelfGrantableRolesPluginType } from "../types"; import { GuildPluginData } from "knub"; +import { SelfGrantableRolesPluginType, TSelfGrantableRoleEntry } from "../types"; export async function getApplyingEntries( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Slowmode/SlowmodePlugin.ts b/backend/src/plugins/Slowmode/SlowmodePlugin.ts index 79190820..5dda25c9 100644 --- a/backend/src/plugins/Slowmode/SlowmodePlugin.ts +++ b/backend/src/plugins/Slowmode/SlowmodePlugin.ts @@ -1,18 +1,18 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { PluginOptions } from "knub"; -import { ConfigSchema, SlowmodePluginType } from "./types"; -import { GuildSlowmodes } from "../../data/GuildSlowmodes"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { GuildLogs } from "../../data/GuildLogs"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { GuildSlowmodes } from "../../data/GuildSlowmodes"; import { SECONDS } from "../../utils"; -import { onMessageCreate } from "./util/onMessageCreate"; -import { clearExpiredSlowmodes } from "./util/clearExpiredSlowmodes"; -import { SlowmodeDisableCmd } from "./commands/SlowmodeDisableCmd"; -import { SlowmodeClearCmd } from "./commands/SlowmodeClearCmd"; -import { SlowmodeListCmd } from "./commands/SlowmodeListCmd"; -import { SlowmodeGetCmd } from "./commands/SlowmodeGetCmd"; -import { SlowmodeSetCmd } from "./commands/SlowmodeSetCmd"; import { LogsPlugin } from "../Logs/LogsPlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { SlowmodeClearCmd } from "./commands/SlowmodeClearCmd"; +import { SlowmodeDisableCmd } from "./commands/SlowmodeDisableCmd"; +import { SlowmodeGetCmd } from "./commands/SlowmodeGetCmd"; +import { SlowmodeListCmd } from "./commands/SlowmodeListCmd"; +import { SlowmodeSetCmd } from "./commands/SlowmodeSetCmd"; +import { ConfigSchema, SlowmodePluginType } from "./types"; +import { clearExpiredSlowmodes } from "./util/clearExpiredSlowmodes"; +import { onMessageCreate } from "./util/onMessageCreate"; const BOT_SLOWMODE_CLEAR_INTERVAL = 60 * SECONDS; diff --git a/backend/src/plugins/Slowmode/commands/SlowmodeClearCmd.ts b/backend/src/plugins/Slowmode/commands/SlowmodeClearCmd.ts index f8da441e..0047861b 100644 --- a/backend/src/plugins/Slowmode/commands/SlowmodeClearCmd.ts +++ b/backend/src/plugins/Slowmode/commands/SlowmodeClearCmd.ts @@ -1,11 +1,11 @@ import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { slowmodeCmd } from "../types"; -import { clearBotSlowmodeFromUserId } from "../util/clearBotSlowmodeFromUserId"; import { asSingleLine, disableInlineCode } from "../../../utils"; import { getMissingChannelPermissions } from "../../../utils/getMissingChannelPermissions"; -import { BOT_SLOWMODE_CLEAR_PERMISSIONS } from "../requiredPermissions"; import { missingPermissionError } from "../../../utils/missingPermissionError"; +import { BOT_SLOWMODE_CLEAR_PERMISSIONS } from "../requiredPermissions"; +import { slowmodeCmd } from "../types"; +import { clearBotSlowmodeFromUserId } from "../util/clearBotSlowmodeFromUserId"; export const SlowmodeClearCmd = slowmodeCmd({ trigger: ["slowmode clear", "slowmode c"], diff --git a/backend/src/plugins/Slowmode/commands/SlowmodeGetCmd.ts b/backend/src/plugins/Slowmode/commands/SlowmodeGetCmd.ts index 276e28e9..e4d5b579 100644 --- a/backend/src/plugins/Slowmode/commands/SlowmodeGetCmd.ts +++ b/backend/src/plugins/Slowmode/commands/SlowmodeGetCmd.ts @@ -1,8 +1,8 @@ +import { TextChannel } from "discord.js"; +import humanizeDuration from "humanize-duration"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { slowmodeCmd } from "../types"; -import humanizeDuration from "humanize-duration"; -import { TextChannel } from "discord.js"; export const SlowmodeGetCmd = slowmodeCmd({ trigger: "slowmode", diff --git a/backend/src/plugins/Slowmode/commands/SlowmodeListCmd.ts b/backend/src/plugins/Slowmode/commands/SlowmodeListCmd.ts index 0ea52e9f..9cad2a32 100644 --- a/backend/src/plugins/Slowmode/commands/SlowmodeListCmd.ts +++ b/backend/src/plugins/Slowmode/commands/SlowmodeListCmd.ts @@ -1,9 +1,9 @@ -import { slowmodeCmd } from "../types"; - +import { GuildChannel, TextChannel } from "discord.js"; +import humanizeDuration from "humanize-duration"; import { createChunkedMessage } from "knub/dist/helpers"; import { errorMessage } from "../../../utils"; -import humanizeDuration from "humanize-duration"; -import { GuildChannel, TextChannel } from "discord.js"; +import { slowmodeCmd } from "../types"; + export const SlowmodeListCmd = slowmodeCmd({ trigger: ["slowmode list", "slowmode l", "slowmodes"], diff --git a/backend/src/plugins/Slowmode/commands/SlowmodeSetCmd.ts b/backend/src/plugins/Slowmode/commands/SlowmodeSetCmd.ts index 633e77c6..48005ab6 100644 --- a/backend/src/plugins/Slowmode/commands/SlowmodeSetCmd.ts +++ b/backend/src/plugins/Slowmode/commands/SlowmodeSetCmd.ts @@ -1,15 +1,15 @@ -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { slowmodeCmd } from "../types"; - +import { Permissions, TextChannel } from "discord.js"; import humanizeDuration from "humanize-duration"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; import { asSingleLine, DAYS, disableInlineCode, HOURS, MINUTES } from "../../../utils"; -import { disableBotSlowmodeForChannel } from "../util/disableBotSlowmodeForChannel"; -import { actualDisableSlowmodeCmd } from "../util/actualDisableSlowmodeCmd"; import { getMissingPermissions } from "../../../utils/getMissingPermissions"; import { missingPermissionError } from "../../../utils/missingPermissionError"; import { BOT_SLOWMODE_PERMISSIONS, NATIVE_SLOWMODE_PERMISSIONS } from "../requiredPermissions"; -import { Permissions, TextChannel } from "discord.js"; +import { slowmodeCmd } from "../types"; +import { actualDisableSlowmodeCmd } from "../util/actualDisableSlowmodeCmd"; +import { disableBotSlowmodeForChannel } from "../util/disableBotSlowmodeForChannel"; + const MAX_NATIVE_SLOWMODE = 6 * HOURS; // 6 hours const MAX_BOT_SLOWMODE = DAYS * 365 * 100; // 100 years diff --git a/backend/src/plugins/Slowmode/types.ts b/backend/src/plugins/Slowmode/types.ts index bfd71e4c..3c3824da 100644 --- a/backend/src/plugins/Slowmode/types.ts +++ b/backend/src/plugins/Slowmode/types.ts @@ -1,8 +1,8 @@ import * as t from "io-ts"; import { BasePluginType, typedGuildCommand, typedGuildEventListener } from "knub"; -import { GuildSlowmodes } from "../../data/GuildSlowmodes"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { GuildLogs } from "../../data/GuildLogs"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { GuildSlowmodes } from "../../data/GuildSlowmodes"; export const ConfigSchema = t.type({ use_native_slowmode: t.boolean, diff --git a/backend/src/plugins/Slowmode/util/actualDisableSlowmodeCmd.ts b/backend/src/plugins/Slowmode/util/actualDisableSlowmodeCmd.ts index 4d02cf09..09565bae 100644 --- a/backend/src/plugins/Slowmode/util/actualDisableSlowmodeCmd.ts +++ b/backend/src/plugins/Slowmode/util/actualDisableSlowmodeCmd.ts @@ -1,10 +1,10 @@ +import { Message, TextChannel } from "discord.js"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { disableBotSlowmodeForChannel } from "./disableBotSlowmodeForChannel"; import { noop } from "../../../utils"; import { getMissingChannelPermissions } from "../../../utils/getMissingChannelPermissions"; -import { BOT_SLOWMODE_DISABLE_PERMISSIONS } from "../requiredPermissions"; import { missingPermissionError } from "../../../utils/missingPermissionError"; -import { Message, TextChannel } from "discord.js"; +import { BOT_SLOWMODE_DISABLE_PERMISSIONS } from "../requiredPermissions"; +import { disableBotSlowmodeForChannel } from "./disableBotSlowmodeForChannel"; export async function actualDisableSlowmodeCmd(msg: Message, args, pluginData) { const botSlowmode = await pluginData.state.slowmodes.getChannelSlowmode(args.channel.id); diff --git a/backend/src/plugins/Slowmode/util/applyBotSlowmodeToUserId.ts b/backend/src/plugins/Slowmode/util/applyBotSlowmodeToUserId.ts index 02f465ec..0490be02 100644 --- a/backend/src/plugins/Slowmode/util/applyBotSlowmodeToUserId.ts +++ b/backend/src/plugins/Slowmode/util/applyBotSlowmodeToUserId.ts @@ -1,10 +1,10 @@ -import { SlowmodePluginType } from "../types"; +import { GuildChannel, Permissions, TextChannel } from "discord.js"; import { GuildPluginData } from "knub"; - -import { isDiscordRESTError, stripObjectToScalars, UnknownUser } from "../../../utils"; import { LogType } from "../../../data/LogType"; import { logger } from "../../../logger"; -import { GuildChannel, TextChannel, Permissions } from "discord.js"; +import { isDiscordRESTError, stripObjectToScalars, UnknownUser } from "../../../utils"; +import { SlowmodePluginType } from "../types"; + export async function applyBotSlowmodeToUserId( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Slowmode/util/clearExpiredSlowmodes.ts b/backend/src/plugins/Slowmode/util/clearExpiredSlowmodes.ts index 66357446..a405b9b2 100644 --- a/backend/src/plugins/Slowmode/util/clearExpiredSlowmodes.ts +++ b/backend/src/plugins/Slowmode/util/clearExpiredSlowmodes.ts @@ -1,11 +1,11 @@ +import { GuildChannel, TextChannel } from "discord.js"; import { GuildPluginData } from "knub"; -import { SlowmodePluginType } from "../types"; import { LogType } from "../../../data/LogType"; import { logger } from "../../../logger"; - import { stripObjectToScalars, UnknownUser } from "../../../utils"; +import { SlowmodePluginType } from "../types"; import { clearBotSlowmodeFromUserId } from "./clearBotSlowmodeFromUserId"; -import { GuildChannel, TextChannel } from "discord.js"; + export async function clearExpiredSlowmodes(pluginData: GuildPluginData) { const expiredSlowmodeUsers = await pluginData.state.slowmodes.getExpiredSlowmodeUsers(); diff --git a/backend/src/plugins/Slowmode/util/onMessageCreate.ts b/backend/src/plugins/Slowmode/util/onMessageCreate.ts index 035337f5..aa2a1db3 100644 --- a/backend/src/plugins/Slowmode/util/onMessageCreate.ts +++ b/backend/src/plugins/Slowmode/util/onMessageCreate.ts @@ -1,17 +1,17 @@ -import { SavedMessage } from "../../../data/entities/SavedMessage"; - -import { GuildPluginData } from "knub"; -import { SlowmodePluginType } from "../types"; -import { resolveMember } from "../../../utils"; -import { applyBotSlowmodeToUserId } from "./applyBotSlowmodeToUserId"; -import { hasPermission } from "../../../pluginUtils"; -import { getMissingChannelPermissions } from "../../../utils/getMissingChannelPermissions"; -import { BOT_SLOWMODE_PERMISSIONS } from "../requiredPermissions"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; -import { LogType } from "../../../data/LogType"; -import { missingPermissionError } from "../../../utils/missingPermissionError"; -import { messageLock } from "../../../utils/lockNameHelpers"; import { TextChannel } from "discord.js"; +import { GuildPluginData } from "knub"; +import { SavedMessage } from "../../../data/entities/SavedMessage"; +import { LogType } from "../../../data/LogType"; +import { hasPermission } from "../../../pluginUtils"; +import { resolveMember } from "../../../utils"; +import { getMissingChannelPermissions } from "../../../utils/getMissingChannelPermissions"; +import { messageLock } from "../../../utils/lockNameHelpers"; +import { missingPermissionError } from "../../../utils/missingPermissionError"; +import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { BOT_SLOWMODE_PERMISSIONS } from "../requiredPermissions"; +import { SlowmodePluginType } from "../types"; +import { applyBotSlowmodeToUserId } from "./applyBotSlowmodeToUserId"; + export async function onMessageCreate(pluginData: GuildPluginData, msg: SavedMessage) { if (msg.is_bot) return; diff --git a/backend/src/plugins/Spam/SpamPlugin.ts b/backend/src/plugins/Spam/SpamPlugin.ts index 5bad893d..ddf45a0b 100644 --- a/backend/src/plugins/Spam/SpamPlugin.ts +++ b/backend/src/plugins/Spam/SpamPlugin.ts @@ -1,15 +1,15 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { PluginOptions } from "knub"; -import { ConfigSchema, SpamPluginType } from "./types"; -import { GuildLogs } from "../../data/GuildLogs"; import { GuildArchives } from "../../data/GuildArchives"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { GuildLogs } from "../../data/GuildLogs"; import { GuildMutes } from "../../data/GuildMutes"; -import { onMessageCreate } from "./util/onMessageCreate"; -import { clearOldRecentActions } from "./util/clearOldRecentActions"; -import { SpamVoiceStateUpdateEvt } from "./events/SpamVoiceEvt"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { trimPluginDescription } from "../../utils"; import { LogsPlugin } from "../Logs/LogsPlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { SpamVoiceStateUpdateEvt } from "./events/SpamVoiceEvt"; +import { ConfigSchema, SpamPluginType } from "./types"; +import { clearOldRecentActions } from "./util/clearOldRecentActions"; +import { onMessageCreate } from "./util/onMessageCreate"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/Spam/events/SpamVoiceEvt.ts b/backend/src/plugins/Spam/events/SpamVoiceEvt.ts index 2b553e06..7e862325 100644 --- a/backend/src/plugins/Spam/events/SpamVoiceEvt.ts +++ b/backend/src/plugins/Spam/events/SpamVoiceEvt.ts @@ -1,4 +1,4 @@ -import { spamEvt, RecentActionType } from "../types"; +import { RecentActionType, spamEvt } from "../types"; import { logAndDetectOtherSpam } from "../util/logAndDetectOtherSpam"; export const SpamVoiceStateUpdateEvt = spamEvt({ diff --git a/backend/src/plugins/Spam/types.ts b/backend/src/plugins/Spam/types.ts index 9d4e0567..68697f02 100644 --- a/backend/src/plugins/Spam/types.ts +++ b/backend/src/plugins/Spam/types.ts @@ -1,10 +1,10 @@ import * as t from "io-ts"; import { BasePluginType, typedGuildEventListener } from "knub"; -import { tNullable } from "../../utils"; -import { GuildLogs } from "../../data/GuildLogs"; import { GuildArchives } from "../../data/GuildArchives"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { GuildLogs } from "../../data/GuildLogs"; import { GuildMutes } from "../../data/GuildMutes"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { tNullable } from "../../utils"; const BaseSingleSpamConfig = t.type({ interval: t.number, diff --git a/backend/src/plugins/Spam/util/addRecentAction.ts b/backend/src/plugins/Spam/util/addRecentAction.ts index ec9e1261..418702a8 100644 --- a/backend/src/plugins/Spam/util/addRecentAction.ts +++ b/backend/src/plugins/Spam/util/addRecentAction.ts @@ -1,5 +1,5 @@ import { GuildPluginData } from "knub"; -import { SpamPluginType, RecentActionType } from "../types"; +import { RecentActionType, SpamPluginType } from "../types"; export function addRecentAction( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Spam/util/clearRecentUserActions.ts b/backend/src/plugins/Spam/util/clearRecentUserActions.ts index 839ac107..cfaf7b53 100644 --- a/backend/src/plugins/Spam/util/clearRecentUserActions.ts +++ b/backend/src/plugins/Spam/util/clearRecentUserActions.ts @@ -1,5 +1,5 @@ -import { RecentActionType, SpamPluginType } from "../types"; import { GuildPluginData } from "knub"; +import { RecentActionType, SpamPluginType } from "../types"; export function clearRecentUserActions( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Spam/util/getRecentActionCount.ts b/backend/src/plugins/Spam/util/getRecentActionCount.ts index c7ae5c55..5b0b0aef 100644 --- a/backend/src/plugins/Spam/util/getRecentActionCount.ts +++ b/backend/src/plugins/Spam/util/getRecentActionCount.ts @@ -1,5 +1,5 @@ -import { RecentActionType, SpamPluginType } from "../types"; import { GuildPluginData } from "knub"; +import { RecentActionType, SpamPluginType } from "../types"; export function getRecentActionCount( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Spam/util/getRecentActions.ts b/backend/src/plugins/Spam/util/getRecentActions.ts index 765a1300..ff3f31ac 100644 --- a/backend/src/plugins/Spam/util/getRecentActions.ts +++ b/backend/src/plugins/Spam/util/getRecentActions.ts @@ -1,5 +1,5 @@ -import { RecentActionType, SpamPluginType } from "../types"; import { GuildPluginData } from "knub"; +import { RecentActionType, SpamPluginType } from "../types"; export function getRecentActions( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Spam/util/logAndDetectMessageSpam.ts b/backend/src/plugins/Spam/util/logAndDetectMessageSpam.ts index 0ce54e7f..a7846eb4 100644 --- a/backend/src/plugins/Spam/util/logAndDetectMessageSpam.ts +++ b/backend/src/plugins/Spam/util/logAndDetectMessageSpam.ts @@ -1,29 +1,29 @@ -import { SavedMessage } from "../../../data/entities/SavedMessage"; -import { RecentActionType, SpamPluginType, TBaseSingleSpamConfig } from "../types"; -import moment from "moment-timezone"; -import { MuteResult } from "../../../plugins/Mutes/types"; -import { - convertDelayStringToMS, - DBDateFormat, - noop, - resolveMember, - stripObjectToScalars, - trimLines, -} from "../../../utils"; -import { LogType } from "../../../data/LogType"; -import { CaseTypes } from "../../../data/CaseTypes"; -import { logger } from "../../../logger"; +import { TextChannel } from "discord.js"; import { GuildPluginData } from "knub"; -import { MutesPlugin } from "../../../plugins/Mutes/MutesPlugin"; +import moment from "moment-timezone"; +import { CaseTypes } from "../../../data/CaseTypes"; +import { SavedMessage } from "../../../data/entities/SavedMessage"; +import { LogType } from "../../../data/LogType"; +import { logger } from "../../../logger"; import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; +import { MutesPlugin } from "../../../plugins/Mutes/MutesPlugin"; +import { MuteResult } from "../../../plugins/Mutes/types"; +import { ERRORS, RecoverablePluginError } from "../../../RecoverablePluginError"; +import { + convertDelayStringToMS, + DBDateFormat, + noop, + resolveMember, + stripObjectToScalars, + trimLines +} from "../../../utils"; +import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { RecentActionType, SpamPluginType, TBaseSingleSpamConfig } from "../types"; import { addRecentAction } from "./addRecentAction"; +import { clearRecentUserActions } from "./clearRecentUserActions"; import { getRecentActionCount } from "./getRecentActionCount"; import { getRecentActions } from "./getRecentActions"; -import { clearRecentUserActions } from "./clearRecentUserActions"; import { saveSpamArchives } from "./saveSpamArchives"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; -import { ERRORS, RecoverablePluginError } from "../../../RecoverablePluginError"; -import { TextChannel } from "discord.js"; export async function logAndDetectMessageSpam( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Spam/util/logAndDetectOtherSpam.ts b/backend/src/plugins/Spam/util/logAndDetectOtherSpam.ts index b7cc82ec..7e1b3c60 100644 --- a/backend/src/plugins/Spam/util/logAndDetectOtherSpam.ts +++ b/backend/src/plugins/Spam/util/logAndDetectOtherSpam.ts @@ -1,15 +1,15 @@ import { GuildPluginData } from "knub"; -import { SpamPluginType, RecentActionType } from "../types"; -import { addRecentAction } from "./addRecentAction"; -import { getRecentActionCount } from "./getRecentActionCount"; -import { resolveMember, convertDelayStringToMS, stripObjectToScalars } from "../../../utils"; -import { MutesPlugin } from "../../../plugins/Mutes/MutesPlugin"; -import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; import { CaseTypes } from "../../../data/CaseTypes"; -import { clearRecentUserActions } from "./clearRecentUserActions"; import { LogType } from "../../../data/LogType"; +import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; +import { MutesPlugin } from "../../../plugins/Mutes/MutesPlugin"; import { ERRORS, RecoverablePluginError } from "../../../RecoverablePluginError"; +import { convertDelayStringToMS, resolveMember, stripObjectToScalars } from "../../../utils"; import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { RecentActionType, SpamPluginType } from "../types"; +import { addRecentAction } from "./addRecentAction"; +import { clearRecentUserActions } from "./clearRecentUserActions"; +import { getRecentActionCount } from "./getRecentActionCount"; export async function logAndDetectOtherSpam( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Spam/util/logCensor.ts b/backend/src/plugins/Spam/util/logCensor.ts index 318a0bae..cb503da4 100644 --- a/backend/src/plugins/Spam/util/logCensor.ts +++ b/backend/src/plugins/Spam/util/logCensor.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; -import { SpamPluginType, RecentActionType } from "../types"; import { SavedMessage } from "../../../data/entities/SavedMessage"; +import { RecentActionType, SpamPluginType } from "../types"; import { logAndDetectMessageSpam } from "./logAndDetectMessageSpam"; export async function logCensor(pluginData: GuildPluginData, savedMessage: SavedMessage) { diff --git a/backend/src/plugins/Spam/util/onMessageCreate.ts b/backend/src/plugins/Spam/util/onMessageCreate.ts index cedb0616..17410a19 100644 --- a/backend/src/plugins/Spam/util/onMessageCreate.ts +++ b/backend/src/plugins/Spam/util/onMessageCreate.ts @@ -1,7 +1,7 @@ import { GuildPluginData } from "knub"; -import { SpamPluginType, RecentActionType } from "../types"; import { SavedMessage } from "../../../data/entities/SavedMessage"; -import { getUserMentions, getRoleMentions, getUrlsInString, getEmojiInString } from "../../../utils"; +import { getEmojiInString, getRoleMentions, getUrlsInString, getUserMentions } from "../../../utils"; +import { RecentActionType, SpamPluginType } from "../types"; import { logAndDetectMessageSpam } from "./logAndDetectMessageSpam"; export async function onMessageCreate(pluginData: GuildPluginData, savedMessage: SavedMessage) { diff --git a/backend/src/plugins/Spam/util/saveSpamArchives.ts b/backend/src/plugins/Spam/util/saveSpamArchives.ts index 9a3b3cac..d6d062a1 100644 --- a/backend/src/plugins/Spam/util/saveSpamArchives.ts +++ b/backend/src/plugins/Spam/util/saveSpamArchives.ts @@ -1,7 +1,7 @@ -import { SavedMessage } from "../../../data/entities/SavedMessage"; -import moment from "moment-timezone"; -import { getBaseUrl } from "../../../pluginUtils"; import { GuildPluginData } from "knub"; +import moment from "moment-timezone"; +import { SavedMessage } from "../../../data/entities/SavedMessage"; +import { getBaseUrl } from "../../../pluginUtils"; import { SpamPluginType } from "../types"; const SPAM_ARCHIVE_EXPIRY_DAYS = 90; diff --git a/backend/src/plugins/Starboard/StarboardPlugin.ts b/backend/src/plugins/Starboard/StarboardPlugin.ts index 817828a1..a7ab3ff2 100644 --- a/backend/src/plugins/Starboard/StarboardPlugin.ts +++ b/backend/src/plugins/Starboard/StarboardPlugin.ts @@ -1,14 +1,14 @@ import { PluginOptions } from "knub"; -import { ConfigSchema, defaultStarboardOpts, StarboardPluginType } from "./types"; -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { trimPluginDescription } from "../../utils"; import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { GuildStarboardMessages } from "../../data/GuildStarboardMessages"; import { GuildStarboardReactions } from "../../data/GuildStarboardReactions"; -import { onMessageDelete } from "./util/onMessageDelete"; +import { trimPluginDescription } from "../../utils"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { MigratePinsCmd } from "./commands/MigratePinsCmd"; import { StarboardReactionAddEvt } from "./events/StarboardReactionAddEvt"; -import { StarboardReactionRemoveEvt, StarboardReactionRemoveAllEvt } from "./events/StarboardReactionRemoveEvts"; +import { StarboardReactionRemoveAllEvt, StarboardReactionRemoveEvt } from "./events/StarboardReactionRemoveEvts"; +import { ConfigSchema, defaultStarboardOpts, StarboardPluginType } from "./types"; +import { onMessageDelete } from "./util/onMessageDelete"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/Starboard/commands/MigratePinsCmd.ts b/backend/src/plugins/Starboard/commands/MigratePinsCmd.ts index 27b08d4d..d88fa744 100644 --- a/backend/src/plugins/Starboard/commands/MigratePinsCmd.ts +++ b/backend/src/plugins/Starboard/commands/MigratePinsCmd.ts @@ -1,9 +1,9 @@ -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { starboardCmd } from "../types"; -import { sendSuccessMessage, sendErrorMessage } from "../../../pluginUtils"; - -import { saveMessageToStarboard } from "../util/saveMessageToStarboard"; import { TextChannel } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { starboardCmd } from "../types"; +import { saveMessageToStarboard } from "../util/saveMessageToStarboard"; + export const MigratePinsCmd = starboardCmd({ trigger: "starboard migrate_pins", diff --git a/backend/src/plugins/Starboard/events/StarboardReactionAddEvt.ts b/backend/src/plugins/Starboard/events/StarboardReactionAddEvt.ts index ddcdb925..bedbddc5 100644 --- a/backend/src/plugins/Starboard/events/StarboardReactionAddEvt.ts +++ b/backend/src/plugins/Starboard/events/StarboardReactionAddEvt.ts @@ -1,10 +1,10 @@ +import { Message, TextChannel } from "discord.js"; +import { noop, resolveMember } from "../../../utils"; +import { allStarboardsLock } from "../../../utils/lockNameHelpers"; import { starboardEvt } from "../types"; - -import { UnknownUser, resolveMember, noop, resolveUser } from "../../../utils"; import { saveMessageToStarboard } from "../util/saveMessageToStarboard"; import { updateStarboardMessageStarCount } from "../util/updateStarboardMessageStarCount"; -import { allStarboardsLock } from "../../../utils/lockNameHelpers"; -import { Message, TextChannel } from "discord.js"; + export const StarboardReactionAddEvt = starboardEvt({ event: "messageReactionAdd", diff --git a/backend/src/plugins/Starboard/types.ts b/backend/src/plugins/Starboard/types.ts index a8d160b4..de460e5b 100644 --- a/backend/src/plugins/Starboard/types.ts +++ b/backend/src/plugins/Starboard/types.ts @@ -1,9 +1,9 @@ import * as t from "io-ts"; import { BasePluginType, typedGuildCommand, typedGuildEventListener } from "knub"; -import { tNullable, tDeepPartial } from "../../utils"; import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { GuildStarboardMessages } from "../../data/GuildStarboardMessages"; import { GuildStarboardReactions } from "../../data/GuildStarboardReactions"; +import { tDeepPartial, tNullable } from "../../utils"; const StarboardOpts = t.type({ channel_id: t.string, diff --git a/backend/src/plugins/Starboard/util/createStarboardEmbedFromMessage.ts b/backend/src/plugins/Starboard/util/createStarboardEmbedFromMessage.ts index 7c47e846..ffff5915 100644 --- a/backend/src/plugins/Starboard/util/createStarboardEmbedFromMessage.ts +++ b/backend/src/plugins/Starboard/util/createStarboardEmbedFromMessage.ts @@ -1,7 +1,7 @@ -import { EmbedWith, EMPTY_CHAR, messageLink } from "../../../utils"; - +import { GuildChannel, Message } from "discord.js"; import path from "path"; -import { Message, GuildChannel } from "discord.js"; +import { EmbedWith, EMPTY_CHAR } from "../../../utils"; + const imageAttachmentExtensions = ["jpeg", "jpg", "png", "gif", "webp"]; const audioAttachmentExtensions = ["wav", "mp3", "m4a"]; diff --git a/backend/src/plugins/Starboard/util/createStarboardPseudoFooterForMessage.ts b/backend/src/plugins/Starboard/util/createStarboardPseudoFooterForMessage.ts index 04f32806..49d2cdde 100644 --- a/backend/src/plugins/Starboard/util/createStarboardPseudoFooterForMessage.ts +++ b/backend/src/plugins/Starboard/util/createStarboardPseudoFooterForMessage.ts @@ -1,4 +1,4 @@ -import { Message, EmbedField } from "discord.js"; +import { EmbedField, Message } from "discord.js"; import { EMPTY_CHAR, messageLink } from "../../../utils"; import { TStarboardOpts } from "../types"; diff --git a/backend/src/plugins/Starboard/util/onMessageDelete.ts b/backend/src/plugins/Starboard/util/onMessageDelete.ts index 74477afe..fb6c7f2e 100644 --- a/backend/src/plugins/Starboard/util/onMessageDelete.ts +++ b/backend/src/plugins/Starboard/util/onMessageDelete.ts @@ -1,5 +1,5 @@ -import { SavedMessage } from "../../../data/entities/SavedMessage"; import { GuildPluginData } from "knub"; +import { SavedMessage } from "../../../data/entities/SavedMessage"; import { StarboardPluginType } from "../types"; import { removeMessageFromStarboard } from "./removeMessageFromStarboard"; import { removeMessageFromStarboardMessages } from "./removeMessageFromStarboardMessages"; diff --git a/backend/src/plugins/Starboard/util/preprocessStaticConfig.ts b/backend/src/plugins/Starboard/util/preprocessStaticConfig.ts index b690fbf8..708b4a89 100644 --- a/backend/src/plugins/Starboard/util/preprocessStaticConfig.ts +++ b/backend/src/plugins/Starboard/util/preprocessStaticConfig.ts @@ -1,5 +1,5 @@ -import { PartialConfigSchema, defaultStarboardOpts } from "../types"; import * as t from "io-ts"; +import { defaultStarboardOpts, PartialConfigSchema } from "../types"; export function preprocessStaticConfig(config: t.TypeOf) { if (config.boards) { diff --git a/backend/src/plugins/Starboard/util/saveMessageToStarboard.ts b/backend/src/plugins/Starboard/util/saveMessageToStarboard.ts index 88f6023b..ad2cd8b7 100644 --- a/backend/src/plugins/Starboard/util/saveMessageToStarboard.ts +++ b/backend/src/plugins/Starboard/util/saveMessageToStarboard.ts @@ -1,12 +1,9 @@ +import { Message, TextChannel } from "discord.js"; import { GuildPluginData } from "knub"; import { StarboardPluginType, TStarboardOpts } from "../types"; - -import moment from "moment-timezone"; -import { EmbedWith, EMPTY_CHAR, messageLink } from "../../../utils"; -import path from "path"; import { createStarboardEmbedFromMessage } from "./createStarboardEmbedFromMessage"; import { createStarboardPseudoFooterForMessage } from "./createStarboardPseudoFooterForMessage"; -import { Message, TextChannel } from "discord.js"; + export async function saveMessageToStarboard( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Starboard/util/updateStarboardMessageStarCount.ts b/backend/src/plugins/Starboard/util/updateStarboardMessageStarCount.ts index 3cccbd37..b6375a28 100644 --- a/backend/src/plugins/Starboard/util/updateStarboardMessageStarCount.ts +++ b/backend/src/plugins/Starboard/util/updateStarboardMessageStarCount.ts @@ -1,8 +1,7 @@ -import { noop } from "../../../utils"; -import { createStarboardPseudoFooterForMessage } from "./createStarboardPseudoFooterForMessage"; -import { TStarboardOpts } from "../types"; -import Timeout = NodeJS.Timeout; import { Message } from "discord.js"; +import { TStarboardOpts } from "../types"; +import { createStarboardPseudoFooterForMessage } from "./createStarboardPseudoFooterForMessage"; +import Timeout = NodeJS.Timeout; const DEBOUNCE_DELAY = 1000; const debouncedUpdates: Record = {}; diff --git a/backend/src/plugins/Tags/TagsPlugin.ts b/backend/src/plugins/Tags/TagsPlugin.ts index 889c92b2..2d6b83f9 100644 --- a/backend/src/plugins/Tags/TagsPlugin.ts +++ b/backend/src/plugins/Tags/TagsPlugin.ts @@ -1,25 +1,25 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { ConfigSchema, TagsPluginType } from "./types"; +import humanizeDuration from "humanize-duration"; import { PluginOptions } from "knub"; +import moment from "moment-timezone"; +import { StrictValidationError } from "src/validatorUtils"; import { GuildArchives } from "../../data/GuildArchives"; -import { GuildTags } from "../../data/GuildTags"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { GuildLogs } from "../../data/GuildLogs"; -import { onMessageCreate } from "./util/onMessageCreate"; -import { onMessageDelete } from "./util/onMessageDelete"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { GuildTags } from "../../data/GuildTags"; +import { mapToPublicFn } from "../../pluginUtils"; +import { convertDelayStringToMS } from "../../utils"; +import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { TagCreateCmd } from "./commands/TagCreateCmd"; import { TagDeleteCmd } from "./commands/TagDeleteCmd"; import { TagEvalCmd } from "./commands/TagEvalCmd"; import { TagListCmd } from "./commands/TagListCmd"; import { TagSourceCmd } from "./commands/TagSourceCmd"; -import moment from "moment-timezone"; -import humanizeDuration from "humanize-duration"; -import { convertDelayStringToMS } from "../../utils"; -import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; -import { mapToPublicFn } from "../../pluginUtils"; -import { renderTagBody } from "./util/renderTagBody"; +import { ConfigSchema, TagsPluginType } from "./types"; import { findTagByName } from "./util/findTagByName"; -import { StrictValidationError } from "src/validatorUtils"; +import { onMessageCreate } from "./util/onMessageCreate"; +import { onMessageDelete } from "./util/onMessageDelete"; +import { renderTagBody } from "./util/renderTagBody"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/Tags/commands/TagCreateCmd.ts b/backend/src/plugins/Tags/commands/TagCreateCmd.ts index c55a5cab..0595e4bb 100644 --- a/backend/src/plugins/Tags/commands/TagCreateCmd.ts +++ b/backend/src/plugins/Tags/commands/TagCreateCmd.ts @@ -1,7 +1,7 @@ -import { tagsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { parseTemplate, TemplateParseError } from "../../../templateFormatter"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { parseTemplate, TemplateParseError } from "../../../templateFormatter"; +import { tagsCmd } from "../types"; export const TagCreateCmd = tagsCmd({ trigger: "tag", diff --git a/backend/src/plugins/Tags/commands/TagDeleteCmd.ts b/backend/src/plugins/Tags/commands/TagDeleteCmd.ts index 40875d21..47cb623d 100644 --- a/backend/src/plugins/Tags/commands/TagDeleteCmd.ts +++ b/backend/src/plugins/Tags/commands/TagDeleteCmd.ts @@ -1,6 +1,6 @@ -import { tagsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { tagsCmd } from "../types"; export const TagDeleteCmd = tagsCmd({ trigger: "tag delete", diff --git a/backend/src/plugins/Tags/commands/TagEvalCmd.ts b/backend/src/plugins/Tags/commands/TagEvalCmd.ts index 7d47b8be..61d8569c 100644 --- a/backend/src/plugins/Tags/commands/TagEvalCmd.ts +++ b/backend/src/plugins/Tags/commands/TagEvalCmd.ts @@ -1,10 +1,10 @@ -import { tagsCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; - -import { TemplateParseError } from "../../../templateFormatter"; import { sendErrorMessage } from "../../../pluginUtils"; -import { renderTagBody } from "../util/renderTagBody"; +import { TemplateParseError } from "../../../templateFormatter"; import { stripObjectToScalars } from "../../../utils"; +import { tagsCmd } from "../types"; +import { renderTagBody } from "../util/renderTagBody"; + export const TagEvalCmd = tagsCmd({ trigger: "tag eval", diff --git a/backend/src/plugins/Tags/commands/TagListCmd.ts b/backend/src/plugins/Tags/commands/TagListCmd.ts index 8ab8d8de..41febd5d 100644 --- a/backend/src/plugins/Tags/commands/TagListCmd.ts +++ b/backend/src/plugins/Tags/commands/TagListCmd.ts @@ -1,5 +1,5 @@ -import { tagsCmd } from "../types"; import { createChunkedMessage } from "../../../utils"; +import { tagsCmd } from "../types"; export const TagListCmd = tagsCmd({ trigger: ["tag list", "tags", "taglist"], diff --git a/backend/src/plugins/Tags/commands/TagSourceCmd.ts b/backend/src/plugins/Tags/commands/TagSourceCmd.ts index 08847b00..9e0e5cef 100644 --- a/backend/src/plugins/Tags/commands/TagSourceCmd.ts +++ b/backend/src/plugins/Tags/commands/TagSourceCmd.ts @@ -1,7 +1,7 @@ -import { tagsCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { sendErrorMessage, getBaseUrl, sendSuccessMessage } from "../../../pluginUtils"; import moment from "moment-timezone"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { getBaseUrl, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { tagsCmd } from "../types"; export const TagSourceCmd = tagsCmd({ trigger: "tag", diff --git a/backend/src/plugins/Tags/types.ts b/backend/src/plugins/Tags/types.ts index 348e2982..17ad0fc8 100644 --- a/backend/src/plugins/Tags/types.ts +++ b/backend/src/plugins/Tags/types.ts @@ -1,10 +1,10 @@ import * as t from "io-ts"; import { BasePluginType, typedGuildCommand, typedGuildEventListener } from "knub"; -import { tNullable, tEmbed } from "../../utils"; import { GuildArchives } from "../../data/GuildArchives"; -import { GuildTags } from "../../data/GuildTags"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { GuildLogs } from "../../data/GuildLogs"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { GuildTags } from "../../data/GuildTags"; +import { tEmbed, tNullable } from "../../utils"; export const Tag = t.union([t.string, tEmbed]); diff --git a/backend/src/plugins/Tags/util/findTagByName.ts b/backend/src/plugins/Tags/util/findTagByName.ts index c8e3807a..4ec61ec5 100644 --- a/backend/src/plugins/Tags/util/findTagByName.ts +++ b/backend/src/plugins/Tags/util/findTagByName.ts @@ -1,7 +1,7 @@ -import { GuildPluginData } from "knub"; -import { Tag, TagsPluginType } from "../types"; -import { ExtendedMatchParams } from "knub/dist/config/PluginConfigManager"; import * as t from "io-ts"; +import { GuildPluginData } from "knub"; +import { ExtendedMatchParams } from "knub/dist/config/PluginConfigManager"; +import { Tag, TagsPluginType } from "../types"; export async function findTagByName( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Tags/util/matchAndRenderTagFromString.ts b/backend/src/plugins/Tags/util/matchAndRenderTagFromString.ts index 968fc1e7..db436067 100644 --- a/backend/src/plugins/Tags/util/matchAndRenderTagFromString.ts +++ b/backend/src/plugins/Tags/util/matchAndRenderTagFromString.ts @@ -1,10 +1,10 @@ -import { ExtendedMatchParams } from "knub/dist/config/PluginConfigManager"; +import { GuildMember } from "discord.js"; +import escapeStringRegexp from "escape-string-regexp"; import { GuildPluginData } from "knub"; +import { ExtendedMatchParams } from "knub/dist/config/PluginConfigManager"; +import { StrictMessageContent } from "../../../utils"; import { TagsPluginType, TTagCategory } from "../types"; import { renderTagFromString } from "./renderTagFromString"; -import { convertDelayStringToMS, StrictMessageContent } from "../../../utils"; -import escapeStringRegexp from "escape-string-regexp"; -import { GuildMember } from "discord.js"; interface BaseResult { renderedContent: StrictMessageContent; diff --git a/backend/src/plugins/Tags/util/onMessageCreate.ts b/backend/src/plugins/Tags/util/onMessageCreate.ts index e6169eb5..432b73ab 100644 --- a/backend/src/plugins/Tags/util/onMessageCreate.ts +++ b/backend/src/plugins/Tags/util/onMessageCreate.ts @@ -1,14 +1,14 @@ -import { TagsPluginType } from "../types"; -import { SavedMessage } from "../../../data/entities/SavedMessage"; -import { GuildPluginData } from "knub"; -import { convertDelayStringToMS, noop, resolveMember, tStrictMessageContent } from "../../../utils"; -import { validate } from "../../../validatorUtils"; -import { LogType } from "../../../data/LogType"; - -import { matchAndRenderTagFromString } from "./matchAndRenderTagFromString"; -import { messageIsEmpty } from "../../../utils/messageIsEmpty"; import { TextChannel } from "discord.js"; +import { GuildPluginData } from "knub"; import { erisAllowedMentionsToDjsMentionOptions } from "src/utils/erisAllowedMentionsToDjsMentionOptions"; +import { SavedMessage } from "../../../data/entities/SavedMessage"; +import { LogType } from "../../../data/LogType"; +import { convertDelayStringToMS, resolveMember, tStrictMessageContent } from "../../../utils"; +import { messageIsEmpty } from "../../../utils/messageIsEmpty"; +import { validate } from "../../../validatorUtils"; +import { TagsPluginType } from "../types"; +import { matchAndRenderTagFromString } from "./matchAndRenderTagFromString"; + export async function onMessageCreate(pluginData: GuildPluginData, msg: SavedMessage) { if (msg.is_bot) return; diff --git a/backend/src/plugins/Tags/util/onMessageDelete.ts b/backend/src/plugins/Tags/util/onMessageDelete.ts index 7a418bb0..e8643e85 100644 --- a/backend/src/plugins/Tags/util/onMessageDelete.ts +++ b/backend/src/plugins/Tags/util/onMessageDelete.ts @@ -1,7 +1,7 @@ -import { GuildPluginData } from "knub"; -import { TagsPluginType } from "../types"; -import { SavedMessage } from "../../../data/entities/SavedMessage"; import { TextChannel } from "discord.js"; +import { GuildPluginData } from "knub"; +import { SavedMessage } from "../../../data/entities/SavedMessage"; +import { TagsPluginType } from "../types"; export async function onMessageDelete(pluginData: GuildPluginData, msg: SavedMessage) { // Command message was deleted -> delete the response as well diff --git a/backend/src/plugins/Tags/util/renderTagBody.ts b/backend/src/plugins/Tags/util/renderTagBody.ts index 735455dc..725275f1 100644 --- a/backend/src/plugins/Tags/util/renderTagBody.ts +++ b/backend/src/plugins/Tags/util/renderTagBody.ts @@ -1,10 +1,10 @@ -import { renderTemplate } from "../../../templateFormatter"; -import { GuildPluginData } from "knub"; -import { Tag, TagsPluginType } from "../types"; -import { renderRecursively, StrictMessageContent } from "../../../utils"; import * as t from "io-ts"; -import { findTagByName } from "./findTagByName"; +import { GuildPluginData } from "knub"; import { ExtendedMatchParams } from "knub/dist/config/PluginConfigManager"; +import { renderTemplate } from "../../../templateFormatter"; +import { renderRecursively, StrictMessageContent } from "../../../utils"; +import { Tag, TagsPluginType } from "../types"; +import { findTagByName } from "./findTagByName"; export async function renderTagBody( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Tags/util/renderTagFromString.ts b/backend/src/plugins/Tags/util/renderTagFromString.ts index 5e5975a1..89b489b0 100644 --- a/backend/src/plugins/Tags/util/renderTagFromString.ts +++ b/backend/src/plugins/Tags/util/renderTagFromString.ts @@ -1,15 +1,14 @@ -import { Tag, TagsPluginType } from "../types"; - -import * as t from "io-ts"; -import { renderRecursively, StrictMessageContent, stripObjectToScalars } from "../../../utils"; -import { parseArguments } from "knub-command-manager"; -import { TemplateParseError } from "../../../templateFormatter"; -import { GuildPluginData } from "knub"; -import { logger } from "../../../logger"; -import { LogsPlugin } from "../../Logs/LogsPlugin"; -import { LogType } from "../../../data/LogType"; -import { renderTagBody } from "./renderTagBody"; import { GuildMember } from "discord.js"; +import * as t from "io-ts"; +import { GuildPluginData } from "knub"; +import { parseArguments } from "knub-command-manager"; +import { LogType } from "../../../data/LogType"; +import { TemplateParseError } from "../../../templateFormatter"; +import { StrictMessageContent, stripObjectToScalars } from "../../../utils"; +import { LogsPlugin } from "../../Logs/LogsPlugin"; +import { Tag, TagsPluginType } from "../types"; +import { renderTagBody } from "./renderTagBody"; + export async function renderTagFromString( pluginData: GuildPluginData, diff --git a/backend/src/plugins/TimeAndDate/TimeAndDatePlugin.ts b/backend/src/plugins/TimeAndDate/TimeAndDatePlugin.ts index 7d079265..2f0d6cdf 100644 --- a/backend/src/plugins/TimeAndDate/TimeAndDatePlugin.ts +++ b/backend/src/plugins/TimeAndDate/TimeAndDatePlugin.ts @@ -1,19 +1,18 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { ConfigSchema, TimeAndDatePluginType } from "./types"; -import { GuildMemberTimezones } from "../../data/GuildMemberTimezones"; import { PluginOptions } from "knub"; +import { GuildMemberTimezones } from "../../data/GuildMemberTimezones"; +import { mapToPublicFn } from "../../pluginUtils"; +import { trimPluginDescription } from "../../utils"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { ResetTimezoneCmd } from "./commands/ResetTimezoneCmd"; import { SetTimezoneCmd } from "./commands/SetTimezoneCmd"; import { ViewTimezoneCmd } from "./commands/ViewTimezoneCmd"; import { defaultDateFormats } from "./defaultDateFormats"; -import { Tail } from "../../utils/typeUtils"; -import { inGuildTz } from "./functions/inGuildTz"; -import { mapToPublicFn } from "../../pluginUtils"; +import { getDateFormat } from "./functions/getDateFormat"; import { getGuildTz } from "./functions/getGuildTz"; import { getMemberTz } from "./functions/getMemberTz"; -import { getDateFormat } from "./functions/getDateFormat"; +import { inGuildTz } from "./functions/inGuildTz"; import { inMemberTz } from "./functions/inMemberTz"; -import { ResetTimezoneCmd } from "./commands/ResetTimezoneCmd"; -import { trimPluginDescription } from "../../utils"; +import { ConfigSchema, TimeAndDatePluginType } from "./types"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/TimeAndDate/commands/ResetTimezoneCmd.ts b/backend/src/plugins/TimeAndDate/commands/ResetTimezoneCmd.ts index 56cd21b7..db59965a 100644 --- a/backend/src/plugins/TimeAndDate/commands/ResetTimezoneCmd.ts +++ b/backend/src/plugins/TimeAndDate/commands/ResetTimezoneCmd.ts @@ -1,7 +1,6 @@ -import { timeAndDateCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendSuccessMessage } from "../../../pluginUtils"; import { getGuildTz } from "../functions/getGuildTz"; +import { timeAndDateCmd } from "../types"; export const ResetTimezoneCmd = timeAndDateCmd({ trigger: "timezone reset", diff --git a/backend/src/plugins/TimeAndDate/commands/SetTimezoneCmd.ts b/backend/src/plugins/TimeAndDate/commands/SetTimezoneCmd.ts index 0d69f47c..1786bd34 100644 --- a/backend/src/plugins/TimeAndDate/commands/SetTimezoneCmd.ts +++ b/backend/src/plugins/TimeAndDate/commands/SetTimezoneCmd.ts @@ -1,9 +1,8 @@ -import { timeAndDateCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; -import { isValidTimezone } from "../../../utils/isValidTimezone"; import { disableInlineCode, trimLines } from "../../../utils"; import { parseFuzzyTimezone } from "../../../utils/parseFuzzyTimezone"; +import { timeAndDateCmd } from "../types"; export const SetTimezoneCmd = timeAndDateCmd({ trigger: "timezone", diff --git a/backend/src/plugins/TimeAndDate/commands/ViewTimezoneCmd.ts b/backend/src/plugins/TimeAndDate/commands/ViewTimezoneCmd.ts index d1d41694..0c72bc4e 100644 --- a/backend/src/plugins/TimeAndDate/commands/ViewTimezoneCmd.ts +++ b/backend/src/plugins/TimeAndDate/commands/ViewTimezoneCmd.ts @@ -1,8 +1,5 @@ -import { timeAndDateCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { sendSuccessMessage } from "../../../pluginUtils"; -import { getMemberTz } from "../functions/getMemberTz"; import { getGuildTz } from "../functions/getGuildTz"; +import { timeAndDateCmd } from "../types"; export const ViewTimezoneCmd = timeAndDateCmd({ trigger: "timezone", diff --git a/backend/src/plugins/TimeAndDate/functions/getGuildTz.ts b/backend/src/plugins/TimeAndDate/functions/getGuildTz.ts index ed30d67e..922c7c88 100644 --- a/backend/src/plugins/TimeAndDate/functions/getGuildTz.ts +++ b/backend/src/plugins/TimeAndDate/functions/getGuildTz.ts @@ -1,5 +1,4 @@ import { GuildPluginData } from "knub"; -import { ZeppelinGuildConfig } from "../../../types"; import { TimeAndDatePluginType } from "../types"; export function getGuildTz(pluginData: GuildPluginData) { diff --git a/backend/src/plugins/TimeAndDate/functions/inGuildTz.ts b/backend/src/plugins/TimeAndDate/functions/inGuildTz.ts index 118e5789..d19a6d68 100644 --- a/backend/src/plugins/TimeAndDate/functions/inGuildTz.ts +++ b/backend/src/plugins/TimeAndDate/functions/inGuildTz.ts @@ -1,6 +1,6 @@ import { GuildPluginData } from "knub"; -import { TimeAndDatePluginType } from "../types"; import moment from "moment-timezone"; +import { TimeAndDatePluginType } from "../types"; import { getGuildTz } from "./getGuildTz"; export function inGuildTz(pluginData: GuildPluginData, input?: moment.Moment | number) { diff --git a/backend/src/plugins/TimeAndDate/functions/inMemberTz.ts b/backend/src/plugins/TimeAndDate/functions/inMemberTz.ts index f6adc85a..37ec7ca3 100644 --- a/backend/src/plugins/TimeAndDate/functions/inMemberTz.ts +++ b/backend/src/plugins/TimeAndDate/functions/inMemberTz.ts @@ -1,7 +1,6 @@ import { GuildPluginData } from "knub"; -import { TimeAndDatePluginType } from "../types"; import moment from "moment-timezone"; -import { getGuildTz } from "./getGuildTz"; +import { TimeAndDatePluginType } from "../types"; import { getMemberTz } from "./getMemberTz"; export async function inMemberTz( diff --git a/backend/src/plugins/TimeAndDate/types.ts b/backend/src/plugins/TimeAndDate/types.ts index 48fa5d3a..c0144bfd 100644 --- a/backend/src/plugins/TimeAndDate/types.ts +++ b/backend/src/plugins/TimeAndDate/types.ts @@ -1,7 +1,7 @@ import * as t from "io-ts"; -import { tNullable, tPartialDictionary } from "../../utils"; import { BasePluginType, typedGuildCommand } from "knub"; import { GuildMemberTimezones } from "../../data/GuildMemberTimezones"; +import { tNullable, tPartialDictionary } from "../../utils"; import { tValidTimezone } from "../../utils/tValidTimezone"; import { defaultDateFormats } from "./defaultDateFormats"; diff --git a/backend/src/plugins/UsernameSaver/UsernameSaverPlugin.ts b/backend/src/plugins/UsernameSaver/UsernameSaverPlugin.ts index fbbe1e81..3014350c 100644 --- a/backend/src/plugins/UsernameSaver/UsernameSaverPlugin.ts +++ b/backend/src/plugins/UsernameSaver/UsernameSaverPlugin.ts @@ -1,9 +1,9 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import * as t from "io-ts"; import { UsernameHistory } from "../../data/UsernameHistory"; import { Queue } from "../../Queue"; -import { UsernameSaverPluginType } from "./types"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { MessageCreateUpdateUsernameEvt, VoiceChannelJoinUpdateUsernameEvt } from "./events/UpdateUsernameEvts"; -import * as t from "io-ts"; +import { UsernameSaverPluginType } from "./types"; export const UsernameSaverPlugin = zeppelinGuildPlugin()({ name: "username_saver", diff --git a/backend/src/plugins/Utility/UtilityPlugin.ts b/backend/src/plugins/Utility/UtilityPlugin.ts index 2a22bc38..d2d32325 100644 --- a/backend/src/plugins/Utility/UtilityPlugin.ts +++ b/backend/src/plugins/Utility/UtilityPlugin.ts @@ -1,43 +1,43 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; -import { ConfigSchema, UtilityPluginType } from "./types"; -import { GuildLogs } from "../../data/GuildLogs"; -import { GuildCases } from "../../data/GuildCases"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; -import { GuildArchives } from "../../data/GuildArchives"; -import { Supporters } from "../../data/Supporters"; -import { ServerInfoCmd } from "./commands/ServerInfoCmd"; -import { RolesCmd } from "./commands/RolesCmd"; -import { LevelCmd } from "./commands/LevelCmd"; -import { SearchCmd } from "./commands/SearchCmd"; -import { BanSearchCmd } from "./commands/BanSearchCmd"; -import { UserInfoCmd } from "./commands/UserInfoCmd"; -import { NicknameResetCmd } from "./commands/NicknameResetCmd"; -import { NicknameCmd } from "./commands/NicknameCmd"; -import { PingCmd } from "./commands/PingCmd"; -import { SourceCmd } from "./commands/SourceCmd"; -import { ContextCmd } from "./commands/ContextCmd"; -import { VcmoveAllCmd, VcmoveCmd } from "./commands/VcmoveCmd"; -import { HelpCmd } from "./commands/HelpCmd"; -import { AboutCmd } from "./commands/AboutCmd"; import { PluginOptions } from "knub"; -import { activeReloads } from "./guildReloads"; +import { GuildArchives } from "../../data/GuildArchives"; +import { GuildCases } from "../../data/GuildCases"; +import { GuildLogs } from "../../data/GuildLogs"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; +import { Supporters } from "../../data/Supporters"; import { sendSuccessMessage } from "../../pluginUtils"; -import { ReloadGuildCmd } from "./commands/ReloadGuildCmd"; -import { JumboCmd } from "./commands/JumboCmd"; -import { AvatarCmd } from "./commands/AvatarCmd"; -import { CleanCmd } from "./commands/CleanCmd"; -import { InviteInfoCmd } from "./commands/InviteInfoCmd"; -import { ChannelInfoCmd } from "./commands/ChannelInfoCmd"; -import { MessageInfoCmd } from "./commands/MessageInfoCmd"; -import { InfoCmd } from "./commands/InfoCmd"; -import { SnowflakeInfoCmd } from "./commands/SnowflakeInfoCmd"; import { discardRegExpRunner, getRegExpRunner } from "../../regExpRunners"; -import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; -import { VcdisconnectCmd } from "./commands/VcdisconnectCmd"; import { ModActionsPlugin } from "../ModActions/ModActionsPlugin"; -import { refreshMembersIfNeeded } from "./refreshMembers"; -import { RoleInfoCmd } from "./commands/RoleInfoCmd"; +import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; +import { AboutCmd } from "./commands/AboutCmd"; +import { AvatarCmd } from "./commands/AvatarCmd"; +import { BanSearchCmd } from "./commands/BanSearchCmd"; +import { ChannelInfoCmd } from "./commands/ChannelInfoCmd"; +import { CleanCmd } from "./commands/CleanCmd"; +import { ContextCmd } from "./commands/ContextCmd"; import { EmojiInfoCmd } from "./commands/EmojiInfoCmd"; +import { HelpCmd } from "./commands/HelpCmd"; +import { InfoCmd } from "./commands/InfoCmd"; +import { InviteInfoCmd } from "./commands/InviteInfoCmd"; +import { JumboCmd } from "./commands/JumboCmd"; +import { LevelCmd } from "./commands/LevelCmd"; +import { MessageInfoCmd } from "./commands/MessageInfoCmd"; +import { NicknameCmd } from "./commands/NicknameCmd"; +import { NicknameResetCmd } from "./commands/NicknameResetCmd"; +import { PingCmd } from "./commands/PingCmd"; +import { ReloadGuildCmd } from "./commands/ReloadGuildCmd"; +import { RoleInfoCmd } from "./commands/RoleInfoCmd"; +import { RolesCmd } from "./commands/RolesCmd"; +import { SearchCmd } from "./commands/SearchCmd"; +import { ServerInfoCmd } from "./commands/ServerInfoCmd"; +import { SnowflakeInfoCmd } from "./commands/SnowflakeInfoCmd"; +import { SourceCmd } from "./commands/SourceCmd"; +import { UserInfoCmd } from "./commands/UserInfoCmd"; +import { VcdisconnectCmd } from "./commands/VcdisconnectCmd"; +import { VcmoveAllCmd, VcmoveCmd } from "./commands/VcmoveCmd"; +import { activeReloads } from "./guildReloads"; +import { refreshMembersIfNeeded } from "./refreshMembers"; +import { ConfigSchema, UtilityPluginType } from "./types"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/Utility/commands/AboutCmd.ts b/backend/src/plugins/Utility/commands/AboutCmd.ts index 1b60fa3c..79b0f1cf 100644 --- a/backend/src/plugins/Utility/commands/AboutCmd.ts +++ b/backend/src/plugins/Utility/commands/AboutCmd.ts @@ -1,14 +1,13 @@ -import { utilityCmd } from "../types"; -import { EmbedWith, multiSorter, resolveMember, sorter } from "../../../utils"; - -import { getCurrentUptime } from "../../../uptime"; +import { GuildChannel, MessageOptions } from "discord.js"; import humanizeDuration from "humanize-duration"; import LCL from "last-commit-log"; -import path from "path"; import moment from "moment-timezone"; import { rootDir } from "../../../paths"; +import { getCurrentUptime } from "../../../uptime"; +import { EmbedWith, multiSorter, resolveMember, sorter } from "../../../utils"; import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; -import { GuildChannel, MessageOptions } from "discord.js"; +import { utilityCmd } from "../types"; + export const AboutCmd = utilityCmd({ trigger: "about", diff --git a/backend/src/plugins/Utility/commands/AvatarCmd.ts b/backend/src/plugins/Utility/commands/AvatarCmd.ts index c267afff..c7489c22 100644 --- a/backend/src/plugins/Utility/commands/AvatarCmd.ts +++ b/backend/src/plugins/Utility/commands/AvatarCmd.ts @@ -1,8 +1,8 @@ -import { utilityCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { UnknownUser } from "../../../utils"; -import { sendErrorMessage } from "../../../pluginUtils"; import { MessageEmbedOptions } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { sendErrorMessage } from "../../../pluginUtils"; +import { UnknownUser } from "../../../utils"; +import { utilityCmd } from "../types"; export const AvatarCmd = utilityCmd({ trigger: ["avatar", "av"], diff --git a/backend/src/plugins/Utility/commands/BanSearchCmd.ts b/backend/src/plugins/Utility/commands/BanSearchCmd.ts index df599b67..40ff318b 100644 --- a/backend/src/plugins/Utility/commands/BanSearchCmd.ts +++ b/backend/src/plugins/Utility/commands/BanSearchCmd.ts @@ -1,6 +1,6 @@ -import { utilityCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { archiveSearch, displaySearch, SearchType } from "../search"; +import { utilityCmd } from "../types"; // Separate from BanSearchCmd to avoid a circular reference from ./search.ts export const banSearchSignature = { diff --git a/backend/src/plugins/Utility/commands/ChannelInfoCmd.ts b/backend/src/plugins/Utility/commands/ChannelInfoCmd.ts index dece87b7..3acfb4b1 100644 --- a/backend/src/plugins/Utility/commands/ChannelInfoCmd.ts +++ b/backend/src/plugins/Utility/commands/ChannelInfoCmd.ts @@ -1,7 +1,7 @@ -import { utilityCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage } from "../../../pluginUtils"; import { getChannelInfoEmbed } from "../functions/getChannelInfoEmbed"; +import { utilityCmd } from "../types"; export const ChannelInfoCmd = utilityCmd({ trigger: ["channel", "channelinfo"], diff --git a/backend/src/plugins/Utility/commands/CleanCmd.ts b/backend/src/plugins/Utility/commands/CleanCmd.ts index 44db25b6..ef307021 100644 --- a/backend/src/plugins/Utility/commands/CleanCmd.ts +++ b/backend/src/plugins/Utility/commands/CleanCmd.ts @@ -1,15 +1,15 @@ -import { utilityCmd, UtilityPluginType } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { DAYS, getInviteCodesInString, noop, SECONDS, stripObjectToScalars } from "../../../utils"; -import { getBaseUrl, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; - -import moment from "moment-timezone"; +import { Message, TextChannel, User } from "discord.js"; import { GuildPluginData } from "knub"; +import moment from "moment-timezone"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; import { SavedMessage } from "../../../data/entities/SavedMessage"; import { LogType } from "../../../data/LogType"; -import { allowTimeout } from "../../../RegExpRunner"; import { ModActionsPlugin } from "../../../plugins/ModActions/ModActionsPlugin"; -import { TextChannel, User, Message } from "discord.js"; +import { getBaseUrl, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { allowTimeout } from "../../../RegExpRunner"; +import { DAYS, getInviteCodesInString, noop, SECONDS, stripObjectToScalars } from "../../../utils"; +import { utilityCmd, UtilityPluginType } from "../types"; + const MAX_CLEAN_COUNT = 150; const MAX_CLEAN_TIME = 1 * DAYS; diff --git a/backend/src/plugins/Utility/commands/ContextCmd.ts b/backend/src/plugins/Utility/commands/ContextCmd.ts index 9a11df10..3d5429aa 100644 --- a/backend/src/plugins/Utility/commands/ContextCmd.ts +++ b/backend/src/plugins/Utility/commands/ContextCmd.ts @@ -1,10 +1,10 @@ -import { utilityCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { messageLink } from "../../../utils"; -import { sendErrorMessage } from "../../../pluginUtils"; - -import { canReadChannel } from "../../../utils/canReadChannel"; import { TextChannel } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { sendErrorMessage } from "../../../pluginUtils"; +import { messageLink } from "../../../utils"; +import { canReadChannel } from "../../../utils/canReadChannel"; +import { utilityCmd } from "../types"; + export const ContextCmd = utilityCmd({ trigger: "context", diff --git a/backend/src/plugins/Utility/commands/EmojiInfoCmd.ts b/backend/src/plugins/Utility/commands/EmojiInfoCmd.ts index 90d272d6..8cc7e784 100644 --- a/backend/src/plugins/Utility/commands/EmojiInfoCmd.ts +++ b/backend/src/plugins/Utility/commands/EmojiInfoCmd.ts @@ -1,8 +1,8 @@ -import { utilityCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage } from "../../../pluginUtils"; import { customEmojiRegex } from "../../../utils"; import { getEmojiInfoEmbed } from "../functions/getEmojiInfoEmbed"; +import { utilityCmd } from "../types"; export const EmojiInfoCmd = utilityCmd({ trigger: ["emoji", "emojiinfo"], diff --git a/backend/src/plugins/Utility/commands/HelpCmd.ts b/backend/src/plugins/Utility/commands/HelpCmd.ts index f677f7d2..d53f19b4 100644 --- a/backend/src/plugins/Utility/commands/HelpCmd.ts +++ b/backend/src/plugins/Utility/commands/HelpCmd.ts @@ -1,8 +1,8 @@ -import { utilityCmd } from "../types"; +import { LoadedGuildPlugin } from "knub"; +import { PluginCommandDefinition } from "knub/dist/commands/commandUtils"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { createChunkedMessage } from "../../../utils"; -import { PluginCommandDefinition } from "knub/dist/commands/commandUtils"; -import { LoadedGuildPlugin } from "knub"; +import { utilityCmd } from "../types"; export const HelpCmd = utilityCmd({ trigger: "help", diff --git a/backend/src/plugins/Utility/commands/InfoCmd.ts b/backend/src/plugins/Utility/commands/InfoCmd.ts index 5a13fbed..e2e033c2 100644 --- a/backend/src/plugins/Utility/commands/InfoCmd.ts +++ b/backend/src/plugins/Utility/commands/InfoCmd.ts @@ -1,19 +1,19 @@ -import { utilityCmd } from "../types"; +import { getChannelId, getRoleId } from "knub/dist/utils"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage } from "../../../pluginUtils"; -import { getInviteInfoEmbed } from "../functions/getInviteInfoEmbed"; import { customEmojiRegex, isValidSnowflake, parseInviteCodeInput, resolveInvite, resolveUser } from "../../../utils"; -import { getUserInfoEmbed } from "../functions/getUserInfoEmbed"; -import { resolveMessageTarget } from "../../../utils/resolveMessageTarget"; import { canReadChannel } from "../../../utils/canReadChannel"; -import { getMessageInfoEmbed } from "../functions/getMessageInfoEmbed"; +import { resolveMessageTarget } from "../../../utils/resolveMessageTarget"; import { getChannelInfoEmbed } from "../functions/getChannelInfoEmbed"; -import { getServerInfoEmbed } from "../functions/getServerInfoEmbed"; -import { getChannelId, getRoleId } from "knub/dist/utils"; -import { getGuildPreview } from "../functions/getGuildPreview"; -import { getSnowflakeInfoEmbed } from "../functions/getSnowflakeInfoEmbed"; -import { getRoleInfoEmbed } from "../functions/getRoleInfoEmbed"; import { getEmojiInfoEmbed } from "../functions/getEmojiInfoEmbed"; +import { getGuildPreview } from "../functions/getGuildPreview"; +import { getInviteInfoEmbed } from "../functions/getInviteInfoEmbed"; +import { getMessageInfoEmbed } from "../functions/getMessageInfoEmbed"; +import { getRoleInfoEmbed } from "../functions/getRoleInfoEmbed"; +import { getServerInfoEmbed } from "../functions/getServerInfoEmbed"; +import { getSnowflakeInfoEmbed } from "../functions/getSnowflakeInfoEmbed"; +import { getUserInfoEmbed } from "../functions/getUserInfoEmbed"; +import { utilityCmd } from "../types"; export const InfoCmd = utilityCmd({ trigger: "info", diff --git a/backend/src/plugins/Utility/commands/InviteInfoCmd.ts b/backend/src/plugins/Utility/commands/InviteInfoCmd.ts index a5c7fd9f..bceac2f3 100644 --- a/backend/src/plugins/Utility/commands/InviteInfoCmd.ts +++ b/backend/src/plugins/Utility/commands/InviteInfoCmd.ts @@ -1,8 +1,8 @@ -import { utilityCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage } from "../../../pluginUtils"; -import { getInviteInfoEmbed } from "../functions/getInviteInfoEmbed"; import { parseInviteCodeInput } from "../../../utils"; +import { getInviteInfoEmbed } from "../functions/getInviteInfoEmbed"; +import { utilityCmd } from "../types"; export const InviteInfoCmd = utilityCmd({ trigger: ["invite", "inviteinfo"], diff --git a/backend/src/plugins/Utility/commands/JumboCmd.ts b/backend/src/plugins/Utility/commands/JumboCmd.ts index 276fa257..b54be54d 100644 --- a/backend/src/plugins/Utility/commands/JumboCmd.ts +++ b/backend/src/plugins/Utility/commands/JumboCmd.ts @@ -1,10 +1,10 @@ -import { utilityCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { downloadFile, isEmoji, SECONDS } from "../../../utils"; import fs from "fs"; import sharp from "sharp"; import twemoji from "twemoji"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage } from "../../../pluginUtils"; +import { downloadFile, isEmoji, SECONDS } from "../../../utils"; +import { utilityCmd } from "../types"; const fsp = fs.promises; diff --git a/backend/src/plugins/Utility/commands/LevelCmd.ts b/backend/src/plugins/Utility/commands/LevelCmd.ts index 70b6ceae..404412b5 100644 --- a/backend/src/plugins/Utility/commands/LevelCmd.ts +++ b/backend/src/plugins/Utility/commands/LevelCmd.ts @@ -1,6 +1,6 @@ -import { utilityCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; import { helpers } from "knub"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { utilityCmd } from "../types"; const { getMemberLevel } = helpers; diff --git a/backend/src/plugins/Utility/commands/MessageInfoCmd.ts b/backend/src/plugins/Utility/commands/MessageInfoCmd.ts index e46dbc3a..04115cf6 100644 --- a/backend/src/plugins/Utility/commands/MessageInfoCmd.ts +++ b/backend/src/plugins/Utility/commands/MessageInfoCmd.ts @@ -1,8 +1,8 @@ -import { utilityCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage } from "../../../pluginUtils"; -import { getMessageInfoEmbed } from "../functions/getMessageInfoEmbed"; import { canReadChannel } from "../../../utils/canReadChannel"; +import { getMessageInfoEmbed } from "../functions/getMessageInfoEmbed"; +import { utilityCmd } from "../types"; export const MessageInfoCmd = utilityCmd({ trigger: ["message", "messageinfo"], diff --git a/backend/src/plugins/Utility/commands/NicknameCmd.ts b/backend/src/plugins/Utility/commands/NicknameCmd.ts index b2da21cf..3dc803a2 100644 --- a/backend/src/plugins/Utility/commands/NicknameCmd.ts +++ b/backend/src/plugins/Utility/commands/NicknameCmd.ts @@ -1,7 +1,7 @@ -import { utilityCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { errorMessage } from "../../../utils"; import { canActOn, sendSuccessMessage } from "../../../pluginUtils"; +import { errorMessage } from "../../../utils"; +import { utilityCmd } from "../types"; export const NicknameCmd = utilityCmd({ trigger: ["nickname", "nick"], diff --git a/backend/src/plugins/Utility/commands/NicknameResetCmd.ts b/backend/src/plugins/Utility/commands/NicknameResetCmd.ts index e2e5db00..91894a40 100644 --- a/backend/src/plugins/Utility/commands/NicknameResetCmd.ts +++ b/backend/src/plugins/Utility/commands/NicknameResetCmd.ts @@ -1,7 +1,7 @@ -import { utilityCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { errorMessage } from "../../../utils"; import { canActOn, sendSuccessMessage } from "../../../pluginUtils"; +import { errorMessage } from "../../../utils"; +import { utilityCmd } from "../types"; export const NicknameResetCmd = utilityCmd({ trigger: ["nickname reset", "nick reset"], diff --git a/backend/src/plugins/Utility/commands/PingCmd.ts b/backend/src/plugins/Utility/commands/PingCmd.ts index 08030f77..8739bfde 100644 --- a/backend/src/plugins/Utility/commands/PingCmd.ts +++ b/backend/src/plugins/Utility/commands/PingCmd.ts @@ -1,6 +1,6 @@ -import { utilityCmd } from "../types"; -import { noop, trimLines } from "../../../utils"; import { Message } from "discord.js"; +import { noop, trimLines } from "../../../utils"; +import { utilityCmd } from "../types"; const { performance } = require("perf_hooks"); diff --git a/backend/src/plugins/Utility/commands/ReloadGuildCmd.ts b/backend/src/plugins/Utility/commands/ReloadGuildCmd.ts index 1fc824e6..53dd027c 100644 --- a/backend/src/plugins/Utility/commands/ReloadGuildCmd.ts +++ b/backend/src/plugins/Utility/commands/ReloadGuildCmd.ts @@ -1,7 +1,7 @@ +import { TextChannel } from "discord.js"; +import { activeReloads } from "../guildReloads"; import { utilityCmd } from "../types"; -import { activeReloads } from "../guildReloads"; -import { TextChannel } from "discord.js"; export const ReloadGuildCmd = utilityCmd({ trigger: "reload_guild", diff --git a/backend/src/plugins/Utility/commands/RoleInfoCmd.ts b/backend/src/plugins/Utility/commands/RoleInfoCmd.ts index 48406cb3..38357054 100644 --- a/backend/src/plugins/Utility/commands/RoleInfoCmd.ts +++ b/backend/src/plugins/Utility/commands/RoleInfoCmd.ts @@ -1,7 +1,6 @@ -import { utilityCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { sendErrorMessage } from "../../../pluginUtils"; import { getRoleInfoEmbed } from "../functions/getRoleInfoEmbed"; +import { utilityCmd } from "../types"; export const RoleInfoCmd = utilityCmd({ trigger: ["roleinfo"], diff --git a/backend/src/plugins/Utility/commands/RolesCmd.ts b/backend/src/plugins/Utility/commands/RolesCmd.ts index ea6ab800..b89285f3 100644 --- a/backend/src/plugins/Utility/commands/RolesCmd.ts +++ b/backend/src/plugins/Utility/commands/RolesCmd.ts @@ -1,10 +1,10 @@ -import { utilityCmd } from "../types"; +import { Role, TextChannel } from "discord.js"; import { commandTypeHelpers as ct } from "../../../commandTypes"; - +import { sendErrorMessage } from "../../../pluginUtils"; import { chunkArray, sorter, trimLines } from "../../../utils"; import { refreshMembersIfNeeded } from "../refreshMembers"; -import { sendErrorMessage } from "../../../pluginUtils"; -import { Role, TextChannel } from "discord.js"; +import { utilityCmd } from "../types"; + export const RolesCmd = utilityCmd({ trigger: "roles", diff --git a/backend/src/plugins/Utility/commands/SearchCmd.ts b/backend/src/plugins/Utility/commands/SearchCmd.ts index 4b8038db..f187dba8 100644 --- a/backend/src/plugins/Utility/commands/SearchCmd.ts +++ b/backend/src/plugins/Utility/commands/SearchCmd.ts @@ -1,6 +1,6 @@ -import { utilityCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { archiveSearch, displaySearch, SearchType } from "../search"; +import { utilityCmd } from "../types"; // Separate from SearchCmd to avoid a circular reference from ./search.ts export const searchCmdSignature = { diff --git a/backend/src/plugins/Utility/commands/ServerInfoCmd.ts b/backend/src/plugins/Utility/commands/ServerInfoCmd.ts index aaf74c57..d39abc10 100644 --- a/backend/src/plugins/Utility/commands/ServerInfoCmd.ts +++ b/backend/src/plugins/Utility/commands/ServerInfoCmd.ts @@ -1,7 +1,7 @@ -import { utilityCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; import { sendErrorMessage } from "../../../pluginUtils"; import { getServerInfoEmbed } from "../functions/getServerInfoEmbed"; +import { utilityCmd } from "../types"; export const ServerInfoCmd = utilityCmd({ trigger: ["server", "serverinfo"], diff --git a/backend/src/plugins/Utility/commands/SnowflakeInfoCmd.ts b/backend/src/plugins/Utility/commands/SnowflakeInfoCmd.ts index b2f5bb30..1320323e 100644 --- a/backend/src/plugins/Utility/commands/SnowflakeInfoCmd.ts +++ b/backend/src/plugins/Utility/commands/SnowflakeInfoCmd.ts @@ -1,8 +1,6 @@ -import { utilityCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { sendErrorMessage } from "../../../pluginUtils"; -import { getChannelInfoEmbed } from "../functions/getChannelInfoEmbed"; import { getSnowflakeInfoEmbed } from "../functions/getSnowflakeInfoEmbed"; +import { utilityCmd } from "../types"; export const SnowflakeInfoCmd = utilityCmd({ trigger: ["snowflake", "snowflakeinfo"], diff --git a/backend/src/plugins/Utility/commands/SourceCmd.ts b/backend/src/plugins/Utility/commands/SourceCmd.ts index 5a5d0c28..075c974e 100644 --- a/backend/src/plugins/Utility/commands/SourceCmd.ts +++ b/backend/src/plugins/Utility/commands/SourceCmd.ts @@ -1,10 +1,9 @@ -import { utilityCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { errorMessage } from "../../../utils"; -import { getBaseUrl, sendErrorMessage } from "../../../pluginUtils"; import moment from "moment-timezone"; - +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { getBaseUrl, sendErrorMessage } from "../../../pluginUtils"; import { canReadChannel } from "../../../utils/canReadChannel"; +import { utilityCmd } from "../types"; + export const SourceCmd = utilityCmd({ trigger: "source", diff --git a/backend/src/plugins/Utility/commands/UserInfoCmd.ts b/backend/src/plugins/Utility/commands/UserInfoCmd.ts index b7ceba39..092692d3 100644 --- a/backend/src/plugins/Utility/commands/UserInfoCmd.ts +++ b/backend/src/plugins/Utility/commands/UserInfoCmd.ts @@ -1,7 +1,7 @@ -import { utilityCmd } from "../types"; import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { getUserInfoEmbed } from "../functions/getUserInfoEmbed"; import { sendErrorMessage } from "../../../pluginUtils"; +import { getUserInfoEmbed } from "../functions/getUserInfoEmbed"; +import { utilityCmd } from "../types"; export const UserInfoCmd = utilityCmd({ trigger: ["user", "userinfo", "whois"], diff --git a/backend/src/plugins/Utility/commands/VcdisconnectCmd.ts b/backend/src/plugins/Utility/commands/VcdisconnectCmd.ts index d69c0fad..a750fe02 100644 --- a/backend/src/plugins/Utility/commands/VcdisconnectCmd.ts +++ b/backend/src/plugins/Utility/commands/VcdisconnectCmd.ts @@ -1,16 +1,12 @@ -import { utilityCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { - channelMentionRegex, - errorMessage, - isSnowflake, - simpleClosestStringMatch, - stripObjectToScalars, -} from "../../../utils"; -import { canActOn, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; - -import { LogType } from "../../../data/LogType"; import { VoiceChannel } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { LogType } from "../../../data/LogType"; +import { canActOn, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { + stripObjectToScalars +} from "../../../utils"; +import { utilityCmd } from "../types"; + export const VcdisconnectCmd = utilityCmd({ trigger: ["vcdisconnect", "vcdisc", "vcdc", "vckick", "vck"], diff --git a/backend/src/plugins/Utility/commands/VcmoveCmd.ts b/backend/src/plugins/Utility/commands/VcmoveCmd.ts index 87c2ef74..8b5b0aa5 100644 --- a/backend/src/plugins/Utility/commands/VcmoveCmd.ts +++ b/backend/src/plugins/Utility/commands/VcmoveCmd.ts @@ -1,17 +1,17 @@ -import { utilityCmd } from "../types"; -import { commandTypeHelpers as ct } from "../../../commandTypes"; -import { - channelMentionRegex, - errorMessage, - isSnowflake, - resolveMember, - simpleClosestStringMatch, - stripObjectToScalars, -} from "../../../utils"; -import { canActOn, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; - -import { LogType } from "../../../data/LogType"; import { VoiceChannel } from "discord.js"; +import { commandTypeHelpers as ct } from "../../../commandTypes"; +import { LogType } from "../../../data/LogType"; +import { canActOn, sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils"; +import { + channelMentionRegex, + + isSnowflake, + + simpleClosestStringMatch, + stripObjectToScalars +} from "../../../utils"; +import { utilityCmd } from "../types"; + export const VcmoveCmd = utilityCmd({ trigger: "vcmove", diff --git a/backend/src/plugins/Utility/functions/getChannelInfoEmbed.ts b/backend/src/plugins/Utility/functions/getChannelInfoEmbed.ts index 69b3d10c..8dcfef3b 100644 --- a/backend/src/plugins/Utility/functions/getChannelInfoEmbed.ts +++ b/backend/src/plugins/Utility/functions/getChannelInfoEmbed.ts @@ -1,12 +1,12 @@ -import { GuildPluginData } from "knub"; -import { UtilityPluginType } from "../types"; - -import moment from "moment-timezone"; +import { MessageEmbedOptions, StageChannel, VoiceChannel } from "discord.js"; import humanizeDuration from "humanize-duration"; +import { GuildPluginData } from "knub"; +import moment from "moment-timezone"; +import { ChannelTypeStrings } from "src/types"; import { EmbedWith, formatNumber, preEmbedPadding, trimLines } from "../../../utils"; import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; -import { MessageEmbedOptions, Constants, VoiceChannel, StageChannel } from "discord.js"; -import { ChannelTypeStrings } from "src/types"; +import { UtilityPluginType } from "../types"; + const TEXT_CHANNEL_ICON = "https://cdn.discordapp.com/attachments/740650744830623756/740656843545772062/text-channel.png"; diff --git a/backend/src/plugins/Utility/functions/getEmojiInfoEmbed.ts b/backend/src/plugins/Utility/functions/getEmojiInfoEmbed.ts index 46ce8ab7..02228924 100644 --- a/backend/src/plugins/Utility/functions/getEmojiInfoEmbed.ts +++ b/backend/src/plugins/Utility/functions/getEmojiInfoEmbed.ts @@ -1,7 +1,7 @@ -import { GuildPluginData } from "knub"; -import { UtilityPluginType } from "../types"; -import { trimLines, preEmbedPadding, EmbedWith } from "../../../utils"; import { MessageEmbedOptions } from "discord.js"; +import { GuildPluginData } from "knub"; +import { EmbedWith, preEmbedPadding, trimLines } from "../../../utils"; +import { UtilityPluginType } from "../types"; export async function getEmojiInfoEmbed( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Utility/functions/getInviteInfoEmbed.ts b/backend/src/plugins/Utility/functions/getInviteInfoEmbed.ts index 78be9002..046c6035 100644 --- a/backend/src/plugins/Utility/functions/getInviteInfoEmbed.ts +++ b/backend/src/plugins/Utility/functions/getInviteInfoEmbed.ts @@ -1,24 +1,23 @@ +import { MessageEmbedOptions } from "discord.js"; +import humanizeDuration from "humanize-duration"; import { GuildPluginData } from "knub"; +import moment from "moment-timezone"; +import { ChannelTypeStrings } from "src/types"; +import { + EmbedWith, + + formatNumber, + GroupDMInvite, + inviteHasCounts, + isGroupDMInvite, + isGuildInvite, + preEmbedPadding, + resolveInvite, + trimLines +} from "../../../utils"; +import { snowflakeToTimestamp } from "../../../utils/snowflakeToTimestamp"; import { UtilityPluginType } from "../types"; -import { snowflakeToTimestamp } from "../../../utils/snowflakeToTimestamp"; -import moment from "moment-timezone"; -import humanizeDuration from "humanize-duration"; -import { - embedPadding, - EmbedWith, - emptyEmbedValue, - formatNumber, - GroupDMInvite, - inviteHasCounts, - isGroupDMInvite, - isGuildInvite, - preEmbedPadding, - resolveInvite, - trimLines, -} from "../../../utils"; -import { MessageEmbedOptions, Constants, Invite } from "discord.js"; -import { ChannelTypeStrings } from "src/types"; export async function getInviteInfoEmbed( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Utility/functions/getMessageInfoEmbed.ts b/backend/src/plugins/Utility/functions/getMessageInfoEmbed.ts index 2b3ad188..d411be4e 100644 --- a/backend/src/plugins/Utility/functions/getMessageInfoEmbed.ts +++ b/backend/src/plugins/Utility/functions/getMessageInfoEmbed.ts @@ -1,13 +1,13 @@ +import { MessageEmbedOptions, TextChannel } from "discord.js"; +import humanizeDuration from "humanize-duration"; import { GuildPluginData } from "knub"; +import { getDefaultPrefix } from "knub/dist/commands/commandUtils"; +import moment from "moment-timezone"; +import { MessageTypeStrings } from "src/types"; +import { chunkMessageLines, EmbedWith, messageLink, preEmbedPadding, trimEmptyLines, trimLines } from "../../../utils"; +import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; import { UtilityPluginType } from "../types"; -import moment from "moment-timezone"; -import humanizeDuration from "humanize-duration"; -import { chunkMessageLines, EmbedWith, messageLink, preEmbedPadding, trimEmptyLines, trimLines } from "../../../utils"; -import { getDefaultPrefix } from "knub/dist/commands/commandUtils"; -import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; -import { MessageEmbedOptions, Constants, TextChannel } from "discord.js"; -import { MessageTypeStrings } from "src/types"; const MESSAGE_ICON = "https://cdn.discordapp.com/attachments/740650744830623756/740685652152025088/message.png"; diff --git a/backend/src/plugins/Utility/functions/getRoleInfoEmbed.ts b/backend/src/plugins/Utility/functions/getRoleInfoEmbed.ts index 6bf58c3e..4f16c31a 100644 --- a/backend/src/plugins/Utility/functions/getRoleInfoEmbed.ts +++ b/backend/src/plugins/Utility/functions/getRoleInfoEmbed.ts @@ -1,10 +1,10 @@ -import { GuildPluginData } from "knub"; -import { UtilityPluginType } from "../types"; -import { trimLines, preEmbedPadding, EmbedWith } from "../../../utils"; -import moment from "moment-timezone"; +import { MessageEmbedOptions, Role } from "discord.js"; import humanizeDuration from "humanize-duration"; +import { GuildPluginData } from "knub"; +import moment from "moment-timezone"; +import { EmbedWith, preEmbedPadding, trimLines } from "../../../utils"; import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; -import { Role, MessageEmbedOptions } from "discord.js"; +import { UtilityPluginType } from "../types"; const MENTION_ICON = "https://cdn.discordapp.com/attachments/705009450855039042/839284872152481792/mention.png"; diff --git a/backend/src/plugins/Utility/functions/getServerInfoEmbed.ts b/backend/src/plugins/Utility/functions/getServerInfoEmbed.ts index fdbd3d66..9e4f40b2 100644 --- a/backend/src/plugins/Utility/functions/getServerInfoEmbed.ts +++ b/backend/src/plugins/Utility/functions/getServerInfoEmbed.ts @@ -1,23 +1,22 @@ -import { GuildPluginData } from "knub"; -import { UtilityPluginType } from "../types"; -import { - embedPadding, - EmbedWith, - formatNumber, - inviteHasCounts, - memoize, - MINUTES, - preEmbedPadding, - resolveInvite, - resolveUser, - trimLines, -} from "../../../utils"; - -import moment from "moment-timezone"; +import { CategoryChannel, MessageEmbedOptions, TextChannel, VoiceChannel } from "discord.js"; import humanizeDuration from "humanize-duration"; -import { getGuildPreview } from "./getGuildPreview"; +import { GuildPluginData } from "knub"; +import moment from "moment-timezone"; +import { + EmbedWith, + formatNumber, + inviteHasCounts, + memoize, + MINUTES, + preEmbedPadding, + resolveInvite, + resolveUser, + trimLines +} from "../../../utils"; import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; -import { MessageEmbedOptions, CategoryChannel, TextChannel, VoiceChannel } from "discord.js"; +import { UtilityPluginType } from "../types"; +import { getGuildPreview } from "./getGuildPreview"; + export async function getServerInfoEmbed( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Utility/functions/getSnowflakeInfoEmbed.ts b/backend/src/plugins/Utility/functions/getSnowflakeInfoEmbed.ts index 0cec52bd..400f75b8 100644 --- a/backend/src/plugins/Utility/functions/getSnowflakeInfoEmbed.ts +++ b/backend/src/plugins/Utility/functions/getSnowflakeInfoEmbed.ts @@ -1,20 +1,13 @@ -import { GuildPluginData } from "knub"; -import { UtilityPluginType } from "../types"; -import { - UnknownUser, - trimLines, - embedPadding, - resolveMember, - resolveUser, - preEmbedPadding, - EmbedWith, -} from "../../../utils"; -import moment from "moment-timezone"; -import { CaseTypes } from "../../../data/CaseTypes"; +import { MessageEmbedOptions } from "discord.js"; import humanizeDuration from "humanize-duration"; +import { GuildPluginData } from "knub"; +import moment from "moment-timezone"; +import { + EmbedWith, preEmbedPadding +} from "../../../utils"; import { snowflakeToTimestamp } from "../../../utils/snowflakeToTimestamp"; import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; -import { MessageEmbedOptions } from "discord.js"; +import { UtilityPluginType } from "../types"; const SNOWFLAKE_ICON = "https://cdn.discordapp.com/attachments/740650744830623756/742020790471491668/snowflake.png"; diff --git a/backend/src/plugins/Utility/functions/getUserInfoEmbed.ts b/backend/src/plugins/Utility/functions/getUserInfoEmbed.ts index 09c2fc59..7dc72d35 100644 --- a/backend/src/plugins/Utility/functions/getUserInfoEmbed.ts +++ b/backend/src/plugins/Utility/functions/getUserInfoEmbed.ts @@ -1,21 +1,16 @@ +import { MessageEmbedOptions, Role } from "discord.js"; +import humanizeDuration from "humanize-duration"; import { GuildPluginData } from "knub"; -import { UtilityPluginType } from "../types"; -import { - UnknownUser, - trimLines, - embedPadding, - resolveMember, - resolveUser, - preEmbedPadding, - sorter, - messageLink, - EmbedWith, -} from "../../../utils"; import moment from "moment-timezone"; import { CaseTypes } from "../../../data/CaseTypes"; -import humanizeDuration from "humanize-duration"; +import { + EmbedWith, messageLink, preEmbedPadding, resolveMember, + resolveUser, + + sorter, trimLines, UnknownUser +} from "../../../utils"; import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin"; -import { MessageEmbedOptions, Role } from "discord.js"; +import { UtilityPluginType } from "../types"; export async function getUserInfoEmbed( pluginData: GuildPluginData, diff --git a/backend/src/plugins/Utility/search.ts b/backend/src/plugins/Utility/search.ts index a42bd150..0a36ebd9 100644 --- a/backend/src/plugins/Utility/search.ts +++ b/backend/src/plugins/Utility/search.ts @@ -1,20 +1,20 @@ -import moment from "moment-timezone"; +import { GuildMember, Message, Permissions, TextChannel, User } from "discord.js"; import escapeStringRegexp from "escape-string-regexp"; -import { isFullMessage, MINUTES, multiSorter, noop, sorter, trimLines } from "../../utils"; -import { getBaseUrl, sendErrorMessage } from "../../pluginUtils"; import { GuildPluginData } from "knub"; import { ArgsFromSignatureOrArray } from "knub/dist/commands/commandUtils"; -import { searchCmdSignature } from "./commands/SearchCmd"; -import { banSearchSignature } from "./commands/BanSearchCmd"; -import { UtilityPluginType } from "./types"; -import { refreshMembersIfNeeded } from "./refreshMembers"; -import { getUserInfoEmbed } from "./functions/getUserInfoEmbed"; +import moment from "moment-timezone"; +import { getBaseUrl, sendErrorMessage } from "../../pluginUtils"; import { allowTimeout, RegExpRunner } from "../../RegExpRunner"; -import { inputPatternToRegExp, InvalidRegexError } from "../../validatorUtils"; +import { isFullMessage, MINUTES, multiSorter, noop, sorter, trimLines } from "../../utils"; import { asyncFilter } from "../../utils/async"; -import Timeout = NodeJS.Timeout; import { hasDiscordPermissions } from "../../utils/hasDiscordPermissions"; -import { Message, User, Constants, TextChannel, GuildMember, Permissions } from "discord.js"; +import { inputPatternToRegExp, InvalidRegexError } from "../../validatorUtils"; +import { banSearchSignature } from "./commands/BanSearchCmd"; +import { searchCmdSignature } from "./commands/SearchCmd"; +import { getUserInfoEmbed } from "./functions/getUserInfoEmbed"; +import { refreshMembersIfNeeded } from "./refreshMembers"; +import { UtilityPluginType } from "./types"; +import Timeout = NodeJS.Timeout; const SEARCH_RESULTS_PER_PAGE = 15; const SEARCH_ID_RESULTS_PER_PAGE = 50; diff --git a/backend/src/plugins/Utility/types.ts b/backend/src/plugins/Utility/types.ts index bea8f6c3..6d02be57 100644 --- a/backend/src/plugins/Utility/types.ts +++ b/backend/src/plugins/Utility/types.ts @@ -1,9 +1,9 @@ import * as t from "io-ts"; import { BasePluginType, typedGuildCommand, typedGuildEventListener } from "knub"; -import { GuildLogs } from "../../data/GuildLogs"; -import { GuildCases } from "../../data/GuildCases"; -import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { GuildArchives } from "../../data/GuildArchives"; +import { GuildCases } from "../../data/GuildCases"; +import { GuildLogs } from "../../data/GuildLogs"; +import { GuildSavedMessages } from "../../data/GuildSavedMessages"; import { Supporters } from "../../data/Supporters"; import { RegExpRunner } from "../../RegExpRunner"; diff --git a/backend/src/plugins/WelcomeMessage/WelcomeMessagePlugin.ts b/backend/src/plugins/WelcomeMessage/WelcomeMessagePlugin.ts index a5899a03..c311c794 100644 --- a/backend/src/plugins/WelcomeMessage/WelcomeMessagePlugin.ts +++ b/backend/src/plugins/WelcomeMessage/WelcomeMessagePlugin.ts @@ -1,8 +1,8 @@ -import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { PluginOptions } from "knub"; -import { ConfigSchema, WelcomeMessagePluginType } from "./types"; import { GuildLogs } from "../../data/GuildLogs"; +import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint"; import { SendWelcomeMessageEvt } from "./events/SendWelcomeMessageEvt"; +import { ConfigSchema, WelcomeMessagePluginType } from "./types"; const defaultOptions: PluginOptions = { config: { diff --git a/backend/src/plugins/WelcomeMessage/events/SendWelcomeMessageEvt.ts b/backend/src/plugins/WelcomeMessage/events/SendWelcomeMessageEvt.ts index 50d54b94..53f2a630 100644 --- a/backend/src/plugins/WelcomeMessage/events/SendWelcomeMessageEvt.ts +++ b/backend/src/plugins/WelcomeMessage/events/SendWelcomeMessageEvt.ts @@ -1,10 +1,10 @@ -import { welcomeMessageEvt } from "../types"; +import { TextChannel } from "discord.js"; +import { LogType } from "../../../data/LogType"; import { renderTemplate, TemplateParseError } from "../../../templateFormatter"; import { createChunkedMessage, stripObjectToScalars } from "../../../utils"; -import { LogType } from "../../../data/LogType"; - import { sendDM } from "../../../utils/sendDM"; -import { TextChannel } from "discord.js"; +import { welcomeMessageEvt } from "../types"; + export const SendWelcomeMessageEvt = welcomeMessageEvt({ event: "guildMemberAdd", diff --git a/backend/src/plugins/WelcomeMessage/types.ts b/backend/src/plugins/WelcomeMessage/types.ts index 7f99b402..c4a995da 100644 --- a/backend/src/plugins/WelcomeMessage/types.ts +++ b/backend/src/plugins/WelcomeMessage/types.ts @@ -1,7 +1,7 @@ import * as t from "io-ts"; import { BasePluginType, typedGuildEventListener } from "knub"; -import { tNullable } from "../../utils"; import { GuildLogs } from "../../data/GuildLogs"; +import { tNullable } from "../../utils"; export const ConfigSchema = t.type({ send_dm: t.boolean, diff --git a/backend/src/plugins/ZeppelinPluginBlueprint.ts b/backend/src/plugins/ZeppelinPluginBlueprint.ts index f55bd0c6..76177e9c 100644 --- a/backend/src/plugins/ZeppelinPluginBlueprint.ts +++ b/backend/src/plugins/ZeppelinPluginBlueprint.ts @@ -1,17 +1,20 @@ -import { - BasePluginType, - typedGlobalPlugin, - GlobalPluginBlueprint, - GlobalPluginData, - typedGuildPlugin, - GuildPluginBlueprint, - GuildPluginData, -} from "knub"; import * as t from "io-ts"; +import { + BasePluginType, + + GlobalPluginBlueprint, + GlobalPluginData, + + GuildPluginBlueprint, + GuildPluginData, typedGlobalPlugin, + + + typedGuildPlugin +} from "knub"; +import { PluginOptions } from "knub/dist/config/configTypes"; +import { Awaitable } from "knub/dist/utils"; import { getPluginConfigPreprocessor } from "../pluginUtils"; import { TMarkdown } from "../types"; -import { Awaitable } from "knub/dist/utils"; -import { PluginOptions } from "knub/dist/config/configTypes"; /** * GUILD PLUGINS diff --git a/backend/src/plugins/availablePlugins.ts b/backend/src/plugins/availablePlugins.ts index e1e4e936..3f0568f6 100644 --- a/backend/src/plugins/availablePlugins.ts +++ b/backend/src/plugins/availablePlugins.ts @@ -1,38 +1,38 @@ -import { UtilityPlugin } from "./Utility/UtilityPlugin"; -import { LocateUserPlugin } from "./LocateUser/LocateUserPlugin"; -import { ZeppelinGlobalPluginBlueprint, ZeppelinGuildPluginBlueprint } from "./ZeppelinPluginBlueprint"; -import { PersistPlugin } from "./Persist/PersistPlugin"; -import { NameHistoryPlugin } from "./NameHistory/NameHistoryPlugin"; -import { MessageSaverPlugin } from "./MessageSaver/MessageSaverPlugin"; -import { AutoReactionsPlugin } from "./AutoReactions/AutoReactionsPlugin"; -import { RemindersPlugin } from "./Reminders/RemindersPlugin"; -import { UsernameSaverPlugin } from "./UsernameSaver/UsernameSaverPlugin"; -import { WelcomeMessagePlugin } from "./WelcomeMessage/WelcomeMessagePlugin"; -import { PingableRolesPlugin } from "./PingableRoles/PingableRolesPlugin"; -import { GuildConfigReloaderPlugin } from "./GuildConfigReloader/GuildConfigReloaderPlugin"; -import { CasesPlugin } from "./Cases/CasesPlugin"; -import { MutesPlugin } from "./Mutes/MutesPlugin"; -import { TagsPlugin } from "./Tags/TagsPlugin"; -import { ModActionsPlugin } from "./ModActions/ModActionsPlugin"; -import { PostPlugin } from "./Post/PostPlugin"; import { AutoDeletePlugin } from "./AutoDelete/AutoDeletePlugin"; -import { GuildInfoSaverPlugin } from "./GuildInfoSaver/GuildInfoSaverPlugin"; -import { CensorPlugin } from "./Censor/CensorPlugin"; -import { RolesPlugin } from "./Roles/RolesPlugin"; -import { SlowmodePlugin } from "./Slowmode/SlowmodePlugin"; -import { StarboardPlugin } from "./Starboard/StarboardPlugin"; -import { ChannelArchiverPlugin } from "./ChannelArchiver/ChannelArchiverPlugin"; -import { LogsPlugin } from "./Logs/LogsPlugin"; -import { SelfGrantableRolesPlugin } from "./SelfGrantableRoles/SelfGrantableRolesPlugin"; -import { SpamPlugin } from "./Spam/SpamPlugin"; -import { ReactionRolesPlugin } from "./ReactionRoles/ReactionRolesPlugin"; import { AutomodPlugin } from "./Automod/AutomodPlugin"; -import { CompanionChannelsPlugin } from "./CompanionChannels/CompanionChannelsPlugin"; -import { CustomEventsPlugin } from "./CustomEvents/CustomEventsPlugin"; +import { AutoReactionsPlugin } from "./AutoReactions/AutoReactionsPlugin"; import { BotControlPlugin } from "./BotControl/BotControlPlugin"; -import { GuildAccessMonitorPlugin } from "./GuildAccessMonitor/GuildAccessMonitorPlugin"; -import { TimeAndDatePlugin } from "./TimeAndDate/TimeAndDatePlugin"; +import { CasesPlugin } from "./Cases/CasesPlugin"; +import { CensorPlugin } from "./Censor/CensorPlugin"; +import { ChannelArchiverPlugin } from "./ChannelArchiver/ChannelArchiverPlugin"; +import { CompanionChannelsPlugin } from "./CompanionChannels/CompanionChannelsPlugin"; import { CountersPlugin } from "./Counters/CountersPlugin"; +import { CustomEventsPlugin } from "./CustomEvents/CustomEventsPlugin"; +import { GuildAccessMonitorPlugin } from "./GuildAccessMonitor/GuildAccessMonitorPlugin"; +import { GuildConfigReloaderPlugin } from "./GuildConfigReloader/GuildConfigReloaderPlugin"; +import { GuildInfoSaverPlugin } from "./GuildInfoSaver/GuildInfoSaverPlugin"; +import { LocateUserPlugin } from "./LocateUser/LocateUserPlugin"; +import { LogsPlugin } from "./Logs/LogsPlugin"; +import { MessageSaverPlugin } from "./MessageSaver/MessageSaverPlugin"; +import { ModActionsPlugin } from "./ModActions/ModActionsPlugin"; +import { MutesPlugin } from "./Mutes/MutesPlugin"; +import { NameHistoryPlugin } from "./NameHistory/NameHistoryPlugin"; +import { PersistPlugin } from "./Persist/PersistPlugin"; +import { PingableRolesPlugin } from "./PingableRoles/PingableRolesPlugin"; +import { PostPlugin } from "./Post/PostPlugin"; +import { ReactionRolesPlugin } from "./ReactionRoles/ReactionRolesPlugin"; +import { RemindersPlugin } from "./Reminders/RemindersPlugin"; +import { RolesPlugin } from "./Roles/RolesPlugin"; +import { SelfGrantableRolesPlugin } from "./SelfGrantableRoles/SelfGrantableRolesPlugin"; +import { SlowmodePlugin } from "./Slowmode/SlowmodePlugin"; +import { SpamPlugin } from "./Spam/SpamPlugin"; +import { StarboardPlugin } from "./Starboard/StarboardPlugin"; +import { TagsPlugin } from "./Tags/TagsPlugin"; +import { TimeAndDatePlugin } from "./TimeAndDate/TimeAndDatePlugin"; +import { UsernameSaverPlugin } from "./UsernameSaver/UsernameSaverPlugin"; +import { UtilityPlugin } from "./Utility/UtilityPlugin"; +import { WelcomeMessagePlugin } from "./WelcomeMessage/WelcomeMessagePlugin"; +import { ZeppelinGlobalPluginBlueprint, ZeppelinGuildPluginBlueprint } from "./ZeppelinPluginBlueprint"; // prettier-ignore export const guildPlugins: Array> = [ diff --git a/backend/src/templateFormatter.test.ts b/backend/src/templateFormatter.test.ts index 93a804b9..0d692e8b 100644 --- a/backend/src/templateFormatter.test.ts +++ b/backend/src/templateFormatter.test.ts @@ -1,5 +1,5 @@ -import { parseTemplate, renderParsedTemplate, renderTemplate } from "./templateFormatter"; import test from "ava"; +import { parseTemplate, renderParsedTemplate, renderTemplate } from "./templateFormatter"; test("Parses plain string templates correctly", t => { const result = parseTemplate("foo bar baz"); diff --git a/backend/src/templateFormatter.ts b/backend/src/templateFormatter.ts index 865da3d2..145d7f1d 100644 --- a/backend/src/templateFormatter.ts +++ b/backend/src/templateFormatter.ts @@ -1,5 +1,5 @@ -import { get, has } from "./utils"; import seedrandom from "seedrandom"; +import { get, has } from "./utils"; const TEMPLATE_CACHE_SIZE = 200; const templateCache: Map = new Map(); diff --git a/backend/src/types.ts b/backend/src/types.ts index add1d061..27286147 100644 --- a/backend/src/types.ts +++ b/backend/src/types.ts @@ -1,5 +1,5 @@ -import { BaseConfig, Knub } from "knub"; import * as t from "io-ts"; +import { BaseConfig, Knub } from "knub"; export interface ZeppelinGuildConfig extends BaseConfig { success_emoji?: string; diff --git a/backend/src/utils.test.ts b/backend/src/utils.test.ts index 08baba41..042f477d 100644 --- a/backend/src/utils.test.ts +++ b/backend/src/utils.test.ts @@ -1,9 +1,9 @@ +import test from "ava"; import * as ioTs from "io-ts"; import { convertDelayStringToMS, convertMSToDelayString, getUrlsInString, tAllowedMentions } from "./utils"; - -import test from "ava"; import { ErisAllowedMentionFormat } from "./utils/erisAllowedMentionsToDjsMentionOptions"; + type AssertEquals = TActual extends TExpected ? true : false; test("getUrlsInString(): detects full links", t => { diff --git a/backend/src/utils.ts b/backend/src/utils.ts index 30a411ab..da467473 100644 --- a/backend/src/utils.ts +++ b/backend/src/utils.ts @@ -1,50 +1,44 @@ -import { URL } from "url"; -import tlds from "tlds"; -import emojiRegex from "emoji-regex"; -import * as t from "io-ts"; +import { + Client, + Constants, + Emoji, + Guild, + GuildAuditLogs, + GuildAuditLogsEntry, + GuildChannel, + GuildMember, + Invite, + Message, + + MessageAttachment, + + MessageEmbed, + MessageEmbedOptions, + MessageMentionOptions, + MessageOptions, + PartialChannelData, + PartialMessage, + StringResolvable, + TextChannel, + User +} from "discord.js"; +import emojiRegex from "emoji-regex"; +import { either } from "fp-ts/lib/Either"; +import { unsafeCoerce } from "fp-ts/lib/function"; import fs from "fs"; import https from "https"; -import tmp from "tmp"; -import { helpers } from "knub"; -import { SavedMessage } from "./data/entities/SavedMessage"; -import { decodeAndValidateStrict, StrictValidationError } from "./validatorUtils"; -import { either } from "fp-ts/lib/Either"; +import * as t from "io-ts"; import moment from "moment-timezone"; +import tlds from "tlds"; +import tmp from "tmp"; +import { URL } from "url"; +import { SavedMessage } from "./data/entities/SavedMessage"; import { SimpleCache } from "./SimpleCache"; -import { logger } from "./logger"; -import { unsafeCoerce } from "fp-ts/lib/function"; import { sendDM } from "./utils/sendDM"; -import { LogType } from "./data/LogType"; -import { - APIMessage, - Channel, - Client, - Constants, - Emoji, - Guild, - GuildAuditLogs, - GuildAuditLogsEntry, - GuildChannel, - GuildMember, - Interaction, - Invite, - Message, - MessageActionRow, - MessageAttachment, - MessageComponent, - MessageEmbed, - MessageEmbedOptions, - MessageMentionOptions, - MessageOptions, - PartialChannelData, - PartialMessage, - StringResolvable, - TextChannel, - User, -} from "discord.js"; -import { ChannelTypeStrings } from "./types"; import { waitForButtonConfirm } from "./utils/waitForInteraction"; +import { decodeAndValidateStrict, StrictValidationError } from "./validatorUtils"; + const fsp = fs.promises; diff --git a/backend/src/utils/canReadChannel.ts b/backend/src/utils/canReadChannel.ts index 6f1b3fe2..94268c4b 100644 --- a/backend/src/utils/canReadChannel.ts +++ b/backend/src/utils/canReadChannel.ts @@ -1,6 +1,6 @@ -import { readChannelPermissions } from "./readChannelPermissions"; -import { getMissingChannelPermissions } from "./getMissingChannelPermissions"; import { GuildChannel, GuildMember } from "discord.js"; +import { getMissingChannelPermissions } from "./getMissingChannelPermissions"; +import { readChannelPermissions } from "./readChannelPermissions"; export function canReadChannel(channel: GuildChannel, member: GuildMember) { // Not missing permissions required to read the channel = can read channel diff --git a/backend/src/utils/createPaginatedMessage.ts b/backend/src/utils/createPaginatedMessage.ts index a398c8da..8d6249c5 100644 --- a/backend/src/utils/createPaginatedMessage.ts +++ b/backend/src/utils/createPaginatedMessage.ts @@ -1,12 +1,11 @@ import { - APIMessage, - Client, - Message, - MessageOptions, - MessageReaction, - PartialUser, - TextChannel, - User, + Client, + Message, + MessageOptions, + MessageReaction, + PartialUser, + TextChannel, + User } from "discord.js"; import { Awaitable } from "knub/dist/utils"; import { MINUTES, noop } from "../utils"; diff --git a/backend/src/utils/crypt.test.ts b/backend/src/utils/crypt.test.ts index 00619645..7034205f 100644 --- a/backend/src/utils/crypt.test.ts +++ b/backend/src/utils/crypt.test.ts @@ -1,6 +1,6 @@ import test from "ava"; +import { decrypt, encrypt } from "./crypt"; -import { encrypt, decrypt } from "./crypt"; test("encrypt() followed by decrypt()", t => { const original = "banana 123 👀 💕"; // Includes emojis to verify utf8 stuff works diff --git a/backend/src/utils/crypt.ts b/backend/src/utils/crypt.ts index 3184f328..9af9c3ce 100644 --- a/backend/src/utils/crypt.ts +++ b/backend/src/utils/crypt.ts @@ -1,6 +1,6 @@ +import crypto from "crypto"; import "../loadEnv"; -import crypto, { DecipherGCM } from "crypto"; if (!process.env.KEY) { // tslint:disable-next-line:no-console diff --git a/backend/src/utils/getMissingChannelPermissions.ts b/backend/src/utils/getMissingChannelPermissions.ts index f7e99cb6..0d224887 100644 --- a/backend/src/utils/getMissingChannelPermissions.ts +++ b/backend/src/utils/getMissingChannelPermissions.ts @@ -1,4 +1,4 @@ -import { GuildMember, GuildChannel } from "discord.js"; +import { GuildChannel, GuildMember } from "discord.js"; import { getMissingPermissions } from "./getMissingPermissions"; /** diff --git a/backend/src/utils/getMissingPermissions.ts b/backend/src/utils/getMissingPermissions.ts index d9863c24..8e14ac63 100644 --- a/backend/src/utils/getMissingPermissions.ts +++ b/backend/src/utils/getMissingPermissions.ts @@ -1,4 +1,4 @@ -import { PermissionOverwrites, Permissions } from "discord.js"; +import { Permissions } from "discord.js"; /** * @param resolvedPermissions A Permission object from e.g. GuildChannel#permissionsFor() or Member#permission diff --git a/backend/src/utils/parseFuzzyTimezone.ts b/backend/src/utils/parseFuzzyTimezone.ts index 05d3b1c7..ef570e26 100644 --- a/backend/src/utils/parseFuzzyTimezone.ts +++ b/backend/src/utils/parseFuzzyTimezone.ts @@ -1,5 +1,5 @@ -import moment from "moment-timezone"; import escapeStringRegexp from "escape-string-regexp"; +import moment from "moment-timezone"; const normalizeTzName = str => str.replace(/[^a-zA-Z0-9+\-]/g, "").toLowerCase(); diff --git a/backend/src/utils/resolveMessageTarget.ts b/backend/src/utils/resolveMessageTarget.ts index 4d2a6a62..00df7010 100644 --- a/backend/src/utils/resolveMessageTarget.ts +++ b/backend/src/utils/resolveMessageTarget.ts @@ -1,7 +1,7 @@ -import { disableInlineCode, isSnowflake } from "../utils"; -import { getChannelIdFromMessageId } from "../data/getChannelIdFromMessageId"; -import { GuildPluginData, TypeConversionError } from "knub"; import { TextChannel } from "discord.js"; +import { GuildPluginData } from "knub"; +import { getChannelIdFromMessageId } from "../data/getChannelIdFromMessageId"; +import { isSnowflake } from "../utils"; const channelAndMessageIdRegex = /^(\d+)[\-\/](\d+)$/; const messageLinkRegex = /^https:\/\/(?:\w+\.)?discord(?:app)?\.com\/channels\/\d+\/(\d+)\/(\d+)$/i; diff --git a/backend/src/utils/safeFindRelevantAuditLogEntry.ts b/backend/src/utils/safeFindRelevantAuditLogEntry.ts index ab196cf0..4b83510b 100644 --- a/backend/src/utils/safeFindRelevantAuditLogEntry.ts +++ b/backend/src/utils/safeFindRelevantAuditLogEntry.ts @@ -1,7 +1,7 @@ import { GuildPluginData } from "knub"; +import { LogType } from "../data/LogType"; import { LogsPlugin } from "../plugins/Logs/LogsPlugin"; import { findRelevantAuditLogEntry, isDiscordRESTError } from "../utils"; -import { LogType } from "../data/LogType"; /** * Wrapper for findRelevantAuditLogEntry() that handles permission errors gracefully. diff --git a/backend/src/utils/sendDM.ts b/backend/src/utils/sendDM.ts index 3679dbc5..c2dbdb93 100644 --- a/backend/src/utils/sendDM.ts +++ b/backend/src/utils/sendDM.ts @@ -1,7 +1,7 @@ -import { createChunkedMessage, HOURS, isDiscordRESTError } from "../utils"; -import { logger } from "../logger"; -import Timeout = NodeJS.Timeout; import { APIMessage, User } from "discord.js"; +import { logger } from "../logger"; +import { createChunkedMessage, HOURS, isDiscordRESTError } from "../utils"; +import Timeout = NodeJS.Timeout; let dmsDisabled = false; let dmsDisabledTimeout: Timeout; diff --git a/backend/src/utils/tColor.ts b/backend/src/utils/tColor.ts index df61f579..ccc4f6a3 100644 --- a/backend/src/utils/tColor.ts +++ b/backend/src/utils/tColor.ts @@ -1,9 +1,8 @@ -import * as t from "io-ts"; import { either } from "fp-ts/lib/Either"; -import { convertDelayStringToMS } from "../utils"; +import * as t from "io-ts"; +import { intToRgb } from "./intToRgb"; import { parseColor } from "./parseColor"; import { rgbToInt } from "./rgbToInt"; -import { intToRgb } from "./intToRgb"; export const tColor = new t.Type( "tColor", diff --git a/backend/src/utils/tValidTimezone.ts b/backend/src/utils/tValidTimezone.ts index 9922bd96..43c61c3e 100644 --- a/backend/src/utils/tValidTimezone.ts +++ b/backend/src/utils/tValidTimezone.ts @@ -1,5 +1,5 @@ -import * as t from "io-ts"; import { either } from "fp-ts/lib/Either"; +import * as t from "io-ts"; import { isValidTimezone } from "./isValidTimezone"; export const tValidTimezone = new t.Type( diff --git a/backend/src/utils/waitForInteraction.ts b/backend/src/utils/waitForInteraction.ts index 2ee91e84..76310557 100644 --- a/backend/src/utils/waitForInteraction.ts +++ b/backend/src/utils/waitForInteraction.ts @@ -1,11 +1,10 @@ import { - TextChannel, - MessageActionRow, - MessageOptions, - MessageButton, - Client, - Interaction, - MessageComponentInteraction, + MessageActionRow, + + MessageButton, + + + MessageComponentInteraction, MessageOptions, TextChannel } from "discord.js"; import { PluginError } from "knub"; import { noop } from "knub/dist/utils"; diff --git a/backend/src/validation.test.ts b/backend/src/validation.test.ts index e1019a85..795e67ff 100644 --- a/backend/src/validation.test.ts +++ b/backend/src/validation.test.ts @@ -1,7 +1,7 @@ -import { tDeepPartial } from "./utils"; -import * as t from "io-ts"; -import * as validatorUtils from "./validatorUtils"; import test from "ava"; +import * as t from "io-ts"; +import { tDeepPartial } from "./utils"; +import * as validatorUtils from "./validatorUtils"; test("tDeepPartial works", ava => { const originalSchema = t.type({ diff --git a/backend/src/validatorUtils.ts b/backend/src/validatorUtils.ts index fad5ba94..8a6863f9 100644 --- a/backend/src/validatorUtils.ts +++ b/backend/src/validatorUtils.ts @@ -1,9 +1,8 @@ -import * as t from "io-ts"; -import { pipe } from "fp-ts/lib/pipeable"; -import { either, fold } from "fp-ts/lib/Either"; -import { noop } from "./utils"; import deepDiff from "deep-diff"; -import safeRegex from "safe-regex"; +import { either, fold } from "fp-ts/lib/Either"; +import { pipe } from "fp-ts/lib/pipeable"; +import * as t from "io-ts"; +import { noop } from "./utils"; const regexWithFlags = /^\/(.*?)\/([i]*)$/; diff --git a/backend/src/yamlParseTest.ts b/backend/src/yamlParseTest.ts index dabb3727..2838591c 100644 --- a/backend/src/yamlParseTest.ts +++ b/backend/src/yamlParseTest.ts @@ -1,5 +1,5 @@ -import YAML from "yawn-yaml/cjs"; import { load } from "js-yaml"; +import YAML from "yawn-yaml/cjs"; const src = ` prefix: '!'