SYMBOL INDEX (2379 symbols across 928 files) FILE: backend/src/Blocker.ts type Block (line 1) | type Block = { class Blocker (line 7) | class Blocker { method block (line 10) | block(key: string): void { method unblock (line 28) | unblock(key: string): void { method waitToBeUnblocked (line 34) | async waitToBeUnblocked(key: string): Promise { FILE: backend/src/DiscordJSError.ts class DiscordJSError (line 3) | class DiscordJSError extends Error { method constructor (line 7) | constructor(message: string, code: number | string | undefined, shardI... method [util.inspect.custom] (line 13) | [util.inspect.custom]() { FILE: backend/src/Queue.ts type InternalQueueFn (line 3) | type InternalQueueFn = () => Promise; type AnyFn (line 4) | type AnyFn = (...args: any[]) => any; constant DEFAULT_TIMEOUT (line 6) | const DEFAULT_TIMEOUT = 10 * SECONDS; class Queue (line 8) | class Queue { method constructor (line 13) | constructor(timeout = DEFAULT_TIMEOUT) { method timeout (line 17) | get timeout(): number { method length (line 27) | get length(): number { method add (line 31) | public add(fn: TQueueFunction): Promise { method next (line 48) | public next(): void { method clear (line 64) | public clear() { FILE: backend/src/QueuedEventEmitter.ts type Listener (line 3) | type Listener = (...args: any[]) => void; class QueuedEventEmitter (line 5) | class QueuedEventEmitter { method constructor (line 9) | constructor() { method on (line 14) | on(eventName: string, listener: Listener): Listener { method off (line 23) | off(eventName: string, listener: Listener) { method once (line 32) | once(eventName: string, listener: Listener): Listener { method emit (line 41) | emit(eventName: string, args: any[] = []): Promise { FILE: backend/src/RecoverablePluginError.ts type ERRORS (line 3) | enum ERRORS { constant RECOVERABLE_PLUGIN_ERROR_MESSAGES (line 17) | const RECOVERABLE_PLUGIN_ERROR_MESSAGES = { class RecoverablePluginError (line 31) | class RecoverablePluginError extends Error { method constructor (line 35) | constructor(code: ERRORS, guild?: Guild) { FILE: backend/src/RegExpRunner.ts class RegExpTimeoutError (line 11) | class RegExpTimeoutError extends Error { method constructor (line 12) | constructor( function allowTimeout (line 20) | function allowTimeout(err: RegExpTimeoutError | Error) { constant INITIAL_REGEX_TIMEOUT (line 29) | const INITIAL_REGEX_TIMEOUT = 5 * SECONDS; constant INITIAL_REGEX_TIMEOUT_DURATION (line 30) | const INITIAL_REGEX_TIMEOUT_DURATION = 30 * SECONDS; constant FINAL_REGEX_TIMEOUT (line 31) | const FINAL_REGEX_TIMEOUT = 5 * SECONDS; constant REGEX_FAIL_TO_COOLDOWN_COUNT (line 38) | const REGEX_FAIL_TO_COOLDOWN_COUNT = 5; constant REGEX_FAIL_DECAY_TIME (line 39) | const REGEX_FAIL_DECAY_TIME = 2 * MINUTES; constant REGEX_FAIL_COOLDOWN (line 40) | const REGEX_FAIL_COOLDOWN = 2 * MINUTES + 30 * SECONDS; type RegExpRunner (line 42) | interface RegExpRunner { method constructor (line 58) | constructor() { method worker (line 69) | private get worker(): RegExpWorker { method exec (line 83) | public async exec(regex: RegExp, str: string): Promise { method constructor (line 14) | constructor(retentionTime: number, maxItems?: number) { method unload (line 24) | unload() { method cleanLoop (line 29) | cleanLoop() { method set (line 42) | set(key: string, value: T) { method get (line 54) | get(key: string): T | null { method has (line 61) | has(key: string) { method delete (line 65) | delete(key: string) { method clear (line 69) | clear() { FILE: backend/src/SimpleError.ts class SimpleError (line 3) | class SimpleError extends Error { method constructor (line 6) | constructor(message: string) { method [util.inspect.custom] (line 10) | [util.inspect.custom]() { FILE: backend/src/api/archives.ts function initArchives (line 6) | function initArchives(router: express.Router) { FILE: backend/src/api/auth.ts type IPassportApiUser (line 14) | interface IPassportApiUser { type User (line 21) | interface User extends IPassportApiUser {} constant DISCORD_API_URL (line 25) | const DISCORD_API_URL = "https://discord.com/api"; function simpleDiscordAPIRequest (line 27) | function simpleDiscordAPIRequest(bearerToken, path): Promise { function initAuth (line 54) | function initAuth(router: express.Router) { function apiTokenAuthHandlers (line 150) | function apiTokenAuthHandlers() { FILE: backend/src/api/docs.ts function isZodObject (line 9) | function isZodObject(schema: z.ZodType): schema is z.ZodObject { function isZodRecord (line 13) | function isZodRecord(schema: z.ZodType): schema is z.ZodRecord { function isZodOptional (line 17) | function isZodOptional(schema: z.ZodType): schema is z.ZodOptional { function isZodArray (line 21) | function isZodArray(schema: z.ZodType): schema is z.ZodArray { function isZodUnion (line 25) | function isZodUnion(schema: z.ZodType): schema is z.ZodUnion { function isZodNullable (line 29) | function isZodNullable(schema: z.ZodType): schema is z.ZodNullable { function isZodDefault (line 33) | function isZodDefault(schema: z.ZodType): schema is z.ZodDefault { function isZodLiteral (line 37) | function isZodLiteral(schema: z.ZodType): schema is z.ZodLiteral { function isZodIntersection (line 41) | function isZodIntersection(schema: z.ZodType): schema is z.ZodIntersecti... function formatZodConfigSchema (line 45) | function formatZodConfigSchema(schema: z.ZodType) { function initDocs (line 108) | function initDocs(router: express.Router) { FILE: backend/src/api/guilds.ts function initGuildsAPI (line 24) | function initGuildsAPI(app: express.Express) { FILE: backend/src/api/guilds/importExport.ts type CaseHandlingMode (line 18) | type CaseHandlingMode = z.infer; type TImportExportData (line 45) | type TImportExportData = z.infer; function initGuildsImportExportAPI (line 47) | function initGuildsImportExportAPI(guildRouter: express.Router) { FILE: backend/src/api/guilds/index.ts function initGuildsAPI (line 6) | function initGuildsAPI(router: express.Router) { FILE: backend/src/api/guilds/misc.ts function initGuildsMiscAPI (line 21) | function initGuildsMiscAPI(router: express.Router) { FILE: backend/src/api/index.ts function errorHandler (line 15) | function errorHandler(err) { FILE: backend/src/api/permissions.ts function requireGuildPermission (line 25) | function requireGuildPermission(permission: ApiPermissions) { FILE: backend/src/api/rateLimits.ts function rateLimit (line 6) | function rateLimit(getKey: (req: Request) => string, limitMs: number, me... FILE: backend/src/api/responses.ts function unauthorized (line 3) | function unauthorized(res: Response) { function error (line 7) | function error(res: Response, message: string, statusCode = 500) { function serverError (line 11) | function serverError(res: Response, message = "Server error") { function clientError (line 15) | function clientError(res: Response, message: string) { function notFound (line 19) | function notFound(res: Response) { function ok (line 23) | function ok(res: Response) { FILE: backend/src/api/staff.ts function initStaff (line 5) | function initStaff(app: express.Express) { FILE: backend/src/api/tasks.ts function startBackgroundTasks (line 4) | function startBackgroundTasks() { FILE: backend/src/commandTypes.ts method delay (line 34) | delay(value) { method resolvedUser (line 43) | async resolvedUser(value, context: CommandContext) { method resolvedUserLoose (line 51) | async resolvedUserLoose(value, context: CommandContext) { method resolvedMember (line 59) | async resolvedMember(value, context: CommandContext) { method messageTarget (line 71) | async messageTarget(value: string, context: CommandContext) { method anyId (line 82) | async anyId(value: string, context: CommandContext) { method regex (line 99) | regex(value: string): RegExp { method timezone (line 107) | timezone(value: string) { method guildTextBasedChannel (line 115) | guildTextBasedChannel(value: string, context: CommandContext) { FILE: backend/src/configValidator.ts function validateGuildConfig (line 12) | async function validateGuildConfig(config: any): Promise { FILE: backend/src/data/AllowedGuilds.ts class AllowedGuilds (line 9) | class AllowedGuilds extends BaseRepository { method constructor (line 12) | constructor() { method isAllowed (line 17) | async isAllowed(guildId: string) { method find (line 26) | find(guildId: string) { method getForApiUser (line 34) | getForApiUser(userId: string) { method updateInfo (line 46) | updateInfo(id, name, icon, ownerId) { method add (line 53) | add(id, data: Partial> = {}) { method remove (line 63) | remove(id) { FILE: backend/src/data/ApiAuditLog.ts class ApiAuditLog (line 7) | class ApiAuditLog extends BaseRepository { method constructor (line 10) | constructor() { method addEntry (line 15) | addEntry( FILE: backend/src/data/ApiLogins.ts constant LOGIN_EXPIRY_TIME (line 11) | const LOGIN_EXPIRY_TIME = 1 * DAYS; class ApiLogins (line 13) | class ApiLogins extends BaseRepository { method constructor (line 16) | constructor() { method getUserIdByApiKey (line 21) | async getUserIdByApiKey(apiKey: string): Promise { method addLogin (line 47) | async addLogin(userId: string): Promise { method expireApiKey (line 78) | expireApiKey(apiKey) { method refreshApiKeyExpiryTime (line 90) | async refreshApiKeyExpiryTime(apiKey) { FILE: backend/src/data/ApiPermissionAssignments.ts type ApiPermissionTypes (line 9) | enum ApiPermissionTypes { class ApiPermissionAssignments (line 14) | class ApiPermissionAssignments extends BaseRepository { method constructor (line 18) | constructor() { method getByGuildId (line 24) | getByGuildId(guildId) { method getByUserId (line 32) | getByUserId(userId) { method getByGuildAndUserId (line 41) | getByGuildAndUserId(guildId, userId) { method addUser (line 51) | addUser(guildId, userId, permissions: ApiPermissions[], expiresAt: str... method removeUser (line 61) | removeUser(guildId, userId) { method updateUserPermissions (line 65) | async updateUserPermissions(guildId: string, userId: string, permissio... method clearExpiredPermissions (line 78) | async clearExpiredPermissions() { method applyOwnerChange (line 87) | async applyOwnerChange(guildId: string, newOwnerId: string) { FILE: backend/src/data/ApiUserInfo.ts class ApiUserInfo (line 8) | class ApiUserInfo extends BaseRepository { method constructor (line 11) | constructor() { method get (line 16) | get(id) { method update (line 24) | update(id, data: ApiUserInfoData) { FILE: backend/src/data/Archives.ts class Archives (line 6) | class Archives extends BaseRepository { method constructor (line 9) | constructor() { method deleteExpiredArchives (line 14) | public deleteExpiredArchives() { FILE: backend/src/data/BaseGuildRepository.ts class BaseGuildRepository (line 3) | class BaseGuildRepository extends BaseRepository(t... FILE: backend/src/data/BaseRepository.ts class BaseRepository (line 3) | class BaseRepository { method constructor (line 6) | constructor() { method with (line 14) | public with(relations: string | string[]): this { method getRelations (line 27) | protected getRelations(): string[] { method _processEntityFromDB (line 33) | protected async _processEntityFromDB(entity) { method _processEntityToDB (line 38) | protected async _processEntityToDB(entity) { method processEntityFromDB (line 43) | protected async processEntityFromDB(entity: ... method processMultipleEntitiesFromDB (line 47) | protected async processMultipleEntitiesFromDB(... method processEntityToDB (line 51) | protected async processEntityToDB>(entity: ... FILE: backend/src/data/CaseTypes.ts type CaseTypes (line 1) | enum CaseTypes { FILE: backend/src/data/Configs.ts constant CLEANUP_INTERVAL (line 9) | const CLEANUP_INTERVAL = 1 * HOURS; function cleanup (line 11) | async function cleanup() { class Configs (line 22) | class Configs extends BaseRepository { method constructor (line 25) | constructor() { method getActive (line 30) | getActive() { method getActiveByKey (line 36) | getActiveByKey(key) { method getHighestId (line 45) | async getHighestId(): Promise { method getActiveLargerThanId (line 50) | getActiveLargerThanId(id) { method hasConfig (line 54) | async hasConfig(key) { method getRevisions (line 58) | getRevisions(key, num = 10) { method saveNewRevision (line 70) | async saveNewRevision(key, config, editedBy) { FILE: backend/src/data/FishFish.ts constant API_ROOT (line 5) | const API_ROOT = "https://api.fishfish.gg/v1"; type FishFishDomain (line 16) | type FishFishDomain = z.output; constant FULL_REFRESH_INTERVAL (line 18) | const FULL_REFRESH_INTERVAL = 6 * HOURS; constant WS_RECONNECT_DELAY (line 23) | const WS_RECONNECT_DELAY = 30 * SECONDS; class FishFishError (line 26) | class FishFishError extends Error {} function getSessionToken (line 33) | async function getSessionToken(): Promise { function fishFishApiCall (line 79) | async function fishFishApiCall(method: string, path: string, query: Reco... function refreshFishFishDomains (line 97) | async function refreshFishFishDomains() { function initFishFish (line 134) | async function initFishFish() { function getFishFishDomain (line 146) | function getFishFishDomain(domain: string): FishFishDomain | undefined { FILE: backend/src/data/GuildAntiraidLevels.ts class GuildAntiraidLevels (line 6) | class GuildAntiraidLevels extends BaseGuildRepository { method constructor (line 9) | constructor(guildId: string) { method get (line 14) | async get() { method set (line 24) | async set(level: string | null) { FILE: backend/src/data/GuildArchives.ts constant DEFAULT_EXPIRY_DAYS (line 14) | const DEFAULT_EXPIRY_DAYS = 30; constant MESSAGE_ARCHIVE_HEADER_FORMAT (line 16) | const MESSAGE_ARCHIVE_HEADER_FORMAT = trimLines(` constant MESSAGE_ARCHIVE_MESSAGE_FORMAT (line 19) | const MESSAGE_ARCHIVE_MESSAGE_FORMAT = class GuildArchives (line 22) | class GuildArchives extends BaseGuildRepository { method constructor (line 25) | constructor(guildId) { method _processEntityFromDB (line 30) | protected async _processEntityFromDB(entity: ArchiveEntry | undefined) { method _processEntityToDB (line 39) | protected async _processEntityToDB(entity: Partial) { method find (line 46) | async find(id: string): Promise { method makePermanent (line 54) | async makePermanent(id: string): Promise { method create (line 66) | async create(body: string, expiresAt?: moment.Moment): Promise { method renderLinesFromSavedMessages (line 81) | protected async renderLinesFromSavedMessages(savedMessages: SavedMessa... method createFromSavedMessages (line 113) | async createFromSavedMessages( method addSavedMessagesToArchive (line 134) | async addSavedMessagesToArchive(archiveId: string, savedMessages: Save... method getUrl (line 149) | getUrl(baseUrl, archiveId) { FILE: backend/src/data/GuildAutoReactions.ts class GuildAutoReactions (line 6) | class GuildAutoReactions extends BaseGuildRepository { method constructor (line 9) | constructor(guildId) { method all (line 14) | async all(): Promise { method getForChannel (line 22) | async getForChannel(channelId: string): Promise { method removeFromChannel (line 31) | async removeFromChannel(channelId: string) { method set (line 38) | async set(channelId: string, reactions: string[]) { FILE: backend/src/data/GuildButtonRoles.ts class GuildButtonRoles (line 5) | class GuildButtonRoles extends BaseGuildRepository { method constructor (line 8) | constructor(guildId) { method getForButtonId (line 13) | async getForButtonId(buttonId: string) { method getAllForMessageId (line 22) | async getAllForMessageId(messageId: string) { method removeForButtonId (line 31) | async removeForButtonId(buttonId: string) { method removeAllForMessageId (line 38) | async removeAllForMessageId(messageId: string) { method getForButtonGroup (line 45) | async getForButtonGroup(buttonGroup: string) { method add (line 54) | async add(channelId: string, messageId: string, buttonId: string, butt... FILE: backend/src/data/GuildCases.ts class GuildCases (line 10) | class GuildCases extends BaseGuildRepository { method constructor (line 16) | constructor(guildId) { method get (line 23) | async get(ids: number[]): Promise { method find (line 33) | async find(id: number): Promise { method findByCaseNumber (line 43) | async findByCaseNumber(caseNumber: number): Promise { method findLatestByModId (line 53) | async findLatestByModId(modId: string): Promise { method findByAuditLogId (line 66) | async findByAuditLogId(auditLogId: string): Promise { method getByUserId (line 76) | async getByUserId( method getRecentByUserId (line 90) | async getRecentByUserId(userId: string, count: number, skip = 0): Prom... method getTotalCasesByModId (line 105) | async getTotalCasesByModId( method getRecentByModId (line 119) | async getRecentByModId( method getMinCaseNumber (line 147) | async getMinCaseNumber(): Promise { method getMaxCaseNumber (line 157) | async getMaxCaseNumber(): Promise { method setHidden (line 167) | async setHidden(id: number, hidden: boolean): Promise { method createInternal (line 176) | async createInternal(data): Promise { method create (line 209) | async create(data): Promise { method update (line 214) | update(id, data) { method softDelete (line 218) | async softDelete(id: number, deletedById: string, deletedByName: strin... method createNote (line 249) | async createNote(caseId: number, data: any): Promise { method deleteAllCases (line 256) | async deleteAllCases(): Promise { method bumpCaseNumbers (line 269) | async bumpCaseNumbers(amount: number): Promise { method getExportCases (line 280) | getExportCases(skip: number, take: number): Promise { FILE: backend/src/data/GuildContextMenuLinks.ts class GuildContextMenuLinks (line 6) | class GuildContextMenuLinks extends BaseGuildRepository { method constructor (line 9) | constructor(guildId) { method get (line 14) | async get(id: string): Promise { method create (line 23) | async create(contextId: string, contextAction: string): Promise { FILE: backend/src/data/GuildCounters.ts constant DELETE_UNUSED_COUNTERS_AFTER (line 12) | const DELETE_UNUSED_COUNTERS_AFTER = 1 * DAYS; constant DELETE_UNUSED_COUNTER_TRIGGERS_AFTER (line 13) | const DELETE_UNUSED_COUNTER_TRIGGERS_AFTER = 1 * DAYS; constant MIN_COUNTER_VALUE (line 15) | const MIN_COUNTER_VALUE = 0; constant MAX_COUNTER_VALUE (line 16) | const MAX_COUNTER_VALUE = 2147483647; function deleteCountersMarkedToBeDeleted (line 20) | async function deleteCountersMarkedToBeDeleted(): Promise { function deleteTriggersMarkedToBeDeleted (line 24) | async function deleteTriggersMarkedToBeDeleted(): Promise { class GuildCounters (line 34) | class GuildCounters extends BaseGuildRepository { method constructor (line 40) | constructor(guildId) { method findOrCreateCounter (line 48) | async findOrCreateCounter(name: string, perChannel: boolean, perUser: ... method markUnusedCountersToBeDeleted (line 83) | async markUnusedCountersToBeDeleted(idsToKeep: number[]): Promise { method deleteCountersMarkedToBeDeleted (line 100) | async deleteCountersMarkedToBeDeleted(): Promise { method changeCounterValue (line 104) | async changeCounterValue( method setCounterValue (line 133) | async setCounterValue(id: number, channelId: string | null, userId: st... method decay (line 153) | decay(id: number, decayPeriodMs: number, decayAmount: number) { method markUnusedTriggersToBeDeleted (line 204) | async markUnusedTriggersToBeDeleted(triggerIdsToKeep: number[]) { method deleteTriggersMarkedToBeDeleted (line 234) | async deleteTriggersMarkedToBeDeleted(): Promise { method initCounterTrigger (line 238) | async initCounterTrigger( method checkForTrigger (line 312) | async checkForTrigger( method checkAllValuesForTrigger (line 367) | async checkAllValuesForTrigger( method checkForReverseTrigger (line 413) | async checkForReverseTrigger( method checkAllValuesForReverseTrigger (line 457) | async checkAllValuesForReverseTrigger( method getCurrentValue (line 499) | async getCurrentValue( method resetAllCounterValues (line 515) | async resetAllCounterValues(counterId: number): Promise { FILE: backend/src/data/GuildEvents.ts type GuildEventArgs (line 7) | interface GuildEventArgs extends Record { type GuildEvent (line 16) | type GuildEvent = keyof GuildEventArgs; type GuildEventListener (line 18) | type GuildEventListener = (...args: GuildEventArgs... type ListenerMap (line 20) | type ListenerMap = { function onGuildEvent (line 29) | function onGuildEvent( function emitGuildEvent (line 48) | function emitGuildEvent(guildId: string, eventName... function hasGuildEventListener (line 61) | function hasGuildEventListener(guildId: string, ev... FILE: backend/src/data/GuildLogs.ts type IIgnoredLog (line 7) | interface IIgnoredLog { class GuildLogs (line 12) | class GuildLogs extends events.EventEmitter { method constructor (line 16) | constructor(guildId) { method log (line 30) | log(type: keyof typeof LogType, data: any, ignoreId?: string) { method ignoreLog (line 39) | ignoreLog(type: keyof typeof LogType, ignoreId: any, timeout?: number) { method isLogIgnored (line 51) | isLogIgnored(type: keyof typeof LogType, ignoreId: any) { method clearIgnoredLog (line 55) | clearIgnoredLog(type: keyof typeof LogType, ignoreId: any) { FILE: backend/src/data/GuildMemberCache.ts constant SAVE_PENDING_BLOCKER_KEY (line 9) | const SAVE_PENDING_BLOCKER_KEY = "save-pending" as const; constant DELETION_DELAY (line 11) | const DELETION_DELAY = 5 * MINUTES; type UpdateData (line 13) | type UpdateData = Pick; class GuildMemberCache (line 15) | class GuildMemberCache extends BaseGuildRepository { method constructor (line 22) | constructor(guildId: string) { method savePendingUpdates (line 29) | async savePendingUpdates(): Promise { method getCachedMemberData (line 46) | async getCachedMemberData(userId: string): Promise { method unmarkMemberForDeletion (line 91) | async unmarkMemberForDeletion(userId: string): Promise { FILE: backend/src/data/GuildMemberTimezones.ts class GuildMemberTimezones (line 6) | class GuildMemberTimezones extends BaseGuildRepository { method constructor (line 9) | constructor(guildId: string) { method get (line 14) | get(memberId: string) { method set (line 23) | async set(memberId, timezone: string) { method reset (line 53) | reset(memberId: string) { FILE: backend/src/data/GuildMutes.ts type AddMuteParams (line 9) | type AddMuteParams = { class GuildMutes (line 18) | class GuildMutes extends BaseGuildRepository { method constructor (line 21) | constructor(guildId) { method getExpiredMutes (line 26) | async getExpiredMutes(): Promise { method findExistingMuteForUserId (line 35) | async findExistingMuteForUserId(userId: string): Promise { method isMuted (line 44) | async isMuted(userId: string): Promise { method addMute (line 49) | async addMute(params: AddMuteParams): Promise { method updateExpiryTime (line 66) | async updateExpiryTime(userId, newExpiryTime, rolesToRestore?: string[... method updateExpiresAt (line 93) | async updateExpiresAt(userId: string, timestamp: number | null): Promi... method updateTimeoutExpiresAt (line 106) | async updateTimeoutExpiresAt(userId: string, timestamp: number): Promi... method getActiveMutes (line 119) | async getActiveMutes(): Promise { method setCaseId (line 131) | async setCaseId(userId: string, caseId: number) { method clear (line 143) | async clear(userId) { method fillMissingMuteRole (line 150) | async fillMissingMuteRole(muteRole: string): Promise { FILE: backend/src/data/GuildNicknameHistory.ts constant CLEANUP_INTERVAL (line 9) | const CLEANUP_INTERVAL = 5 * MINUTES; function cleanup (line 11) | async function cleanup() { constant MAX_NICKNAME_ENTRIES_PER_USER (line 22) | const MAX_NICKNAME_ENTRIES_PER_USER = 10; class GuildNicknameHistory (line 24) | class GuildNicknameHistory extends BaseGuildRepository { method constructor (line 27) | constructor(guildId) { method getByUserId (line 32) | async getByUserId(userId): Promise { method getLastEntry (line 44) | getLastEntry(userId): Promise { method addEntry (line 56) | async addEntry(userId, nickname) { FILE: backend/src/data/GuildPersistedData.ts class GuildPersistedData (line 6) | class GuildPersistedData extends BaseGuildRepository { method constructor (line 9) | constructor(guildId) { method find (line 14) | async find(userId: string) { method set (line 23) | async set(userId: string, data: Partial = {}) { method clear (line 42) | async clear(userId: string) { FILE: backend/src/data/GuildPingableRoles.ts class GuildPingableRoles (line 6) | class GuildPingableRoles extends BaseGuildRepository { method constructor (line 9) | constructor(guildId) { method all (line 14) | async all(): Promise { method getForChannel (line 22) | async getForChannel(channelId: string): Promise { method getByChannelAndRoleId (line 31) | async getByChannelAndRoleId(channelId: string, roleId: string): Promis... method delete (line 41) | async delete(channelId: string, roleId: string) { method add (line 49) | async add(channelId: string, roleId: string) { FILE: backend/src/data/GuildReactionRoles.ts class GuildReactionRoles (line 6) | class GuildReactionRoles extends BaseGuildRepository { method constructor (line 9) | constructor(guildId) { method all (line 14) | async all(): Promise { method getForMessage (line 22) | async getForMessage(messageId: string): Promise { method getByMessageAndEmoji (line 34) | async getByMessageAndEmoji(messageId: string, emoji: string): Promise<... method removeFromMessage (line 44) | async removeFromMessage(messageId: string, emoji?: string) { method add (line 57) | async add( FILE: backend/src/data/GuildReminders.ts class GuildReminders (line 6) | class GuildReminders extends BaseGuildRepository { method constructor (line 9) | constructor(guildId) { method getDueReminders (line 14) | async getDueReminders(): Promise { method getRemindersByUserId (line 22) | async getRemindersByUserId(userId: string): Promise { method find (line 31) | find(id: number) { method delete (line 37) | async delete(id) { method add (line 44) | async add(userId: string, channelId: string, remindAt: string, body: s... FILE: backend/src/data/GuildRoleButtons.ts class GuildRoleButtons (line 6) | class GuildRoleButtons extends BaseGuildRepository { method constructor (line 9) | constructor(guildId) { method getSavedRoleButtons (line 14) | getSavedRoleButtons(): Promise { method deleteRoleButtonItem (line 22) | async deleteRoleButtonItem(name: string): Promise { method saveRoleButtonItem (line 29) | async saveRoleButtonItem(name: string, channelId: string, messageId: s... FILE: backend/src/data/GuildRoleQueue.ts class GuildRoleQueue (line 6) | class GuildRoleQueue extends BaseGuildRepository { method constructor (line 9) | constructor(guildId) { method consumeNextRoleAssignments (line 14) | consumeNextRoleAssignments(count: number): Promise { method addQueueItem (line 35) | async addQueueItem(userId: string, roleId: string, shouldAdd: boolean,... FILE: backend/src/data/GuildSavedMessages.ts class GuildSavedMessages (line 13) | class GuildSavedMessages extends BaseGuildRepository { method constructor (line 19) | constructor(guildId) { method msgToSavedMessageData (line 27) | protected msgToSavedMessageData(msg: Message): ISavedMessageData { method _processEntityFromDB (line 133) | protected async _processEntityFromDB(entity: SavedMessage | undefined) { method _processEntityToDB (line 142) | protected async _processEntityToDB(entity: Partial) { method find (line 149) | async find(id: string, includeDeleted = false): Promise { method createFromMsg (line 196) | async createFromMsg(msg: Message, overrides = {}): Promise { method createFromMessages (line 212) | async createFromMessages(messages: Message[], overrides = {}): Promise... method msgToInsertReadyEntity (line 220) | protected async msgToInsertReadyEntity(msg: Message): Promise>): Promi... method fireCreateEvents (line 253) | protected async fireCreateEvents(message: SavedMessage) { method markAsDeleted (line 258) | async markAsDeleted(id): Promise { method markBulkAsDeleted (line 281) | async markBulkAsDeleted(ids) { method saveEdit (line 305) | async saveEdit(id, newData: ISavedMessageData): Promise { method saveEditFromMsg (line 321) | async saveEditFromMsg(msg: Message): Promise { method setPermanent (line 326) | async setPermanent(id: string): Promise { method onceMessageAvailable (line 340) | async onceMessageAvailable( FILE: backend/src/data/GuildScheduledPosts.ts class GuildScheduledPosts (line 6) | class GuildScheduledPosts extends BaseGuildRepository { method constructor (line 9) | constructor(guildId) { method all (line 14) | all(): Promise { method getDueScheduledPosts (line 18) | getDueScheduledPosts(): Promise { method find (line 26) | find(id: number) { method delete (line 34) | async delete(id) { method create (line 41) | async create(data: Partial) { method update (line 50) | async update(id: number, data: Partial) { FILE: backend/src/data/GuildSlowmodes.ts class GuildSlowmodes (line 8) | class GuildSlowmodes extends BaseGuildRepository { method constructor (line 12) | constructor(guildId) { method getChannelSlowmode (line 18) | async getChannelSlowmode(channelId): Promise { method setChannelSlowmode (line 27) | async setChannelSlowmode(channelId, seconds): Promise { method deleteChannelSlowmode (line 48) | async deleteChannelSlowmode(channelId): Promise { method getChannelSlowmodeUser (line 55) | async getChannelSlowmodeUser(channelId, userId): Promise { method addSlowmodeUser (line 69) | async addSlowmodeUser(channelId, userId): Promise { method clearSlowmodeUser (line 98) | async clearSlowmodeUser(channelId, userId): Promise { method getChannelSlowmodeUsers (line 106) | async getChannelSlowmodeUsers(channelId): Promise { method getExpiredSlowmodeUsers (line 115) | async getExpiredSlowmodeUsers(): Promise { FILE: backend/src/data/GuildStarboardMessages.ts class GuildStarboardMessages (line 6) | class GuildStarboardMessages extends BaseGuildRepository { method constructor (line 9) | constructor(guildId) { method getStarboardMessagesForMessageId (line 14) | async getStarboardMessagesForMessageId(messageId: string) { method getStarboardMessagesForStarboardMessageId (line 22) | async getStarboardMessagesForStarboardMessageId(starboardMessageId: st... method getMatchingStarboardMessages (line 30) | async getMatchingStarboardMessages(starboardChannelId: string, sourceM... method createStarboardMessage (line 39) | async createStarboardMessage(starboardId: string, messageId: string, s... method deleteStarboardMessage (line 48) | async deleteStarboardMessage(starboardMessageId: string, starboardChan... FILE: backend/src/data/GuildStarboardReactions.ts class GuildStarboardReactions (line 6) | class GuildStarboardReactions extends BaseGuildRepository { method constructor (line 9) | constructor(guildId) { method getAllReactionsForMessageId (line 14) | async getAllReactionsForMessageId(messageId: string) { method createStarboardReaction (line 22) | async createStarboardReaction(messageId: string, reactorId: string) { method deleteAllStarboardReactionsForMessageId (line 42) | async deleteAllStarboardReactionsForMessageId(messageId: string) { method deleteStarboardReaction (line 49) | async deleteStarboardReaction(messageId: string, reactorId: string) { FILE: backend/src/data/GuildStats.ts class GuildStats (line 6) | class GuildStats extends BaseGuildRepository { method constructor (line 9) | constructor(guildId) { method saveValue (line 14) | async saveValue(source: string, key: string, value: number): Promise { FILE: backend/src/data/GuildTags.ts class GuildTags (line 7) | class GuildTags extends BaseGuildRepository { method constructor (line 11) | constructor(guildId) { method all (line 17) | async all(): Promise { method find (line 25) | async find(tag): Promise { method createOrUpdate (line 34) | async createOrUpdate(tag, body, userId) { method delete (line 58) | async delete(tag) { method findResponseByCommandMessageId (line 65) | async findResponseByCommandMessageId(messageId: string): Promise { method findExistingTempbanForUserId (line 24) | async findExistingTempbanForUserId(userId: string): Promise { method updateExpiryTime (line 47) | async updateExpiryTime(userId, newExpiryTime, modId) { method clear (line 63) | async clear(userId) { FILE: backend/src/data/GuildVCAlerts.ts class GuildVCAlerts (line 6) | class GuildVCAlerts extends BaseGuildRepository { method constructor (line 9) | constructor(guildId) { method getOutdatedAlerts (line 14) | async getOutdatedAlerts(): Promise { method getAllGuildAlerts (line 22) | async getAllGuildAlerts(): Promise { method getAlertsByUserId (line 26) | async getAlertsByUserId(userId: string): Promise { method getAlertsByRequestorId (line 35) | async getAlertsByRequestorId(requestorId: string): Promise { method find (line 44) | find(id: number) { method delete (line 50) | async delete(id) { method add (line 57) | async add(requestorId: string, userId: string, channelId: string, expi... FILE: backend/src/data/MemberCache.ts constant STALE_PERIOD (line 8) | const STALE_PERIOD = 90 * DAYS; class MemberCache (line 10) | class MemberCache extends BaseRepository { method constructor (line 13) | constructor() { method deleteStaleData (line 18) | async deleteStaleData(): Promise { method deleteMarkedToBeDeletedEntries (line 23) | async deleteMarkedToBeDeletedEntries(): Promise { FILE: backend/src/data/MuteTypes.ts type MuteTypes (line 1) | enum MuteTypes { FILE: backend/src/data/Mutes.ts constant OLD_EXPIRED_MUTE_THRESHOLD (line 9) | const OLD_EXPIRED_MUTE_THRESHOLD = 7 * DAYS; constant MAX_TIMEOUT_DURATION (line 11) | const MAX_TIMEOUT_DURATION = 27 * DAYS; constant TIMEOUT_RENEWAL_THRESHOLD (line 13) | const TIMEOUT_RENEWAL_THRESHOLD = 21 * DAYS; class Mutes (line 15) | class Mutes extends BaseRepository { method constructor (line 18) | constructor() { method findMute (line 23) | findMute(guildId: string, userId: string): Promise { method getSoonExpiringMutes (line 32) | getSoonExpiringMutes(threshold: number): Promise { method getTimeoutMutesToRenew (line 41) | getTimeoutMutesToRenew(threshold: number): Promise { method clearOldExpiredMutes (line 51) | async clearOldExpiredMutes(): Promise { FILE: backend/src/data/Reminders.ts class Reminders (line 8) | class Reminders extends BaseRepository { method constructor (line 11) | constructor() { method getRemindersDueSoon (line 16) | async getRemindersDueSoon(threshold: number): Promise { FILE: backend/src/data/ScheduledPosts.ts class ScheduledPosts (line 8) | class ScheduledPosts extends BaseRepository { method constructor (line 11) | constructor() { method getScheduledPostsDueSoon (line 16) | getScheduledPostsDueSoon(threshold: number): Promise { FILE: backend/src/data/Supporters.ts class Supporters (line 6) | class Supporters extends BaseRepository { method constructor (line 9) | constructor() { method getAll (line 14) | getAll() { FILE: backend/src/data/Tempbans.ts class Tempbans (line 8) | class Tempbans extends BaseRepository { method constructor (line 11) | constructor() { method getSoonExpiringTempbans (line 16) | getSoonExpiringTempbans(threshold: number): Promise { FILE: backend/src/data/UsernameHistory.ts constant CLEANUP_INTERVAL (line 9) | const CLEANUP_INTERVAL = 5 * MINUTES; function cleanup (line 11) | async function cleanup() { constant MAX_USERNAME_ENTRIES_PER_USER (line 22) | const MAX_USERNAME_ENTRIES_PER_USER = 5; class UsernameHistory (line 24) | class UsernameHistory extends BaseRepository { method constructor (line 27) | constructor() { method getByUserId (line 32) | async getByUserId(userId): Promise { method getLastEntry (line 44) | getLastEntry(userId): Promise { method addEntry (line 55) | async addEntry(userId, username) { FILE: backend/src/data/VCAlerts.ts class VCAlerts (line 8) | class VCAlerts extends BaseRepository { method constructor (line 11) | constructor() { method getSoonExpiringAlerts (line 16) | async getSoonExpiringAlerts(threshold: number): Promise { FILE: backend/src/data/Webhooks.ts class Webhooks (line 7) | class Webhooks extends BaseRepository { method _processEntityFromDB (line 10) | protected async _processEntityFromDB(entity) { method _processEntityToDB (line 15) | protected async _processEntityToDB(entity) { method find (line 20) | async find(id: string): Promise { method findByChannelId (line 30) | async findByChannelId(channelId: string): Promise { method create (line 40) | async create(data: Partial): Promise { method delete (line 45) | async delete(id: string): Promise { FILE: backend/src/data/apiAuditLogTypes.ts type AuditLogEventType (line 10) | type AuditLogEventType = keyof typeof AuditLogEventTypes; type AddApiPermissionEventData (line 12) | type AddApiPermissionEventData = { type RemoveApiPermissionEventData (line 18) | type RemoveApiPermissionEventData = { type AuditLogEventData (line 22) | interface AuditLogEventData extends Record { type AnyAuditLogEventData (line 45) | type AnyAuditLogEventData = AuditLogEventData[AuditLogEventType]; FILE: backend/src/data/buildEntity.ts function buildEntity (line 1) | function buildEntity(Entity: new () => T, data: Partia... FILE: backend/src/data/cleanup/configs.ts constant CLEAN_PER_LOOP (line 7) | const CLEAN_PER_LOOP = 50; function cleanupConfigs (line 9) | async function cleanupConfigs() { FILE: backend/src/data/cleanup/messages.ts constant RETENTION_PERIOD (line 11) | const RETENTION_PERIOD = 1 * DAYS; constant BOT_MESSAGE_RETENTION_PERIOD (line 12) | const BOT_MESSAGE_RETENTION_PERIOD = 30 * MINUTES; constant DELETED_MESSAGE_RETENTION_PERIOD (line 13) | const DELETED_MESSAGE_RETENTION_PERIOD = 5 * MINUTES; constant CLEAN_PER_LOOP (line 14) | const CLEAN_PER_LOOP = 100; function cleanupMessages (line 16) | async function cleanupMessages(): Promise { FILE: backend/src/data/cleanup/nicknames.ts constant NICKNAME_RETENTION_PERIOD (line 7) | const NICKNAME_RETENTION_PERIOD = 30 * DAYS; constant CLEAN_PER_LOOP (line 8) | const CLEAN_PER_LOOP = 500; function cleanupNicknames (line 10) | async function cleanupNicknames(): Promise { FILE: backend/src/data/cleanup/usernames.ts constant USERNAME_RETENTION_PERIOD (line 7) | const USERNAME_RETENTION_PERIOD = 30 * DAYS; constant CLEAN_PER_LOOP (line 8) | const CLEAN_PER_LOOP = 500; function cleanupUsernames (line 10) | async function cleanupUsernames(): Promise { FILE: backend/src/data/dataSource.ts method typeCast (line 33) | typeCast(field, next) { FILE: backend/src/data/db.ts function connect (line 6) | function connect() { function disconnect (line 19) | function disconnect() { FILE: backend/src/data/entities/AllowedGuild.ts class AllowedGuild (line 4) | class AllowedGuild { FILE: backend/src/data/entities/AntiraidLevel.ts class AntiraidLevel (line 4) | class AntiraidLevel { FILE: backend/src/data/entities/ApiAuditLogEntry.ts class ApiAuditLogEntry (line 5) | class ApiAuditLogEntry { FILE: backend/src/data/entities/ApiLogin.ts class ApiLogin (line 5) | class ApiLogin { FILE: backend/src/data/entities/ApiPermissionAssignment.ts class ApiPermissionAssignment (line 6) | class ApiPermissionAssignment { FILE: backend/src/data/entities/ApiUserInfo.ts type ApiUserInfoData (line 5) | interface ApiUserInfoData { class ApiUserInfo (line 12) | class ApiUserInfo { FILE: backend/src/data/entities/ArchiveEntry.ts class ArchiveEntry (line 4) | class ArchiveEntry { FILE: backend/src/data/entities/AutoReaction.ts class AutoReaction (line 4) | class AutoReaction { FILE: backend/src/data/entities/ButtonRole.ts class ButtonRole (line 4) | class ButtonRole { FILE: backend/src/data/entities/Case.ts class Case (line 5) | class Case { FILE: backend/src/data/entities/CaseNote.ts class CaseNote (line 5) | class CaseNote { FILE: backend/src/data/entities/Config.ts class Config (line 5) | class Config { FILE: backend/src/data/entities/ContextMenuLink.ts class ContextMenuLink (line 4) | class ContextMenuLink { FILE: backend/src/data/entities/Counter.ts class Counter (line 4) | class Counter { FILE: backend/src/data/entities/CounterTrigger.ts constant TRIGGER_COMPARISON_OPS (line 3) | const TRIGGER_COMPARISON_OPS = ["=", "!=", ">", "<", ">=", "<="] as const; type TriggerComparisonOp (line 5) | type TriggerComparisonOp = (typeof TRIGGER_COMPARISON_OPS)[number]; constant REVERSE_OPS (line 7) | const REVERSE_OPS: Record = { function getReverseCounterComparisonOp (line 16) | function getReverseCounterComparisonOp(op: TriggerComparisonOp): Trigger... function parseCounterConditionString (line 25) | function parseCounterConditionString(str: string): [TriggerComparisonOp,... function buildCounterConditionString (line 30) | function buildCounterConditionString(comparisonOp: TriggerComparisonOp, ... function isValidCounterComparisonOp (line 34) | function isValidCounterComparisonOp(op: string): boolean { class CounterTrigger (line 39) | class CounterTrigger { FILE: backend/src/data/entities/CounterTriggerState.ts class CounterTriggerState (line 4) | class CounterTriggerState { FILE: backend/src/data/entities/CounterValue.ts class CounterValue (line 4) | class CounterValue { FILE: backend/src/data/entities/MemberCacheItem.ts class MemberCacheItem (line 4) | class MemberCacheItem { FILE: backend/src/data/entities/MemberTimezone.ts class MemberTimezone (line 4) | class MemberTimezone { FILE: backend/src/data/entities/Mute.ts class Mute (line 4) | class Mute { FILE: backend/src/data/entities/NicknameHistoryEntry.ts class NicknameHistoryEntry (line 4) | class NicknameHistoryEntry { FILE: backend/src/data/entities/PersistedData.ts class PersistedData (line 4) | class PersistedData { FILE: backend/src/data/entities/PingableRole.ts class PingableRole (line 4) | class PingableRole { FILE: backend/src/data/entities/ReactionRole.ts class ReactionRole (line 4) | class ReactionRole { FILE: backend/src/data/entities/Reminder.ts class Reminder (line 4) | class Reminder { FILE: backend/src/data/entities/RoleButtonsItem.ts class RoleButtonsItem (line 4) | class RoleButtonsItem { FILE: backend/src/data/entities/RoleQueueItem.ts class RoleQueueItem (line 4) | class RoleQueueItem { FILE: backend/src/data/entities/SavedMessage.ts type ISavedMessageAttachmentData (line 4) | interface ISavedMessageAttachmentData { type ISavedMessageEmbedData (line 15) | interface ISavedMessageEmbedData { type ISavedMessageStickerData (line 58) | interface ISavedMessageStickerData { type ISavedMessageData (line 68) | interface ISavedMessageData { class SavedMessage (line 86) | class SavedMessage { FILE: backend/src/data/entities/ScheduledPost.ts class ScheduledPost (line 6) | class ScheduledPost { FILE: backend/src/data/entities/SlowmodeChannel.ts class SlowmodeChannel (line 4) | class SlowmodeChannel { FILE: backend/src/data/entities/SlowmodeUser.ts class SlowmodeUser (line 4) | class SlowmodeUser { FILE: backend/src/data/entities/StarboardMessage.ts class StarboardMessage (line 5) | class StarboardMessage { FILE: backend/src/data/entities/StarboardReaction.ts class StarboardReaction (line 5) | class StarboardReaction { FILE: backend/src/data/entities/StatValue.ts class StatValue (line 4) | class StatValue { FILE: backend/src/data/entities/Supporter.ts class Supporter (line 4) | class Supporter { FILE: backend/src/data/entities/Tag.ts class Tag (line 4) | class Tag { FILE: backend/src/data/entities/TagResponse.ts class TagResponse (line 4) | class TagResponse { FILE: backend/src/data/entities/Tempban.ts class Tempban (line 4) | class Tempban { FILE: backend/src/data/entities/UsernameHistoryEntry.ts class UsernameHistoryEntry (line 4) | class UsernameHistoryEntry { FILE: backend/src/data/entities/VCAlert.ts class VCAlert (line 4) | class VCAlert { FILE: backend/src/data/entities/Webhook.ts class Webhook (line 4) | class Webhook { FILE: backend/src/data/getChannelIdFromMessageId.ts function getChannelIdFromMessageId (line 7) | async function getChannelIdFromMessageId(messageId: string): Promise; FILE: backend/src/debugCounters.ts type DebugCounterValue (line 1) | type DebugCounterValue = { function incrementDebugCounter (line 6) | function incrementDebugCounter(name: string) { function getDebugCounterValues (line 13) | function getDebugCounterValues() { FILE: backend/src/exportSchemas.ts method zzz_dummy_property_do_not_use (line 39) | get zzz_dummy_property_do_not_use() { method all (line 42) | get all() { method any (line 45) | get any() { method not (line 48) | get not() { function getPartialConfig (line 63) | function getPartialConfig(configSchema: z.ZodType) { function overrides (line 70) | function overrides(configSchema: z.ZodType): z.ZodType { FILE: backend/src/globals.ts function isAPI (line 3) | function isAPI() { function setIsAPI (line 7) | function setIsAPI(value: boolean) { FILE: backend/src/index.ts constant RECENT_PLUGIN_ERROR_EXIT_THRESHOLD (line 60) | const RECENT_PLUGIN_ERROR_EXIT_THRESHOLD = 5; constant RECENT_DISCORD_ERROR_EXIT_THRESHOLD (line 63) | const RECENT_DISCORD_ERROR_EXIT_THRESHOLD = 5; constant SAFE_TO_IGNORE_ERIS_ERROR_CODES (line 69) | const SAFE_TO_IGNORE_ERIS_ERROR_CODES = [ constant SAFE_TO_IGNORE_ERIS_ERROR_MESSAGES (line 75) | const SAFE_TO_IGNORE_ERIS_ERROR_MESSAGES = ["Server didn't acknowledge p... function errorHandler (line 80) | function errorHandler(err) { constant REQUIRED_NODE_VERSION (line 182) | const REQUIRED_NODE_VERSION = "16.9.0"; method canLoadGuild (line 303) | canLoadGuild(guildId): Promise { method getEnabledGuildPlugins (line 313) | async getEnabledGuildPlugins(ctx, plugins): Promise { method getConfig (line 327) | async getConfig(id) { method sendSuccessMessageFn (line 388) | sendSuccessMessageFn(channel, body) { method sendErrorMessageFn (line 396) | sendErrorMessageFn(channel, body) { FILE: backend/src/logger.ts method info (line 4) | info(...args: Parameters) { method warn (line 8) | warn(...args: Parameters) { method error (line 12) | error(...args: Parameters) { method debug (line 16) | debug(...args: Parameters) { method log (line 20) | log(...args: Parameters) { FILE: backend/src/migrations/1540519249973-CreatePreTypeORMTables.ts class CreatePreTypeORMTables1540519249973 (line 3) | class CreatePreTypeORMTables1540519249973 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 109) | public async down(): Promise { FILE: backend/src/migrations/1543053430712-CreateMessagesTable.ts class CreateMessagesTable1543053430712 (line 3) | class CreateMessagesTable1543053430712 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 69) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1544877081073-CreateSlowmodeTables.ts class CreateSlowmodeTables1544877081073 (line 3) | class CreateSlowmodeTables1544877081073 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 67) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1544887946307-CreateStarboardTable.ts class CreateStarboardTable1544887946307 (line 3) | class CreateStarboardTable1544887946307 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 82) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1546770935261-CreateTagResponsesTable.ts class CreateTagResponsesTable1546770935261 (line 3) | class CreateTagResponsesTable1546770935261 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 56) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1546778415930-CreateNameHistoryTable.ts class CreateNameHistoryTable1546778415930 (line 3) | class CreateNameHistoryTable1546778415930 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 59) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1546788508314-MakeNameHistoryValueLengthLonger.ts class MakeNameHistoryValueLengthLonger1546788508314 (line 3) | class MakeNameHistoryValueLengthLonger1546788508314 implements Migration... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 11) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1547290549908-CreateAutoReactionsTable.ts class CreateAutoReactionsTable1547290549908 (line 3) | class CreateAutoReactionsTable1547290549908 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 30) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1547293464842-CreatePingableRolesTable.ts class CreatePingableRolesTable1547293464842 (line 3) | class CreatePingableRolesTable1547293464842 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 46) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1547392046629-AddIndexToArchivesExpiresAt.ts class AddIndexToArchivesExpiresAt1547392046629 (line 3) | class AddIndexToArchivesExpiresAt1547392046629 implements MigrationInter... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 13) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1547393619900-AddIsHiddenToCases.ts class AddIsHiddenToCases1547393619900 (line 3) | class AddIsHiddenToCases1547393619900 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 22) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1549649586803-AddPPFieldsToCases.ts class AddPPFieldsToCases1549649586803 (line 3) | class AddPPFieldsToCases1549649586803 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 12) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1550409894008-FixEmojiIndexInReactionRoles.ts class FixEmojiIndexInReactionRoles1550409894008 (line 3) | class FixEmojiIndexInReactionRoles1550409894008 implements MigrationInte... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 13) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1550521627877-CreateSelfGrantableRolesTable.ts class CreateSelfGrantableRolesTable1550521627877 (line 3) | class CreateSelfGrantableRolesTable1550521627877 implements MigrationInt... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 48) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1550609900261-CreateRemindersTable.ts class CreateRemindersTable1550609900261 (line 3) | class CreateRemindersTable1550609900261 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 50) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1556908589679-CreateUsernameHistoryTable.ts class CreateUsernameHistoryTable1556908589679 (line 3) | class CreateUsernameHistoryTable1556908589679 implements MigrationInterf... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 43) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1556909512501-MigrateUsernamesToNewHistoryTable.ts constant BATCH_SIZE (line 3) | const BATCH_SIZE = 200; class MigrateUsernamesToNewHistoryTable1556909512501 (line 5) | class MigrateUsernamesToNewHistoryTable1556909512501 implements Migratio... method up (line 6) | public async up(queryRunner: QueryRunner): Promise { method down (line 81) | public async down(): Promise {} FILE: backend/src/migrations/1556913287547-TurnNameHistoryToNicknameHistory.ts class TurnNameHistoryToNicknameHistory1556913287547 (line 3) | class TurnNameHistoryToNicknameHistory1556913287547 implements Migration... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 19) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1556973844545-CreateScheduledPostsTable.ts class CreateScheduledPostsTable1556973844545 (line 3) | class CreateScheduledPostsTable1556973844545 implements MigrationInterfa... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 65) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1558804433320-CreateDashboardLoginsTable.ts class CreateDashboardLoginsTable1558804433320 (line 3) | class CreateDashboardLoginsTable1558804433320 implements MigrationInterf... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 51) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1558804449510-CreateDashboardUsersTable.ts class CreateDashboardUsersTable1558804449510 (line 3) | class CreateDashboardUsersTable1558804449510 implements MigrationInterfa... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 41) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1561111990357-CreateConfigsTable.ts class CreateConfigsTable1561111990357 (line 3) | class CreateConfigsTable1561111990357 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 48) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1561117545258-CreateAllowedGuildsTable.ts class CreateAllowedGuildsTable1561117545258 (line 3) | class CreateAllowedGuildsTable1561117545258 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 36) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1561282151982-RenameBackendDashboardStuffToAPI.ts class RenameBackendDashboardStuffToAPI1561282151982 (line 3) | class RenameBackendDashboardStuffToAPI1561282151982 implements Migration... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 9) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1561282552734-RenameAllowedGuildGuildIdToId.ts class RenameAllowedGuildGuildIdToId1561282552734 (line 3) | class RenameAllowedGuildGuildIdToId1561282552734 implements MigrationInt... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 8) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1561282950483-CreateApiUserInfoTable.ts class CreateApiUserInfoTable1561282950483 (line 3) | class CreateApiUserInfoTable1561282950483 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 28) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1561283165823-RenameApiUsersToApiPermissions.ts class RenameApiUsersToApiPermissions1561283165823 (line 3) | class RenameApiUsersToApiPermissions1561283165823 implements MigrationIn... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 8) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1561283405201-DropUserDataFromLoginsAndPermissions.ts class DropUserDataFromLoginsAndPermissions1561283405201 (line 3) | class DropUserDataFromLoginsAndPermissions1561283405201 implements Migra... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 9) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1561391921385-AddVCAlertTable.ts class AddVCAlertTable1561391921385 (line 3) | class AddVCAlertTable1561391921385 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 55) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1562838838927-AddMoreIndicesToVCAlerts.ts class AddMoreIndicesToVCAlerts1562838838927 (line 3) | class AddMoreIndicesToVCAlerts1562838838927 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 18) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1573158035867-AddTypeAndPermissionsToApiPermissions.ts class AddTypeAndPermissionsToApiPermissions1573158035867 (line 3) | class AddTypeAndPermissionsToApiPermissions1573158035867 implements Migr... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 51) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1573248462469-MoveStarboardsToConfig.ts class MoveStarboardsToConfig1573248462469 (line 3) | class MoveStarboardsToConfig1573248462469 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 48) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1573248794313-CreateStarboardReactionsTable.ts class CreateStarboardReactionsTable1573248794313 (line 3) | class CreateStarboardReactionsTable1573248794313 implements MigrationInt... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 41) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1575145703039-AddIsExclusiveToReactionRoles.ts class AddIsExclusiveToReactionRoles1575145703039 (line 3) | class AddIsExclusiveToReactionRoles1575145703039 implements MigrationInt... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 16) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1575199835233-CreateStatsTable.ts class CreateStatsTable1575199835233 (line 3) | class CreateStatsTable1575199835233 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 56) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1575230079526-AddRepeatColumnsToScheduledPosts.ts class AddRepeatColumnsToScheduledPosts1575230079526 (line 3) | class AddRepeatColumnsToScheduledPosts1575230079526 implements Migration... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 26) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1578445483917-CreateReminderCreatedAtField.ts class CreateReminderCreatedAtField1578445483917 (line 3) | class CreateReminderCreatedAtField1578445483917 implements MigrationInte... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 15) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1580038836906-CreateAntiraidLevelsTable.ts class CreateAntiraidLevelsTable1580038836906 (line 3) | class CreateAntiraidLevelsTable1580038836906 implements MigrationInterfa... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 25) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1580654617890-AddActiveFollowsToLocateUser.ts class AddActiveFollowsToLocateUser1580654617890 (line 3) | class AddActiveFollowsToLocateUser1580654617890 implements MigrationInte... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 15) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1590616691907-CreateSupportersTable.ts class CreateSupportersTable1590616691907 (line 3) | class CreateSupportersTable1590616691907 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 33) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1591036185142-OptimizeMessageIndices.ts class OptimizeMessageIndices1591036185142 (line 3) | class OptimizeMessageIndices1591036185142 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 30) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1591038041635-OptimizeMessageTimestamps.ts class OptimizeMessageTimestamps1591038041635 (line 3) | class OptimizeMessageTimestamps1591038041635 implements MigrationInterfa... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 13) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1596994103885-AddCaseNotesForeignKey.ts class AddCaseNotesForeignKey1596994103885 (line 3) | class AddCaseNotesForeignKey1596994103885 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 18) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1597015567215-AddLogMessageIdToCases.ts class AddLogMessageIdToCases1597015567215 (line 3) | class AddLogMessageIdToCases1597015567215 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 17) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1597109357201-CreateMemberTimezonesTable.ts class CreateMemberTimezonesTable1597109357201 (line 3) | class CreateMemberTimezonesTable1597109357201 implements MigrationInterf... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 29) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1600283341726-EncryptExistingMessages.ts class EncryptExistingMessages1600283341726 (line 4) | class EncryptExistingMessages1600283341726 implements MigrationInterface { method up (line 5) | public async up(queryRunner: QueryRunner): Promise { method down (line 17) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1600285077890-EncryptArchives.ts class EncryptArchives1600285077890 (line 4) | class EncryptArchives1600285077890 implements MigrationInterface { method up (line 5) | public async up(queryRunner: QueryRunner): Promise { method down (line 13) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1608608903570-CreateRestoredRolesColumn.ts class CreateRestoredRolesColumn1608608903570 (line 3) | class CreateRestoredRolesColumn1608608903570 implements MigrationInterfa... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 15) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1608692857722-FixStarboardReactionsIndices.ts class FixStarboardReactionsIndices1608692857722 (line 3) | class FixStarboardReactionsIndices1608692857722 implements MigrationInte... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 22) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1608753440716-CreateTempBansTable.ts class CreateTempBansTable1608753440716 (line 3) | class CreateTempBansTable1608753440716 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 42) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1612010765767-CreateCounterTables.ts class CreateCounterTables1612010765767 (line 3) | class CreateCounterTables1612010765767 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 197) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1617363975046-UpdateCounterTriggers.ts class UpdateCounterTriggers1617363975046 (line 3) | class UpdateCounterTriggers1617363975046 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 54) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1622939525343-OrderReactionRoles.ts class OrderReactionRoles1622939525343 (line 3) | class OrderReactionRoles1622939525343 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 15) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1623018101018-CreateButtonRolesTable.ts class CreateButtonRolesTable1623018101018 (line 3) | class CreateButtonRolesTable1623018101018 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 46) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1628809879962-CreateContextMenuTable.ts class CreateContextMenuTable1628809879962 (line 3) | class CreateContextMenuTable1628809879962 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 29) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1630837386329-AddExpiresAtToApiPermissions.ts class AddExpiresAtToApiPermissions1630837386329 (line 3) | class AddExpiresAtToApiPermissions1630837386329 implements MigrationInte... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 15) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1630837718830-CreateApiAuditLogTable.ts class CreateApiAuditLogTable1630837718830 (line 3) | class CreateApiAuditLogTable1630837718830 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 55) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1630840428694-AddTimestampsToAllowedGuilds.ts class AddTimestampsToAllowedGuilds1630840428694 (line 3) | class AddTimestampsToAllowedGuilds1630840428694 implements MigrationInte... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 20) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1631474131804-AddIndexToIsBot.ts class AddIndexToIsBot1631474131804 (line 3) | class AddIndexToIsBot1631474131804 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 13) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1632582078622-SplitScheduledPostsPostAtIndex.ts class SplitScheduledPostsPostAtIndex1632582078622 (line 3) | class SplitScheduledPostsPostAtIndex1632582078622 implements MigrationIn... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 20) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1632582299400-AddIndexToRemindersRemindAt.ts class AddIndexToRemindersRemindAt1632582299400 (line 3) | class AddIndexToRemindersRemindAt1632582299400 implements MigrationInter... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 13) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1634459708599-RemoveTagResponsesForeignKeys.ts class RemoveTagResponsesForeignKeys1634459708599 (line 3) | class RemoveTagResponsesForeignKeys1634459708599 implements MigrationInt... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 9) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1634563901575-CreatePhishermanCacheTable.ts class CreatePhishermanCacheTable1634563901575 (line 3) | class CreatePhishermanCacheTable1634563901575 implements MigrationInterf... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 35) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1635596150234-CreatePhishermanKeyCacheTable.ts class CreatePhishermanKeyCacheTable1635596150234 (line 3) | class CreatePhishermanKeyCacheTable1635596150234 implements MigrationInt... method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 35) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1635779678653-CreateWebhooksTable.ts class CreateWebhooksTable1635779678653 (line 3) | class CreateWebhooksTable1635779678653 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 42) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1650709103864-CreateRoleQueueTable.ts class CreateRoleQueueTable1650709103864 (line 3) | class CreateRoleQueueTable1650709103864 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 47) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1650712828384-CreateRoleButtonsTable.ts class CreateRoleButtonsTable1650712828384 (line 3) | class CreateRoleButtonsTable1650712828384 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 48) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1650721020704-RemoveButtonRolesTable.ts class RemoveButtonRolesTable1650721020704 (line 3) | class RemoveButtonRolesTable1650721020704 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 8) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1680354053183-AddTimeoutColumnsToMutes.ts class AddTimeoutColumnsToMutes1680354053183 (line 3) | class AddTimeoutColumnsToMutes1680354053183 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 40) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/migrations/1682788165866-CreateMemberCacheTable.ts class CreateMemberCacheTable1682788165866 (line 3) | class CreateMemberCacheTable1682788165866 implements MigrationInterface { method up (line 4) | public async up(queryRunner: QueryRunner): Promise { method down (line 66) | public async down(queryRunner: QueryRunner): Promise { FILE: backend/src/pluginUtils.ts function canActOn (line 39) | function canActOn( function hasPermission (line 60) | async function hasPermission( type GenericCommandSource (line 69) | type GenericCommandSource = Message | CommandInteraction | ModalSubmitIn... function isContextInteraction (line 71) | function isContextInteraction( function isContextMessage (line 77) | function isContextMessage(context: GenericCommandSource): context is Mes... function getContextChannel (line 81) | async function getContextChannel(context: GenericCommandSource): Promise... function getContextChannelId (line 91) | function getContextChannelId(context: GenericCommandSource): string | nu... function fetchContextChannel (line 95) | async function fetchContextChannel(context: GenericCommandSource) { function flagsWithEphemeral (line 106) | function flagsWithEphemeral) { function isOwner (line 189) | function isOwner(pluginData: AnyPluginData, userId: string) { type AnyFn (line 204) | type AnyFn = (...args: any[]) => any; function mapToPublicFn (line 209) | function mapToPublicFn(inputFn: T) { type FnWithPluginData (line 217) | type FnWithPluginData = (pluginData: TPluginData, ...args: ... function makePublicFn (line 219) | function makePublicFn, T extends... function resolveMessageMember (line 228) | function resolveMessageMember(message: Message) { FILE: backend/src/plugins/AutoDelete/AutoDeletePlugin.ts method beforeLoad (line 17) | beforeLoad(pluginData) { method afterLoad (line 30) | afterLoad(pluginData) { method beforeUnload (line 43) | beforeUnload(pluginData) { FILE: backend/src/plugins/AutoDelete/types.ts constant MAX_DELAY (line 9) | const MAX_DELAY = 5 * MINUTES; type IDeletionQueueItem (line 11) | interface IDeletionQueueItem { type AutoDeletePluginType (line 21) | interface AutoDeletePluginType extends BasePluginType { FILE: backend/src/plugins/AutoDelete/util/addMessageToDeletionQueue.ts function addMessageToDeletionQueue (line 7) | function addMessageToDeletionQueue( FILE: backend/src/plugins/AutoDelete/util/deleteNextItem.ts function deleteNextItem (line 13) | async function deleteNextItem(pluginData: GuildPluginData... function consumeIgnoredRoleChange (line 29) | function consumeIgnoredRoleChange( FILE: backend/src/plugins/Automod/functions/matchMultipleTextTypesOnMessage.ts type TextTriggerWithMultipleMatchTypes (line 8) | type TextTriggerWithMultipleMatchTypes = { type MatchableTextType (line 17) | type MatchableTextType = "message" | "embed" | "visiblename" | "username... type YieldedContent (line 19) | type YieldedContent = [MatchableTextType, string]; FILE: backend/src/plugins/Automod/functions/resolveActionContactMethods.ts function resolveActionContactMethods (line 7) | function resolveActionContactMethods( FILE: backend/src/plugins/Automod/functions/runAutomod.ts type MatchedTriggerResult (line 22) | interface MatchedTriggerResult { type RuleResultOutcomeSuccess (line 28) | interface RuleResultOutcomeSuccess { type RuleResultOutcomeFailure (line 33) | interface RuleResultOutcomeFailure { type RuleResultOutcome (line 38) | type RuleResultOutcome = RuleResultOutcomeSuccess | RuleResultOutcomeFai... type RuleResult (line 40) | interface RuleResult { type AutomodRunResult (line 46) | interface AutomodRunResult { function runAutomod (line 51) | async function runAutomod( FILE: backend/src/plugins/Automod/functions/setAntiraidLevel.ts function setAntiraidLevel (line 7) | async function setAntiraidLevel( FILE: backend/src/plugins/Automod/functions/sumRecentActionCounts.ts function sumRecentActionCounts (line 3) | function sumRecentActionCounts(actions: RecentAction[]) { FILE: backend/src/plugins/Automod/helpers.ts type BaseAutomodTriggerMatchResult (line 6) | interface BaseAutomodTriggerMatchResult { type AutomodTriggerMatchResult (line 15) | type AutomodTriggerMatchResult = unknown extends TExtra type AutomodTriggerMatchFn (line 19) | type AutomodTriggerMatchFn = (meta: { type AutomodTriggerRenderMatchInformationFn (line 26) | type AutomodTriggerRenderMatchInformationFn = (meta: { type AutomodActionBlueprint (line 65) | interface AutomodActionBlueprint { function automodAction (line 70) | function automodAction( FILE: backend/src/plugins/Automod/triggers/antiraidLevel.ts type AntiraidLevelTriggerResult (line 4) | interface AntiraidLevelTriggerResult {} method match (line 14) | async match({ triggerConfig, context }) { method renderMatchInformation (line 36) | renderMatchInformation({ contexts }) { FILE: backend/src/plugins/Automod/triggers/anyMessage.ts type AnyMessageResultType (line 6) | interface AnyMessageResultType {} method match (line 13) | async match({ context }) { method renderMatchInformation (line 23) | renderMatchInformation({ pluginData, contexts }) { FILE: backend/src/plugins/Automod/triggers/ban.ts type BanTriggerResultType (line 5) | interface BanTriggerResultType {} method match (line 15) | async match({ context, triggerConfig }) { method renderMatchInformation (line 30) | renderMatchInformation() { FILE: backend/src/plugins/Automod/triggers/counterTrigger.ts type CounterTriggerResult (line 5) | interface CounterTriggerResult {} method match (line 16) | async match({ triggerConfig, context }) { method renderMatchInformation (line 39) | renderMatchInformation({ contexts }) { FILE: backend/src/plugins/Automod/triggers/exampleTrigger.ts type ExampleMatchResultType (line 4) | interface ExampleMatchResultType { method match (line 15) | async match({ triggerConfig, context }) { method renderMatchInformation (line 26) | renderMatchInformation({ matchResult }) { FILE: backend/src/plugins/Automod/triggers/hasAttachments.ts type HasAttachmentsMatchResult (line 6) | interface HasAttachmentsMatchResult { method match (line 19) | async match({ context, triggerConfig }) { method renderMatchInformation (line 45) | renderMatchInformation({ pluginData, contexts, matchResult }) { FILE: backend/src/plugins/Automod/triggers/kick.ts type KickTriggerResultType (line 5) | interface KickTriggerResultType {} method match (line 15) | async match({ context, triggerConfig }) { method renderMatchInformation (line 29) | renderMatchInformation() { FILE: backend/src/plugins/Automod/triggers/matchAttachmentType.ts type MatchResultType (line 7) | interface MatchResultType { method match (line 22) | async match({ context, triggerConfig: trigger }) { method renderMatchInformation (line 64) | renderMatchInformation({ pluginData, contexts, matchResult }) { FILE: backend/src/plugins/Automod/triggers/matchInvites.ts type MatchResultType (line 7) | interface MatchResultType { method match (line 40) | async match({ pluginData, context, triggerConfig: trigger }) { method renderMatchInformation (line 82) | renderMatchInformation({ pluginData, contexts, matchResult }) { FILE: backend/src/plugins/Automod/triggers/matchLinks.ts type MatchResultType (line 12) | interface MatchResultType { method match (line 55) | async match({ pluginData, context, triggerConfig: trigger }) { method renderMatchInformation (line 184) | renderMatchInformation({ pluginData, contexts, matchResult }) { FILE: backend/src/plugins/Automod/triggers/matchMimeType.ts type MatchResultType (line 6) | interface MatchResultType { method match (line 21) | async match({ context, triggerConfig: trigger }) { method renderMatchInformation (line 61) | renderMatchInformation({ pluginData, contexts, matchResult }) { FILE: backend/src/plugins/Automod/triggers/matchRegex.ts type MatchResultType (line 11) | interface MatchResultType { method match (line 34) | async match({ pluginData, context, triggerConfig: trigger }) { method renderMatchInformation (line 74) | renderMatchInformation({ pluginData, contexts, matchResult }) { FILE: backend/src/plugins/Automod/triggers/matchWords.ts type MatchResultType (line 10) | interface MatchResultType { method match (line 35) | async match({ pluginData, context, triggerConfig: trigger }) { method renderMatchInformation (line 98) | renderMatchInformation({ pluginData, contexts, matchResult }) { FILE: backend/src/plugins/Automod/triggers/memberJoin.ts method match (line 13) | async match({ context, triggerConfig }) { method renderMatchInformation (line 26) | renderMatchInformation() { FILE: backend/src/plugins/Automod/triggers/memberJoinSpam.ts method match (line 17) | async match({ pluginData, context, triggerConfig }) { method renderMatchInformation (line 48) | renderMatchInformation() { FILE: backend/src/plugins/Automod/triggers/memberLeave.ts method match (line 9) | async match({ context }) { method renderMatchInformation (line 17) | renderMatchInformation() { FILE: backend/src/plugins/Automod/triggers/mute.ts type MuteTriggerResultType (line 5) | interface MuteTriggerResultType {} method match (line 15) | async match({ context, triggerConfig }) { method renderMatchInformation (line 29) | renderMatchInformation() { FILE: backend/src/plugins/Automod/triggers/note.ts type NoteTriggerResultType (line 5) | interface NoteTriggerResultType {} method match (line 12) | async match({ context }) { method renderMatchInformation (line 22) | renderMatchInformation() { FILE: backend/src/plugins/Automod/triggers/roleAdded.ts type RoleAddedMatchResult (line 7) | interface RoleAddedMatchResult { method match (line 16) | async match({ triggerConfig, context, pluginData }) { method renderMatchInformation (line 37) | renderMatchInformation({ matchResult, pluginData, contexts }) { FILE: backend/src/plugins/Automod/triggers/roleRemoved.ts type RoleAddedMatchResult (line 7) | interface RoleAddedMatchResult { method match (line 16) | async match({ triggerConfig, context, pluginData }) { method renderMatchInformation (line 37) | renderMatchInformation({ matchResult, pluginData, contexts }) { FILE: backend/src/plugins/Automod/triggers/threadArchive.ts type ThreadArchiveResult (line 6) | interface ThreadArchiveResult { method match (line 21) | async match({ context, triggerConfig }) { method renderMatchInformation (line 43) | async renderMatchInformation({ matchResult }) { FILE: backend/src/plugins/Automod/triggers/threadCreate.ts type ThreadCreateResult (line 6) | interface ThreadCreateResult { method match (line 19) | async match({ context }) { method renderMatchInformation (line 37) | async renderMatchInformation({ matchResult }) { FILE: backend/src/plugins/Automod/triggers/threadCreateSpam.ts method match (line 17) | async match({ pluginData, context, triggerConfig }) { method renderMatchInformation (line 48) | renderMatchInformation() { FILE: backend/src/plugins/Automod/triggers/threadDelete.ts type ThreadDeleteResult (line 6) | interface ThreadDeleteResult { method match (line 19) | async match({ context }) { method renderMatchInformation (line 37) | renderMatchInformation({ matchResult }) { FILE: backend/src/plugins/Automod/triggers/threadUnarchive.ts type ThreadUnarchiveResult (line 6) | interface ThreadUnarchiveResult { method match (line 21) | async match({ context, triggerConfig }) { method renderMatchInformation (line 43) | async renderMatchInformation({ matchResult }) { FILE: backend/src/plugins/Automod/triggers/unban.ts type UnbanTriggerResultType (line 5) | interface UnbanTriggerResultType {} method match (line 12) | async match({ context }) { method renderMatchInformation (line 22) | renderMatchInformation() { FILE: backend/src/plugins/Automod/triggers/unmute.ts type UnmuteTriggerResultType (line 5) | interface UnmuteTriggerResultType {} method match (line 12) | async match({ context }) { method renderMatchInformation (line 22) | renderMatchInformation() { FILE: backend/src/plugins/Automod/triggers/warn.ts type WarnTriggerResultType (line 5) | interface WarnTriggerResultType {} method match (line 15) | async match({ context, triggerConfig }) { method renderMatchInformation (line 29) | renderMatchInformation() { FILE: backend/src/plugins/Automod/types.ts type ZTriggersMapHelper (line 22) | type ZTriggersMapHelper = { type ZActionsMapHelper (line 34) | type ZActionsMapHelper = { type TRule (line 58) | type TRule = z.infer; type AutomodPluginType (line 68) | interface AutomodPluginType extends BasePluginType { type AutomodContext (line 132) | interface AutomodContext { type RecentAction (line 174) | interface RecentAction { type RecentSpam (line 181) | interface RecentSpam { FILE: backend/src/plugins/BotControl/BotControlPlugin.ts method afterLoad (line 52) | async afterLoad(pluginData) { FILE: backend/src/plugins/BotControl/activeReload.ts function getActiveReload (line 3) | function getActiveReload() { function setActiveReload (line 7) | function setActiveReload(guildId: string, channelId: string) { function resetActiveReload (line 11) | function resetActiveReload() { FILE: backend/src/plugins/BotControl/commands/AddDashboardUserCmd.ts method run (line 19) | async run({ pluginData, message: msg, args }) { FILE: backend/src/plugins/BotControl/commands/AddServerFromInviteCmd.ts method run (line 17) | async run({ pluginData, message: msg, args }) { FILE: backend/src/plugins/BotControl/commands/AllowServerCmd.ts method run (line 20) | async run({ pluginData, message: msg, args }) { FILE: backend/src/plugins/BotControl/commands/ChannelToServerCmd.ts method run (line 16) | async run({ pluginData, message: msg, args }) { FILE: backend/src/plugins/BotControl/commands/DebugCountersCmd.ts type SortableDebugCounter (line 7) | type SortableDebugCounter = { method run (line 18) | async run({ pluginData, message: msg }) { FILE: backend/src/plugins/BotControl/commands/DisallowServerCmd.ts method run (line 18) | async run({ pluginData, message: msg, args }) { FILE: backend/src/plugins/BotControl/commands/EligibleCmd.ts method run (line 15) | async run({ pluginData, message: msg, args }) { FILE: backend/src/plugins/BotControl/commands/LeaveServerCmd.ts method run (line 17) | async run({ pluginData, message: msg, args }) { FILE: backend/src/plugins/BotControl/commands/ListDashboardPermsCmd.ts method run (line 16) | async run({ pluginData, message: msg, args }) { FILE: backend/src/plugins/BotControl/commands/ListDashboardUsersCmd.ts method run (line 13) | async run({ pluginData, message: msg, args }) { FILE: backend/src/plugins/BotControl/commands/ProfilerDataCmd.ts method run (line 23) | async run({ pluginData, message: msg, args }) { FILE: backend/src/plugins/BotControl/commands/RateLimitPerformanceCmd.ts method run (line 13) | async run({ pluginData, message: msg }) { FILE: backend/src/plugins/BotControl/commands/ReloadGlobalPluginsCmd.ts method run (line 12) | async run({ pluginData, message }) { FILE: backend/src/plugins/BotControl/commands/ReloadServerCmd.ts method run (line 17) | async run({ pluginData, message: msg, args }) { FILE: backend/src/plugins/BotControl/commands/RemoveDashboardUserCmd.ts method run (line 18) | async run({ pluginData, message: msg, args }) { FILE: backend/src/plugins/BotControl/commands/RestPerformanceCmd.ts method run (line 16) | async run({ message: msg, args }) { FILE: backend/src/plugins/BotControl/commands/ServersCmd.ts method run (line 22) | async run({ pluginData, message: msg, args }) { FILE: backend/src/plugins/BotControl/functions/isEligible.ts constant REQUIRED_MEMBER_COUNT (line 6) | const REQUIRED_MEMBER_COUNT = 5000; function isEligible (line 8) | async function isEligible( FILE: backend/src/plugins/BotControl/types.ts type BotControlPluginType (line 18) | interface BotControlPluginType extends BasePluginType { FILE: backend/src/plugins/Cases/CasesPlugin.ts function getLogsPlugin (line 19) | function getLogsPlugin(): Promise { method public (line 29) | public(pluginData) { method afterLoad (line 42) | afterLoad(pluginData) { FILE: backend/src/plugins/Cases/functions/createCase.ts function createCase (line 9) | async function createCase(pluginData: GuildPluginData, ... FILE: backend/src/plugins/Cases/functions/createCaseNote.ts function createCaseNote (line 8) | async function createCaseNote(pluginData: GuildPluginData, case... FILE: backend/src/plugins/Cases/functions/getCaseEmbed.ts function getCaseEmbed (line 18) | async function getCaseEmbed( FILE: backend/src/plugins/Cases/functions/getCaseIcon.ts function getCaseIcon (line 6) | function getCaseIcon(pluginData: GuildPluginData, caseT... FILE: backend/src/plugins/Cases/functions/getCaseSummary.ts constant CASE_SUMMARY_REASON_MAX_LENGTH (line 11) | const CASE_SUMMARY_REASON_MAX_LENGTH = 300; constant INCLUDE_MORE_NOTES_THRESHOLD (line 12) | const INCLUDE_MORE_NOTES_THRESHOLD = 20; constant UPDATE_STR (line 13) | const UPDATE_STR = "**[Update]**"; function getCaseSummary (line 15) | async function getCaseSummary( FILE: backend/src/plugins/Cases/functions/getCaseTypeAmountForUserId.ts function getCaseTypeAmountForUserId (line 5) | async function getCaseTypeAmountForUserId( FILE: backend/src/plugins/Cases/functions/getRecentCasesByMod.ts function getRecentCasesByMod (line 6) | function getRecentCasesByMod( FILE: backend/src/plugins/Cases/functions/getTotalCasesByMod.ts function getTotalCasesByMod (line 6) | function getTotalCasesByMod( FILE: backend/src/plugins/Cases/functions/postToCaseLogChannel.ts function postToCaseLogChannel (line 12) | async function postToCaseLogChannel( function postCaseToCaseLogChannel (line 48) | async function postCaseToCaseLogChannel( FILE: backend/src/plugins/Cases/functions/resolveCaseId.ts function resolveCaseId (line 3) | function resolveCaseId(caseOrCaseId: Case | number): number { FILE: backend/src/plugins/Cases/types.ts type CasesPluginType (line 38) | interface CasesPluginType extends BasePluginType { type CaseArgs (line 50) | type CaseArgs = { type CaseNoteArgs (line 64) | type CaseNoteArgs = { FILE: backend/src/plugins/Censor/CensorPlugin.ts method beforeLoad (line 31) | beforeLoad(pluginData) { method afterLoad (line 40) | afterLoad(pluginData) { method beforeUnload (line 50) | beforeUnload(pluginData) { FILE: backend/src/plugins/Censor/types.ts type CensorPluginType (line 27) | interface CensorPluginType extends BasePluginType { FILE: backend/src/plugins/Censor/util/applyFiltersToMsg.ts type ManipulatedEmbedData (line 18) | type ManipulatedEmbedData = Partial; function applyFiltersToMsg (line 20) | async function applyFiltersToMsg( FILE: backend/src/plugins/Censor/util/censorMessage.ts function censorMessage (line 9) | async function censorMessage( FILE: backend/src/plugins/Censor/util/onMessageCreate.ts function onMessageCreate (line 7) | async function onMessageCreate(pluginData: GuildPluginData | undefined | ... FILE: backend/src/plugins/CommandAliases/types.ts type CommandAliasesPluginType (line 9) | interface CommandAliasesPluginType extends BasePluginType { FILE: backend/src/plugins/Common/CommonPlugin.ts method public (line 12) | public(pluginData) { FILE: backend/src/plugins/Common/functions/getEmoji.ts function getSuccessEmoji (line 5) | function getSuccessEmoji(pluginData: GuildPluginData) { function getErrorEmoji (line 9) | function getErrorEmoji(pluginData: GuildPluginData) { FILE: backend/src/plugins/Common/types.ts type CommonPluginType (line 10) | interface CommonPluginType extends BasePluginType { FILE: backend/src/plugins/CompanionChannels/CompanionChannelsPlugin.ts method beforeLoad (line 15) | beforeLoad(pluginData) { method afterLoad (line 19) | afterLoad(pluginData) { FILE: backend/src/plugins/CompanionChannels/events/VoiceStateUpdateEvt.ts method listener (line 6) | listener({ pluginData, args: { oldState, newState } }) { FILE: backend/src/plugins/CompanionChannels/functions/getCompanionChannelOptsForVoiceChannelId.ts function getCompanionChannelOptsForVoiceChannelId (line 9) | async function getCompanionChannelOptsForVoiceChannelId( FILE: backend/src/plugins/CompanionChannels/functions/handleCompanionPermissions.ts constant ERROR_COOLDOWN_KEY (line 10) | const ERROR_COOLDOWN_KEY = "errorCooldown"; constant ERROR_COOLDOWN (line 11) | const ERROR_COOLDOWN = 5 * MINUTES; constant MAX_OVERWRITES (line 15) | const MAX_OVERWRITES = 450; function handleCompanionPermissions (line 17) | async function handleCompanionPermissions( FILE: backend/src/plugins/CompanionChannels/types.ts type TCompanionChannelOpts (line 13) | type TCompanionChannelOpts = z.infer; type CompanionChannelsPluginType (line 19) | interface CompanionChannelsPluginType extends BasePluginType { FILE: backend/src/plugins/ContextMenus/ContextMenuPlugin.ts method beforeLoad (line 36) | beforeLoad(pluginData) { FILE: backend/src/plugins/ContextMenus/actions/ban.ts function banAction (line 21) | async function banAction( function launchBanActionModal (line 73) | async function launchBanActionModal( FILE: backend/src/plugins/ContextMenus/actions/clean.ts function cleanAction (line 16) | async function cleanAction( function launchCleanActionModal (line 75) | async function launchCleanActionModal( FILE: backend/src/plugins/ContextMenus/actions/mute.ts function muteAction (line 24) | async function muteAction( function launchMuteActionModal (line 95) | async function launchMuteActionModal( FILE: backend/src/plugins/ContextMenus/actions/note.ts function noteAction (line 21) | async function noteAction( function launchNoteActionModal (line 78) | async function launchNoteActionModal( FILE: backend/src/plugins/ContextMenus/actions/update.ts function updateAction (line 9) | async function updateAction( FILE: backend/src/plugins/ContextMenus/actions/warn.ts function warnAction (line 20) | async function warnAction( function launchWarnActionModal (line 76) | async function launchWarnActionModal( FILE: backend/src/plugins/ContextMenus/commands/BanUserCtxCmd.ts method run (line 8) | async run({ pluginData, interaction }) { FILE: backend/src/plugins/ContextMenus/commands/CleanMessageCtxCmd.ts method run (line 8) | async run({ pluginData, interaction }) { FILE: backend/src/plugins/ContextMenus/commands/ModMenuUserCtxCmd.ts constant MODAL_TIMEOUT (line 34) | const MODAL_TIMEOUT = 60 * SECONDS; constant MOD_MENU_TIMEOUT (line 35) | const MOD_MENU_TIMEOUT = 60 * SECONDS; constant CASES_PER_PAGE (line 36) | const CASES_PER_PAGE = 10; method run (line 41) | async run({ pluginData, interaction }) { function displayModMenu (line 115) | async function displayModMenu( function serializeCustomId (line 292) | function serializeCustomId(opts: ModMenuActionOpts) { function deserializeCustomId (line 296) | function deserializeCustomId(customId: string): ModMenuActionOpts { function updateNavButtonState (line 305) | function updateNavButtonState( FILE: backend/src/plugins/ContextMenus/commands/MuteUserCtxCmd.ts method run (line 8) | async run({ pluginData, interaction }) { FILE: backend/src/plugins/ContextMenus/commands/NoteUserCtxCmd.ts method run (line 8) | async run({ pluginData, interaction }) { FILE: backend/src/plugins/ContextMenus/commands/WarnUserCtxCmd.ts method run (line 8) | async run({ pluginData, interaction }) { FILE: backend/src/plugins/ContextMenus/types.ts type ContextMenuPluginType (line 11) | interface ContextMenuPluginType extends BasePluginType { type ModMenuActionType (line 18) | const enum ModMenuActionType { type ModMenuNavigationType (line 27) | const enum ModMenuNavigationType { type ModMenuActionOpts (line 36) | interface ModMenuActionOpts { type LoadModMenuPageFn (line 41) | type LoadModMenuPageFn = (page: number) => Awaitable; FILE: backend/src/plugins/Counters/CountersPlugin.ts constant DECAY_APPLY_INTERVAL (line 29) | const DECAY_APPLY_INTERVAL = 5 * MINUTES; method public (line 62) | public(pluginData) { method beforeLoad (line 84) | async beforeLoad(pluginData) { method beforeStart (line 130) | beforeStart(pluginData) { method afterLoad (line 134) | async afterLoad(pluginData) { method beforeUnload (line 160) | beforeUnload(pluginData) { FILE: backend/src/plugins/Counters/commands/AddCounterCmd.ts method run (line 42) | async run({ pluginData, message, args }) { FILE: backend/src/plugins/Counters/commands/CountersListCmd.ts method run (line 12) | async run({ pluginData, message }) { FILE: backend/src/plugins/Counters/commands/ResetAllCounterValuesCmd.ts method run (line 15) | async run({ pluginData, message, args }) { FILE: backend/src/plugins/Counters/commands/ResetCounterCmd.ts method run (line 37) | async run({ pluginData, message, args }) { FILE: backend/src/plugins/Counters/commands/SetCounterCmd.ts method run (line 42) | async run({ pluginData, message, args }) { FILE: backend/src/plugins/Counters/commands/ViewCounterCmd.ts method run (line 36) | async run({ pluginData, message, args }) { FILE: backend/src/plugins/Counters/functions/changeCounterValue.ts function changeCounterValue (line 7) | async function changeCounterValue( FILE: backend/src/plugins/Counters/functions/checkAllValuesForReverseTrigger.ts function checkAllValuesForReverseTrigger (line 6) | async function checkAllValuesForReverseTrigger( FILE: backend/src/plugins/Counters/functions/checkAllValuesForTrigger.ts function checkAllValuesForTrigger (line 6) | async function checkAllValuesForTrigger( FILE: backend/src/plugins/Counters/functions/checkCounterTrigger.ts function checkCounterTrigger (line 6) | async function checkCounterTrigger( FILE: backend/src/plugins/Counters/functions/checkReverseCounterTrigger.ts function checkReverseCounterTrigger (line 6) | async function checkReverseCounterTrigger( FILE: backend/src/plugins/Counters/functions/counterExists.ts function counterExists (line 4) | function counterExists(pluginData: GuildPluginData, ... FILE: backend/src/plugins/Counters/functions/decayCounter.ts function decayCounter (line 7) | async function decayCounter( FILE: backend/src/plugins/Counters/functions/emitCounterEvent.ts function emitCounterEvent (line 4) | function emitCounterEvent( FILE: backend/src/plugins/Counters/functions/getPrettyNameForCounter.ts function getPrettyNameForCounter (line 4) | function getPrettyNameForCounter(pluginData: GuildPluginData( FILE: backend/src/plugins/Counters/functions/resetAllCounterValues.ts function resetAllCounterValues (line 5) | async function resetAllCounterValues(pluginData: GuildPluginData; function addRoleAction (line 17) | async function addRoleAction( FILE: backend/src/plugins/CustomEvents/actions/createCaseAction.ts type TCreateCaseAction (line 18) | type TCreateCaseAction = z.infer; function createCaseAction (line 20) | async function createCaseAction( FILE: backend/src/plugins/CustomEvents/actions/makeRoleMentionableAction.ts type TMakeRoleMentionableAction (line 14) | type TMakeRoleMentionableAction = z.infer; function messageAction (line 17) | async function messageAction( FILE: backend/src/plugins/CustomEvents/actions/moveToVoiceChannelAction.ts type TMoveToVoiceChannelAction (line 16) | type TMoveToVoiceChannelAction = z.infer; function moveToVoiceChannelAction (line 18) | async function moveToVoiceChannelAction( FILE: backend/src/plugins/CustomEvents/actions/setChannelPermissionOverrides.ts type TSetChannelPermissionOverridesAction (line 23) | type TSetChannelPermissionOverridesAction = z.infer Promise, errorText: string... FILE: backend/src/plugins/CustomEvents/functions/runEvent.ts function runEvent (line 13) | async function runEvent( FILE: backend/src/plugins/CustomEvents/types.ts type TCustomEvent (line 37) | type TCustomEvent = z.infer; type CustomEventsPluginType (line 43) | interface CustomEventsPluginType extends BasePluginType { FILE: backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts function checkGuild (line 8) | async function checkGuild(pluginData: GlobalPluginData { method public (line 158) | public(pluginData) { method beforeLoad (line 233) | beforeLoad(pluginData) { method afterLoad (line 247) | afterLoad(pluginData) { method beforeUnload (line 281) | beforeUnload(pluginData) { FILE: backend/src/plugins/Logs/events/LogsChannelModifyEvts.ts method listener (line 12) | async listener(meta) { method listener (line 22) | async listener(meta) { method listener (line 41) | async listener(meta) { FILE: backend/src/plugins/Logs/events/LogsEmojiAndStickerModifyEvts.ts method listener (line 15) | async listener(meta) { method listener (line 25) | async listener(meta) { method listener (line 37) | async listener(meta) { method listener (line 58) | async listener(meta) { method listener (line 68) | async listener(meta) { method listener (line 80) | async listener(meta) { FILE: backend/src/plugins/Logs/events/LogsGuildBanEvts.ts method listener (line 12) | async listener(meta) { method listener (line 38) | async listener(meta) { FILE: backend/src/plugins/Logs/events/LogsGuildMemberAddEvt.ts method listener (line 7) | async listener(meta) { FILE: backend/src/plugins/Logs/events/LogsGuildMemberRemoveEvt.ts method listener (line 7) | async listener(meta) { FILE: backend/src/plugins/Logs/events/LogsGuildMemberRoleChangeEvt.ts type RoleAddChange (line 8) | type RoleAddChange = AuditLogChange & { function isRoleAddChange (line 13) | function isRoleAddChange(change: AuditLogChange): change is RoleAddChange { type RoleRemoveChange (line 17) | type RoleRemoveChange = AuditLogChange & { function isRoleRemoveChange (line 22) | function isRoleRemoveChange(change: AuditLogChange): change is RoleRemov... method listener (line 28) | async listener({ pluginData, args: { auditLogEntry } }) { FILE: backend/src/plugins/Logs/events/LogsRoleModifyEvts.ts method listener (line 12) | async listener(meta) { method listener (line 22) | async listener(meta) { method listener (line 34) | async listener(meta) { FILE: backend/src/plugins/Logs/events/LogsStageInstanceModifyEvts.ts method listener (line 12) | async listener(meta) { method listener (line 27) | async listener(meta) { method listener (line 48) | async listener(meta) { FILE: backend/src/plugins/Logs/events/LogsThreadModifyEvts.ts method listener (line 12) | async listener(meta) { method listener (line 22) | async listener(meta) { method listener (line 34) | async listener(meta) { FILE: backend/src/plugins/Logs/events/LogsUserUpdateEvts.ts method listener (line 7) | async listener(meta) { FILE: backend/src/plugins/Logs/events/LogsVoiceChannelEvts.ts method listener (line 9) | async listener(meta) { FILE: backend/src/plugins/Logs/logFunctions/logAutomodAction.ts type LogAutomodActionData (line 9) | interface LogAutomodActionData { function logAutomodAction (line 18) | function logAutomodAction(pluginData: GuildPluginData, d... FILE: backend/src/plugins/Logs/logFunctions/logBotAlert.ts type LogBotAlertData (line 7) | interface LogBotAlertData { function logBotAlert (line 11) | function logBotAlert(pluginData: GuildPluginData, data: ... FILE: backend/src/plugins/Logs/logFunctions/logCaseCreate.ts type LogCaseCreateData (line 9) | interface LogCaseCreateData { function logCaseCreate (line 17) | function logCaseCreate(pluginData: GuildPluginData, data... FILE: backend/src/plugins/Logs/logFunctions/logCaseDelete.ts type LogCaseDeleteData (line 10) | interface LogCaseDeleteData { function logCaseDelete (line 15) | function logCaseDelete(pluginData: GuildPluginData, data... FILE: backend/src/plugins/Logs/logFunctions/logCaseUpdate.ts type LogCaseUpdateData (line 9) | interface LogCaseUpdateData { function logCaseUpdate (line 16) | function logCaseUpdate(pluginData: GuildPluginData, data... FILE: backend/src/plugins/Logs/logFunctions/logCensor.ts type LogCensorData (line 17) | interface LogCensorData { function logCensor (line 24) | function logCensor(pluginData: GuildPluginData, data: Lo... FILE: backend/src/plugins/Logs/logFunctions/logChannelCreate.ts type LogChannelCreateData (line 10) | interface LogChannelCreateData { function logChannelCreate (line 14) | function logChannelCreate(pluginData: GuildPluginData, d... FILE: backend/src/plugins/Logs/logFunctions/logChannelDelete.ts type LogChannelDeleteData (line 10) | interface LogChannelDeleteData { function logChannelDelete (line 14) | function logChannelDelete(pluginData: GuildPluginData, d... FILE: backend/src/plugins/Logs/logFunctions/logChannelUpdate.ts type LogChannelUpdateData (line 10) | interface LogChannelUpdateData { function logChannelUpdate (line 16) | function logChannelUpdate(pluginData: GuildPluginData, d... FILE: backend/src/plugins/Logs/logFunctions/logClean.ts type LogCleanData (line 10) | interface LogCleanData { function logClean (line 17) | function logClean(pluginData: GuildPluginData, data: Log... FILE: backend/src/plugins/Logs/logFunctions/logDmFailed.ts type LogDmFailedData (line 10) | interface LogDmFailedData { function logDmFailed (line 15) | function logDmFailed(pluginData: GuildPluginData, data: ... FILE: backend/src/plugins/Logs/logFunctions/logEmojiCreate.ts type LogEmojiCreateData (line 9) | interface LogEmojiCreateData { function logEmojiCreate (line 13) | function logEmojiCreate(pluginData: GuildPluginData, dat... FILE: backend/src/plugins/Logs/logFunctions/logEmojiDelete.ts type LogEmojiDeleteData (line 9) | interface LogEmojiDeleteData { function logEmojiDelete (line 13) | function logEmojiDelete(pluginData: GuildPluginData, dat... FILE: backend/src/plugins/Logs/logFunctions/logEmojiUpdate.ts type LogEmojiUpdateData (line 9) | interface LogEmojiUpdateData { function logEmojiUpdate (line 15) | function logEmojiUpdate(pluginData: GuildPluginData, dat... FILE: backend/src/plugins/Logs/logFunctions/logMassBan.ts type LogMassBanData (line 9) | interface LogMassBanData { function logMassBan (line 15) | function logMassBan(pluginData: GuildPluginData, data: L... FILE: backend/src/plugins/Logs/logFunctions/logMassMute.ts type LogMassMuteData (line 9) | interface LogMassMuteData { function logMassMute (line 14) | function logMassMute(pluginData: GuildPluginData, data: ... FILE: backend/src/plugins/Logs/logFunctions/logMassUnban.ts type LogMassUnbanData (line 9) | interface LogMassUnbanData { function logMassUnban (line 15) | function logMassUnban(pluginData: GuildPluginData, data:... FILE: backend/src/plugins/Logs/logFunctions/logMemberBan.ts type LogMemberBanData (line 10) | interface LogMemberBanData { function logMemberBan (line 17) | function logMemberBan(pluginData: GuildPluginData, data:... FILE: backend/src/plugins/Logs/logFunctions/logMemberForceban.ts type LogMemberForcebanData (line 9) | interface LogMemberForcebanData { function logMemberForceban (line 16) | function logMemberForceban(pluginData: GuildPluginData, ... FILE: backend/src/plugins/Logs/logFunctions/logMemberJoin.ts type LogMemberJoinData (line 11) | interface LogMemberJoinData { function logMemberJoin (line 15) | function logMemberJoin(pluginData: GuildPluginData, data... FILE: backend/src/plugins/Logs/logFunctions/logMemberJoinWithPriorRecords.ts type LogMemberJoinWithPriorRecordsData (line 9) | interface LogMemberJoinWithPriorRecordsData { function logMemberJoinWithPriorRecords (line 14) | function logMemberJoinWithPriorRecords( FILE: backend/src/plugins/Logs/logFunctions/logMemberKick.ts type LogMemberKickData (line 10) | interface LogMemberKickData { function logMemberKick (line 17) | function logMemberKick(pluginData: GuildPluginData, data... FILE: backend/src/plugins/Logs/logFunctions/logMemberLeave.ts type LogMemberLeaveData (line 9) | interface LogMemberLeaveData { function logMemberLeave (line 13) | function logMemberLeave(pluginData: GuildPluginData, dat... FILE: backend/src/plugins/Logs/logFunctions/logMemberMute.ts type LogMemberMuteData (line 10) | interface LogMemberMuteData { function logMemberMute (line 17) | function logMemberMute(pluginData: GuildPluginData, data... FILE: backend/src/plugins/Logs/logFunctions/logMemberMuteExpired.ts type LogMemberMuteExpiredData (line 14) | interface LogMemberMuteExpiredData { function logMemberMuteExpired (line 18) | function logMemberMuteExpired(pluginData: GuildPluginData... FILE: backend/src/plugins/Logs/logFunctions/logMemberNickChange.ts type LogMemberNickChangeData (line 9) | interface LogMemberNickChangeData { function logMemberNickChange (line 15) | function logMemberNickChange(pluginData: GuildPluginData... FILE: backend/src/plugins/Logs/logFunctions/logMemberNote.ts type LogMemberNoteData (line 10) | interface LogMemberNoteData { function logMemberNote (line 17) | function logMemberNote(pluginData: GuildPluginData, data... FILE: backend/src/plugins/Logs/logFunctions/logMemberRestore.ts type LogMemberRestoreData (line 9) | interface LogMemberRestoreData { function logMemberRestore (line 14) | function logMemberRestore(pluginData: GuildPluginData, d... FILE: backend/src/plugins/Logs/logFunctions/logMemberRoleAdd.ts type LogMemberRoleAddData (line 10) | interface LogMemberRoleAddData { function logMemberRoleAdd (line 16) | function logMemberRoleAdd(pluginData: GuildPluginData, d... FILE: backend/src/plugins/Logs/logFunctions/logMemberRoleChanges.ts type LogMemberRoleChangesData (line 10) | interface LogMemberRoleChangesData { function logMemberRoleChanges (line 20) | function logMemberRoleChanges(pluginData: GuildPluginData... FILE: backend/src/plugins/Logs/logFunctions/logMemberTimedBan.ts type LogMemberTimedBanData (line 10) | interface LogMemberTimedBanData { function logMemberTimedBan (line 18) | function logMemberTimedBan(pluginData: GuildPluginData, ... FILE: backend/src/plugins/Logs/logFunctions/logMemberTimedMute.ts type LogMemberTimedMuteData (line 10) | interface LogMemberTimedMuteData { function logMemberTimedMute (line 18) | function logMemberTimedMute(pluginData: GuildPluginData,... FILE: backend/src/plugins/Logs/logFunctions/logMemberTimedUnban.ts type LogMemberTimedUnbanData (line 10) | interface LogMemberTimedUnbanData { function logMemberTimedUnban (line 18) | function logMemberTimedUnban(pluginData: GuildPluginData... FILE: backend/src/plugins/Logs/logFunctions/logMemberTimedUnmute.ts type LogMemberTimedUnmuteData (line 10) | interface LogMemberTimedUnmuteData { function logMemberTimedUnmute (line 18) | function logMemberTimedUnmute(pluginData: GuildPluginData, dat... FILE: backend/src/plugins/Logs/logFunctions/logMemberUnmute.ts type LogMemberUnmuteData (line 10) | interface LogMemberUnmuteData { function logMemberUnmute (line 17) | function logMemberUnmute(pluginData: GuildPluginData, da... FILE: backend/src/plugins/Logs/logFunctions/logMemberWarn.ts type LogMemberWarnData (line 9) | interface LogMemberWarnData { function logMemberWarn (line 16) | function logMemberWarn(pluginData: GuildPluginData, data... FILE: backend/src/plugins/Logs/logFunctions/logMessageDelete.ts type LogMessageDeleteData (line 19) | interface LogMessageDeleteData { function logMessageDelete (line 25) | async function logMessageDelete(pluginData: GuildPluginData, dat... FILE: backend/src/plugins/Logs/logFunctions/logMessageSpamDetected.ts type LogMessageSpamDetectedData (line 10) | interface LogMessageSpamDetectedData { function logMessageSpamDetected (line 19) | function logMessageSpamDetected(pluginData: GuildPluginData,... FILE: backend/src/plugins/Logs/logFunctions/logRoleCreate.ts type LogRoleCreateData (line 9) | interface LogRoleCreateData { function logRoleCreate (line 13) | function logRoleCreate(pluginData: GuildPluginData, data... FILE: backend/src/plugins/Logs/logFunctions/logRoleDelete.ts type LogRoleDeleteData (line 9) | interface LogRoleDeleteData { function logRoleDelete (line 13) | function logRoleDelete(pluginData: GuildPluginData, data... FILE: backend/src/plugins/Logs/logFunctions/logRoleUpdate.ts type LogRoleUpdateData (line 9) | interface LogRoleUpdateData { function logRoleUpdate (line 15) | function logRoleUpdate(pluginData: GuildPluginData, data... FILE: backend/src/plugins/Logs/logFunctions/logScheduledMessage.ts type LogScheduledMessageData (line 10) | interface LogScheduledMessageData { function logScheduledMessage (line 18) | function logScheduledMessage(pluginData: GuildPluginData... FILE: backend/src/plugins/Logs/logFunctions/logScheduledRepeatedMessage.ts type LogScheduledRepeatedMessageData (line 10) | interface LogScheduledRepeatedMessageData { function logScheduledRepeatedMessage (line 20) | function logScheduledRepeatedMessage( FILE: backend/src/plugins/Logs/logFunctions/logSetAntiraidAuto.ts type LogSetAntiraidAutoData (line 7) | interface LogSetAntiraidAutoData { function logSetAntiraidAuto (line 11) | function logSetAntiraidAuto(pluginData: GuildPluginData,... FILE: backend/src/plugins/Logs/logFunctions/logSetAntiraidUser.ts type LogSetAntiraidUserData (line 9) | interface LogSetAntiraidUserData { function logSetAntiraidUser (line 14) | function logSetAntiraidUser(pluginData: GuildPluginData,... FILE: backend/src/plugins/Logs/logFunctions/logStageInstanceCreate.ts type LogStageInstanceCreateData (line 10) | interface LogStageInstanceCreateData { function logStageInstanceCreate (line 15) | function logStageInstanceCreate(pluginData: GuildPluginData, d... FILE: backend/src/plugins/Logs/logFunctions/logStickerDelete.ts type LogStickerDeleteData (line 9) | interface LogStickerDeleteData { function logStickerDelete (line 13) | function logStickerDelete(pluginData: GuildPluginData, d... FILE: backend/src/plugins/Logs/logFunctions/logStickerUpdate.ts type LogStickerUpdateData (line 9) | interface LogStickerUpdateData { function logStickerUpdate (line 15) | function logStickerUpdate(pluginData: GuildPluginData, d... FILE: backend/src/plugins/Logs/logFunctions/logThreadCreate.ts type LogThreadCreateData (line 10) | interface LogThreadCreateData { function logThreadCreate (line 14) | function logThreadCreate(pluginData: GuildPluginData, da... FILE: backend/src/plugins/Logs/logFunctions/logThreadDelete.ts type LogThreadDeleteData (line 10) | interface LogThreadDeleteData { function logThreadDelete (line 14) | function logThreadDelete(pluginData: GuildPluginData, da... FILE: backend/src/plugins/Logs/logFunctions/logThreadUpdate.ts type LogThreadUpdateData (line 10) | interface LogThreadUpdateData { function logThreadUpdate (line 16) | function logThreadUpdate(pluginData: GuildPluginData, da... FILE: backend/src/plugins/Logs/logFunctions/logVoiceChannelForceDisconnect.ts type LogVoiceChannelForceDisconnectData (line 14) | interface LogVoiceChannelForceDisconnectData { function logVoiceChannelForceDisconnect (line 20) | function logVoiceChannelForceDisconnect( FILE: backend/src/plugins/Logs/logFunctions/logVoiceChannelForceMove.ts type LogVoiceChannelForceMoveData (line 14) | interface LogVoiceChannelForceMoveData { function logVoiceChannelForceMove (line 21) | function logVoiceChannelForceMove( FILE: backend/src/plugins/Logs/logFunctions/logVoiceChannelJoin.ts type LogVoiceChannelJoinData (line 10) | interface LogVoiceChannelJoinData { function logVoiceChannelJoin (line 15) | function logVoiceChannelJoin(pluginData: GuildPluginData... FILE: backend/src/plugins/Logs/logFunctions/logVoiceChannelLeave.ts type LogVoiceChannelLeaveData (line 10) | interface LogVoiceChannelLeaveData { function logVoiceChannelLeave (line 15) | function logVoiceChannelLeave(pluginData: GuildPluginData... FILE: backend/src/plugins/Logs/types.ts constant DEFAULT_BATCH_TIME (line 28) | const DEFAULT_BATCH_TIME = 1000; constant MIN_BATCH_TIME (line 29) | const MIN_BATCH_TIME = 250; constant MAX_BATCH_TIME (line 30) | const MAX_BATCH_TIME = 5000; type TLogChannel (line 60) | type TLogChannel = z.infer; type TLogChannelMap (line 63) | type TLogChannelMap = z.infer; constant FORMAT_NO_TIMESTAMP (line 76) | const FORMAT_NO_TIMESTAMP = "__NO_TIMESTAMP__"; type LogsPluginType (line 78) | interface LogsPluginType extends BasePluginType { type ILogTypeData (line 527) | type ILogTypeData = z.infer; FILE: backend/src/plugins/Logs/util/getLogMessage.ts function getLogMessage (line 30) | async function getLogMessage( FILE: backend/src/plugins/Logs/util/getMessageReplyLogInfo.ts type MessageReplyLogInfo (line 8) | interface MessageReplyLogInfo { function getMessageReplyLogInfo (line 13) | async function getMessageReplyLogInfo( FILE: backend/src/plugins/Logs/util/isLogIgnored.ts function isLogIgnored (line 5) | function isLogIgnored( FILE: backend/src/plugins/Logs/util/log.ts type ExclusionData (line 12) | interface ExclusionData { constant DEFAULT_BATCH_TIME (line 22) | const DEFAULT_BATCH_TIME = 1000; constant MIN_BATCH_TIME (line 23) | const MIN_BATCH_TIME = 250; constant MAX_BATCH_TIME (line 24) | const MAX_BATCH_TIME = 5000; function shouldExclude (line 26) | async function shouldExclude( function log (line 74) | async function log( FILE: backend/src/plugins/Logs/util/onMessageDelete.ts function onMessageDelete (line 11) | async function onMessageDelete(pluginData: GuildPluginData( FILE: backend/src/plugins/ModActions/functions/onModActionsEvent.ts function onModActionsEvent (line 4) | function onModActionsEvent( FILE: backend/src/plugins/ModActions/functions/readContactMethodsFromArgs.ts function readContactMethodsFromArgs (line 4) | function readContactMethodsFromArgs(args: { FILE: backend/src/plugins/ModActions/functions/updateCase.ts function updateCase (line 11) | async function updateCase( FILE: backend/src/plugins/ModActions/functions/warnMember.ts function warnMember (line 19) | async function warnMember( FILE: backend/src/plugins/ModActions/types.ts type AttachmentLinkReactionType (line 22) | type AttachmentLinkReactionType = "none" | "warn" | "restrict" | null; type ModActionsEvents (line 72) | interface ModActionsEvents { type ModActionsEventEmitter (line 81) | interface ModActionsEventEmitter extends EventEmitter { type ModActionsPluginType (line 86) | interface ModActionsPluginType extends BasePluginType { type IgnoredEventType (line 105) | enum IgnoredEventType { type IIgnoredEvent (line 111) | interface IIgnoredEvent { type WarnResult (line 116) | type WarnResult = type KickResult (line 127) | type KickResult = type BanResult (line 138) | type BanResult = type WarnMemberNotifyRetryCallback (line 149) | type WarnMemberNotifyRetryCallback = () => boolean | Promise; type WarnOptions (line 151) | interface WarnOptions { type KickOptions (line 158) | interface KickOptions { type BanOptions (line 164) | interface BanOptions { type ModActionType (line 172) | type ModActionType = "note" | "warn" | "mute" | "unmute" | "kick" | "ban... FILE: backend/src/plugins/Mutes/MutesPlugin.ts method public (line 65) | public(pluginData) { method beforeLoad (line 79) | beforeLoad(pluginData) { method beforeStart (line 90) | beforeStart(pluginData) { method afterLoad (line 94) | afterLoad(pluginData) { method beforeUnload (line 110) | beforeUnload(pluginData) { FILE: backend/src/plugins/Mutes/commands/ClearBannedMutesCmd.ts method run (line 9) | async run({ pluginData, message: msg }) { FILE: backend/src/plugins/Mutes/commands/ClearMutesCmd.ts method run (line 13) | async run({ pluginData, message: msg, args }) { FILE: backend/src/plugins/Mutes/commands/ClearMutesWithoutRoleCmd.ts method run (line 10) | async run({ pluginData, message: msg }) { FILE: backend/src/plugins/Mutes/commands/MutesCmd.ts method run (line 31) | async run({ pluginData, message: msg, args }) { FILE: backend/src/plugins/Mutes/events/ClearActiveMuteOnMemberBanEvt.ts method listener (line 8) | async listener({ pluginData, args: { ban } }) { FILE: backend/src/plugins/Mutes/events/ClearActiveMuteOnRoleRemovalEvt.ts method listener (line 9) | async listener({ pluginData, args: { newMember: member } }) { FILE: backend/src/plugins/Mutes/events/ReapplyActiveMuteOnJoinEvt.ts method listener (line 14) | async listener({ pluginData, args: { member } }) { FILE: backend/src/plugins/Mutes/events/RegisterManualTimeoutsEvt.ts method listener (line 9) | async listener({ pluginData, args: { auditLogEntry } }) { FILE: backend/src/plugins/Mutes/functions/clearMute.ts function clearMute (line 12) | async function clearMute( FILE: backend/src/plugins/Mutes/functions/getDefaultMuteType.ts function getDefaultMuteType (line 5) | function getDefaultMuteType(pluginData: GuildPluginData... FILE: backend/src/plugins/Mutes/functions/getTimeoutExpiryTime.ts function getTimeoutExpiryTime (line 9) | function getTimeoutExpiryTime(muteExpiresAt: number | null | undefined):... FILE: backend/src/plugins/Mutes/functions/memberHasMutedRole.ts function memberHasMutedRole (line 5) | function memberHasMutedRole(pluginData: GuildPluginData... FILE: backend/src/plugins/Mutes/functions/muteUser.ts function muteUser (line 33) | async function muteUser( FILE: backend/src/plugins/Mutes/functions/offMutesEvent.ts function offMutesEvent (line 4) | function offMutesEvent( FILE: backend/src/plugins/Mutes/functions/onMutesEvent.ts function onMutesEvent (line 4) | function onMutesEvent( FILE: backend/src/plugins/Mutes/functions/renewTimeoutMute.ts function renewTimeoutMute (line 10) | async function renewTimeoutMute(pluginData: GuildPluginData; type ReactionRolesPluginType (line 31) | interface ReactionRolesPluginType extends BasePluginType { FILE: backend/src/plugins/ReactionRoles/util/addMemberPendingRoleChange.ts constant ROLE_CHANGE_BATCH_DEBOUNCE_TIME (line 8) | const ROLE_CHANGE_BATCH_DEBOUNCE_TIME = 1500; function addMemberPendingRoleChange (line 10) | async function addMemberPendingRoleChange( FILE: backend/src/plugins/ReactionRoles/util/applyReactionRoleReactionsToMessage.ts constant CLEAR_ROLES_EMOJI (line 8) | const CLEAR_ROLES_EMOJI = "❌"; function applyReactionRoleReactionsToMessage (line 13) | async function applyReactionRoleReactionsToMessage( FILE: backend/src/plugins/ReactionRoles/util/autoRefreshLoop.ts function autoRefreshLoop (line 5) | async function autoRefreshLoop(pluginData: GuildPluginData; type TRoleButtonsConfigItem (line 68) | type TRoleButtonsConfigItem = z.infer; type RoleButtonsPluginType (line 95) | interface RoleButtonsPluginType extends BasePluginType { FILE: backend/src/plugins/RoleManager/RoleManagerPlugin.ts method public (line 18) | public(pluginData) { method beforeLoad (line 27) | beforeLoad(pluginData) { method afterLoad (line 34) | afterLoad(pluginData) { method afterUnload (line 38) | async afterUnload(pluginData) { FILE: backend/src/plugins/RoleManager/constants.ts constant PRIORITY_ROLE_PRIORITY (line 1) | const PRIORITY_ROLE_PRIORITY = 10; FILE: backend/src/plugins/RoleManager/functions/addPriorityRole.ts function addPriorityRole (line 6) | async function addPriorityRole( FILE: backend/src/plugins/RoleManager/functions/addRole.ts function addRole (line 5) | async function addRole(pluginData: GuildPluginData; type SelfGrantableRolesPluginType (line 27) | interface SelfGrantableRolesPluginType extends BasePluginType { FILE: backend/src/plugins/SelfGrantableRoles/util/findMatchingRoles.ts function findMatchingRoles (line 3) | function findMatchingRoles(roleNames: string[], entries: TSelfGrantableR... FILE: backend/src/plugins/SelfGrantableRoles/util/getApplyingEntries.ts function getApplyingEntries (line 4) | async function getApplyingEntries( FILE: backend/src/plugins/SelfGrantableRoles/util/normalizeRoleNames.ts function normalizeRoleNames (line 1) | function normalizeRoleNames(roleNames: string[]) { FILE: backend/src/plugins/SelfGrantableRoles/util/splitRoleNames.ts function splitRoleNames (line 1) | function splitRoleNames(roleNames: string[]) { FILE: backend/src/plugins/Slowmode/SlowmodePlugin.ts constant BOT_SLOWMODE_CLEAR_INTERVAL (line 17) | const BOT_SLOWMODE_CLEAR_INTERVAL = 60 * SECONDS; method beforeLoad (line 47) | beforeLoad(pluginData) { method beforeStart (line 56) | beforeStart(pluginData) { method afterLoad (line 60) | afterLoad(pluginData) { method beforeUnload (line 70) | beforeUnload(pluginData) { FILE: backend/src/plugins/Slowmode/commands/SlowmodeClearCmd.ts method run (line 21) | async run({ message: msg, args, pluginData }) { FILE: backend/src/plugins/Slowmode/commands/SlowmodeDisableCmd.ts method run (line 13) | async run({ message: msg, args, pluginData }) { FILE: backend/src/plugins/Slowmode/commands/SlowmodeGetCmd.ts method run (line 14) | async run({ message: msg, args, pluginData }) { FILE: backend/src/plugins/Slowmode/commands/SlowmodeListCmd.ts method run (line 11) | async run({ message: msg, pluginData }) { FILE: backend/src/plugins/Slowmode/commands/SlowmodeSetCmd.ts constant MAX_NATIVE_SLOWMODE (line 12) | const MAX_NATIVE_SLOWMODE = 6 * HOURS; constant MAX_BOT_SLOWMODE (line 13) | const MAX_BOT_SLOWMODE = DAYS * 365 * 100; constant MIN_BOT_SLOWMODE (line 14) | const MIN_BOT_SLOWMODE = 15 * MINUTES; type TMode (line 17) | type TMode = "bot" | "native"; method run (line 38) | async run({ message: msg, args, pluginData }) { FILE: backend/src/plugins/Slowmode/requiredPermissions.ts constant NATIVE_SLOWMODE_PERMISSIONS (line 5) | const NATIVE_SLOWMODE_PERMISSIONS = p.ViewChannel | p.ManageChannels; constant BOT_SLOWMODE_PERMISSIONS (line 6) | const BOT_SLOWMODE_PERMISSIONS = p.ViewChannel | p.ManageRoles | p.Manag... constant BOT_SLOWMODE_CLEAR_PERMISSIONS (line 7) | const BOT_SLOWMODE_CLEAR_PERMISSIONS = p.ViewChannel | p.ManageRoles; constant BOT_SLOWMODE_DISABLE_PERMISSIONS (line 8) | const BOT_SLOWMODE_DISABLE_PERMISSIONS = p.ViewChannel | p.ManageRoles; FILE: backend/src/plugins/Slowmode/types.ts type SlowmodePluginType (line 16) | interface SlowmodePluginType extends BasePluginType { FILE: backend/src/plugins/Slowmode/util/actualDisableSlowmodeCmd.ts function actualDisableSlowmodeCmd (line 8) | async function actualDisableSlowmodeCmd(msg: Message, args, pluginData) { FILE: backend/src/plugins/Slowmode/util/applyBotSlowmodeToUserId.ts function applyBotSlowmodeToUserId (line 9) | async function applyBotSlowmodeToUserId( FILE: backend/src/plugins/Slowmode/util/clearBotSlowmodeFromUserId.ts function clearBotSlowmodeFromUserId (line 6) | async function clearBotSlowmodeFromUserId( FILE: backend/src/plugins/Slowmode/util/clearExpiredSlowmodes.ts function clearExpiredSlowmodes (line 9) | async function clearExpiredSlowmodes(pluginData: GuildPluginData; type RecentActionType (line 33) | enum RecentActionType { type IRecentAction (line 45) | interface IRecentAction { type SpamPluginType (line 54) | interface SpamPluginType extends BasePluginType { FILE: backend/src/plugins/Spam/util/addRecentAction.ts function addRecentAction (line 4) | function addRecentAction( FILE: backend/src/plugins/Spam/util/clearOldRecentActions.ts constant MAX_INTERVAL (line 4) | const MAX_INTERVAL = 300; function clearOldRecentActions (line 6) | function clearOldRecentActions(pluginData: GuildPluginData, sa... FILE: backend/src/plugins/Spam/util/onMessageCreate.ts function onMessageCreate (line 8) | async function onMessageCreate(pluginData: GuildPluginData; type StarboardPluginType (line 26) | interface StarboardPluginType extends BasePluginType { FILE: backend/src/plugins/Starboard/util/createStarboardEmbedFromMessage.ts type StarboardEmbed (line 9) | type StarboardEmbed = EmbedWith<"footer" | "author" | "fields" | "timest... function createStarboardEmbedFromMessage (line 11) | function createStarboardEmbedFromMessage( FILE: backend/src/plugins/Starboard/util/createStarboardPseudoFooterForMessage.ts function createStarboardPseudoFooterForMessage (line 5) | function createStarboardPseudoFooterForMessage( FILE: backend/src/plugins/Starboard/util/onMessageDelete.ts function onMessageDelete (line 7) | async function onMessageDelete(pluginData: GuildPluginData; type TTagCategory (line 32) | type TTagCategory = z.infer; type TagsPluginType (line 56) | interface TagsPluginType extends BasePluginType { type TemplateFunction (line 71) | interface TemplateFunction { FILE: backend/src/plugins/Tags/util/findTagByName.ts function findTagByName (line 4) | async function findTagByName( FILE: backend/src/plugins/Tags/util/matchAndRenderTagFromString.ts type BaseResult (line 8) | interface BaseResult { type ResultWithCategory (line 13) | type ResultWithCategory = BaseResult & { type ResultWithoutCategory (line 18) | type ResultWithoutCategory = BaseResult & { type Result (line 23) | type Result = ResultWithCategory | ResultWithoutCategory; function matchAndRenderTagFromString (line 25) | async function matchAndRenderTagFromString( FILE: backend/src/plugins/Tags/util/onMessageCreate.ts function onMessageCreate (line 11) | async function onMessageCreate(pluginData: GuildPluginData) { FILE: backend/src/plugins/TimeAndDate/functions/getMemberTz.ts function getMemberTz (line 5) | async function getMemberTz(pluginData: GuildPluginData, i... FILE: backend/src/plugins/TimeAndDate/functions/inMemberTz.ts function inMemberTz (line 6) | async function inMemberTz( FILE: backend/src/plugins/TimeAndDate/types.ts type TimeAndDatePluginType (line 23) | interface TimeAndDatePluginType extends BasePluginType { FILE: backend/src/plugins/UsernameSaver/UsernameSaverPlugin.ts method beforeLoad (line 18) | beforeLoad(pluginData) { FILE: backend/src/plugins/UsernameSaver/events/UpdateUsernameEvts.ts method listener (line 7) | async listener(meta) { method listener (line 16) | async listener(meta) { FILE: backend/src/plugins/UsernameSaver/types.ts type UsernameSaverPluginType (line 8) | interface UsernameSaverPluginType extends BasePluginType { FILE: backend/src/plugins/UsernameSaver/updateUsername.ts function updateUsername (line 6) | async function updateUsername(pluginData: GuildPluginData { function bufferToPhotonImage (line 16) | function bufferToPhotonImage(input: Buffer): photon.PhotonImage { function photonImageToBuffer (line 22) | function photonImageToBuffer(image: photon.PhotonImage): Buffer { function resizeBuffer (line 27) | function resizeBuffer(input: Buffer, width: number, height: number): Buf... method run (line 43) | async run({ message: msg, args, pluginData }) { FILE: backend/src/plugins/Utility/commands/LevelCmd.ts method run (line 18) | run({ message, args, pluginData }) { FILE: backend/src/plugins/Utility/commands/MessageInfoCmd.ts method run (line 17) | async run({ message, args, pluginData }) { FILE: backend/src/plugins/Utility/commands/NicknameCmd.ts method run (line 18) | async run({ message: msg, args, pluginData }) { FILE: backend/src/plugins/Utility/commands/NicknameResetCmd.ts method run (line 16) | async run({ message: msg, args, pluginData }) { FILE: backend/src/plugins/Utility/commands/PingCmd.ts method run (line 11) | async run({ message: msg, pluginData }) { FILE: backend/src/plugins/Utility/commands/ReloadGuildCmd.ts method run (line 10) | async run({ message: msg, pluginData }) { FILE: backend/src/plugins/Utility/commands/RoleInfoCmd.ts method run (line 15) | async run({ message, args, pluginData }) { FILE: backend/src/plugins/Utility/commands/RolesCmd.ts method run (line 20) | async run({ message: msg, args, pluginData }) { FILE: backend/src/plugins/Utility/commands/SearchCmd.ts method run (line 29) | run({ pluginData, message, args }) { FILE: backend/src/plugins/Utility/commands/ServerInfoCmd.ts method run (line 15) | async run({ message, pluginData, args }) { FILE: backend/src/plugins/Utility/commands/SnowflakeInfoCmd.ts method run (line 15) | async run({ message, args }) { FILE: backend/src/plugins/Utility/commands/SourceCmd.ts method run (line 17) | async run({ message: cmdMessage, args, pluginData }) { FILE: backend/src/plugins/Utility/commands/UserInfoCmd.ts method run (line 17) | async run({ message, args, pluginData }) { FILE: backend/src/plugins/Utility/commands/VcdisconnectCmd.ts method run (line 18) | async run({ message: msg, args, pluginData }) { FILE: backend/src/plugins/Utility/commands/VcmoveCmd.ts method run (line 19) | async run({ message: msg, args, pluginData }) { method run (line 101) | async run({ message: msg, args, pluginData }) { FILE: backend/src/plugins/Utility/events/AutoJoinThreadEvt.ts method listener (line 6) | async listener(meta) { method listener (line 17) | async listener(meta) { FILE: backend/src/plugins/Utility/functions/cleanMessages.ts function cleanMessages (line 10) | async function cleanMessages( FILE: backend/src/plugins/Utility/functions/fetchChannelMessagesToClean.ts constant MAX_CLEAN_COUNT (line 10) | const MAX_CLEAN_COUNT = 300; constant MAX_CLEAN_TIME (line 11) | const MAX_CLEAN_TIME = 1 * DAYS; constant MAX_CLEAN_API_REQUESTS (line 12) | const MAX_CLEAN_API_REQUESTS = 20; type FetchChannelMessagesToCleanOpts (line 14) | interface FetchChannelMessagesToCleanOpts { type SuccessResult (line 25) | interface SuccessResult { type ErrorResult (line 30) | interface ErrorResult { type FetchChannelMessagesToCleanResult (line 34) | type FetchChannelMessagesToCleanResult = SuccessResult | ErrorResult; function fetchChannelMessagesToClean (line 36) | async function fetchChannelMessagesToClean( FILE: backend/src/plugins/Utility/functions/getChannelInfoEmbed.ts constant TEXT_CHANNEL_ICON (line 7) | const TEXT_CHANNEL_ICON = constant VOICE_CHANNEL_ICON (line 9) | const VOICE_CHANNEL_ICON = constant ANNOUNCEMENT_CHANNEL_ICON (line 11) | const ANNOUNCEMENT_CHANNEL_ICON = constant STAGE_CHANNEL_ICON (line 13) | const STAGE_CHANNEL_ICON = constant PUBLIC_THREAD_ICON (line 15) | const PUBLIC_THREAD_ICON = constant PRIVATE_THREAD_ICON (line 17) | const PRIVATE_THREAD_ICON = constant FORUM_CHANNEL_ICON (line 19) | const FORUM_CHANNEL_ICON = constant MEDIA_CHANNEL_ICON (line 22) | const MEDIA_CHANNEL_ICON = "https://cdn.discordapp.com/attachments/87613... function getChannelInfoEmbed (line 24) | async function getChannelInfoEmbed( FILE: backend/src/plugins/Utility/functions/getCustomEmojiId.ts function getCustomEmojiId (line 3) | function getCustomEmojiId(str: string): string | null { FILE: backend/src/plugins/Utility/functions/getEmojiInfoEmbed.ts function getEmojiInfoEmbed (line 6) | async function getEmojiInfoEmbed( FILE: backend/src/plugins/Utility/functions/getGuildPreview.ts function getGuildPreview (line 7) | function getGuildPreview(client: Client, guildId: string): Promise): str... function formatSearchResultIdList (line 513) | function formatSearchResultIdList(members: Array): s... FILE: backend/src/plugins/Utility/types.ts type UtilityPluginType (line 41) | interface UtilityPluginType extends BasePluginType { FILE: backend/src/plugins/WelcomeMessage/WelcomeMessagePlugin.ts method beforeLoad (line 18) | beforeLoad(pluginData) { FILE: backend/src/plugins/WelcomeMessage/events/SendWelcomeMessageEvt.ts method listener (line 23) | async listener(meta) { FILE: backend/src/plugins/WelcomeMessage/types.ts type WelcomeMessagePluginType (line 12) | interface WelcomeMessagePluginType extends BasePluginType { FILE: backend/src/profiler.ts type Profiler (line 3) | type Profiler = Vety["profiler"]; function getProfiler (line 6) | function getProfiler(): Profiler | null { function setProfiler (line 10) | function setProfiler(_profiler: Profiler) { FILE: backend/src/rateLimitStats.ts type RateLimitLogItem (line 3) | type RateLimitLogItem = { constant MAX_RATE_LIMIT_LOG_ITEMS (line 10) | const MAX_RATE_LIMIT_LOG_ITEMS = 100; function logRateLimit (line 12) | function logRateLimit(data: RateLimitData) { function getRateLimitStats (line 22) | function getRateLimitStats(): RateLimitLogItem[] { FILE: backend/src/regExpRunners.ts type RunnerInfo (line 3) | interface RunnerInfo { function getRegExpRunner (line 10) | function getRegExpRunner(key: string) { function discardRegExpRunner (line 25) | function discardRegExpRunner(key: string) { FILE: backend/src/restCallStats.ts type CallStats (line 5) | type CallStats = { method: string; path: string; source: string; count: ... function logRestCall (line 11) | function logRestCall(method: string, path: string) { function getTopRestCallStats (line 31) | function getTopRestCallStats(count: number): CallStats[] { FILE: backend/src/staff.ts function isStaff (line 6) | function isStaff(userId: string) { FILE: backend/src/templateFormatter.test.ts method bar (line 84) | bar(strArg, numArg, varArg) { method deeply (line 87) | deeply(varArg) { method nested (line 90) | nested(numArg) { FILE: backend/src/templateFormatter.ts constant TEMPLATE_CACHE_SIZE (line 4) | const TEMPLATE_CACHE_SIZE = 200; class TemplateParseError (line 7) | class TemplateParseError extends Error {} type ITemplateVar (line 9) | interface ITemplateVar { function newTemplateVar (line 21) | function newTemplateVar(): ITemplateVar { type ParsedTemplate (line 35) | type ParsedTemplate = Array; type TemplateSafeValue (line 37) | type TemplateSafeValue = function isTemplateSafeValue (line 47) | function isTemplateSafeValue(value: unknown): value is TemplateSafeValue { class TemplateSafeValueContainer (line 59) | class TemplateSafeValueContainer { method constructor (line 64) | constructor(data?: Record) { type TypedTemplateSafeValueContainer (line 71) | type TypedTemplateSafeValueContainer = TemplateSafeValueContainer & T; function ingestDataIntoTemplateSafeValueContainer (line 73) | function ingestDataIntoTemplateSafeValueContainer( function createTypedTemplateSafeValueContainer (line 92) | function createTypedTemplateSafeValueContainer = TActual extends TExpected ? true... type TAllowedMentions (line 53) | type TAllowedMentions = z.infer; FILE: backend/src/utils.ts constant SECONDS (line 56) | const SECONDS = 1000 * MS; constant MINUTES (line 57) | const MINUTES = 60 * SECONDS; constant HOURS (line 58) | const HOURS = 60 * MINUTES; constant DAYS (line 59) | const DAYS = 24 * HOURS; constant WEEKS (line 60) | const WEEKS = 7 * DAYS; constant YEARS (line 61) | const YEARS = (365 + 1 / 4 - 1 / 100 + 1 / 400) * DAYS; constant MONTHS (line 62) | const MONTHS = YEARS / 12; constant EMPTY_CHAR (line 64) | const EMPTY_CHAR = "\u200b"; constant MIN_SNOWFLAKE (line 67) | const MIN_SNOWFLAKE = 0b000000000000000000000000000000000000000000_00001... constant MAX_SNOWFLAKE (line 69) | const MAX_SNOWFLAKE = BigInt("0b1111111111111111111111111111111111111111... function isValidSnowflake (line 72) | function isValidSnowflake(str: string) { constant DISCORD_HTTP_ERROR_NAME (line 79) | const DISCORD_HTTP_ERROR_NAME = "DiscordHTTPError"; constant DISCORD_REST_ERROR_NAME (line 80) | const DISCORD_REST_ERROR_NAME = "DiscordAPIError"; function isDiscordHTTPError (line 82) | function isDiscordHTTPError(err: Error | string) { function isDiscordAPIError (line 86) | function isDiscordAPIError(err: Error | string): err is DiscordAPIError { function isDiscordJsTypeError (line 90) | function isDiscordJsTypeError(err: unknown): err is DiscordjsTypeError { function zNullishToUndefined (line 95) | function zNullishToUndefined( function getScalarDifference (line 101) | function getScalarDifference( function prettyDifference (line 122) | function prettyDifference(diff: Map): Map... function differenceToString (line 138) | function differenceToString(diff: Map): s... type Not (line 148) | type Not = T & Exclude; function nonNullish (line 150) | function nonNullish(v: V): v is NonNullable { type GuildInvite (line 154) | type GuildInvite = Invite & { guild: InviteGuild | Guild }; type GroupDMInvite (line 155) | type GroupDMInvite = Invite & { function zBoundedCharacters (line 159) | function zBoundedCharacters(min: number, max: number) { class InvalidRegexError (line 177) | class InvalidRegexError extends Error {} function inputPatternToRegExp (line 182) | function inputPatternToRegExp(pattern: string) { function zRegex (line 192) | function zRegex(zStr: T) { type EmbedWith (line 277) | type EmbedWith = APIEmbed & Pick; type StrictMessageContent (line 302) | type StrictMessageContent = { type MessageContent (line 308) | type MessageContent = string | StrictMessageContent; function validateAndParseMessageContent (line 311) | function validateAndParseMessageContent(input: unknown): StrictMessageCo... function dropNullValuesRecursively (line 340) | function dropNullValuesRecursively(obj: any) { function dropPropertiesByName (line 385) | function dropPropertiesByName(obj, propName) { function zBoundedRecord (line 396) | function zBoundedRecord>( constant MAX_DELAY_STRING_AMOUNT (line 421) | const MAX_DELAY_STRING_AMOUNT = 100 * 365 * DAYS; function convertDelayStringToMS (line 426) | function convertDelayStringToMS(str, defaultUnit = "m"): number | null { function convertMSToDelayString (line 451) | function convertMSToDelayString(ms: number): string { function successMessage (line 466) | function successMessage(str: string, emoji = "<:zep_check:90689740210189... function errorMessage (line 470) | function errorMessage(str, emoji = "⚠") { function get (line 474) | function get(obj, path, def?): any { function has (line 490) | function has(obj, path): boolean { function stripObjectToScalars (line 494) | function stripObjectToScalars(obj, includedNested: string[] = []) { type Snowflake (line 522) | type Snowflake = Brand; function isSnowflake (line 525) | function isSnowflake(v: unknown): v is Snowflake { function sleep (line 529) | function sleep(ms: number): Promise { type MatchedURL (line 541) | interface MatchedURL extends URL { function getUrlsInString (line 545) | function getUrlsInString(str: string, onlyUnique = false): MatchedURL[] { function parseInviteCodeInput (line 578) | function parseInviteCodeInput(str: string): string { function isNotNull (line 587) | function isNotNull(value: T): value is Exclude { function getInviteCodesInString (line 602) | function getInviteCodesInString(str: string): string[] { function getEmojiInString (line 653) | function getEmojiInString(str: string): string[] { function isEmoji (line 657) | function isEmoji(str: string): boolean { function isUnicodeEmoji (line 661) | function isUnicodeEmoji(str: string): boolean { function trimLines (line 665) | function trimLines(str: string) { function trimEmptyLines (line 674) | function trimEmptyLines(str: string) { function asSingleLine (line 681) | function asSingleLine(str: string) { function trimEmptyStartEndLines (line 685) | function trimEmptyStartEndLines(str: string) { function trimIndents (line 709) | function trimIndents(str: string, indentLength: number) { function indentLine (line 717) | function indentLine(str: string, indentLength: number) { function indentLines (line 721) | function indentLines(str: string, indentLength: number) { function getUserMentions (line 736) | function getUserMentions(str: string) { function getRoleMentions (line 749) | function getRoleMentions(str: string) { function disableLinkPreviews (line 765) | function disableLinkPreviews(str: string): string { function deactivateMentions (line 769) | function deactivateMentions(content: string): string { function useMediaUrls (line 773) | function useMediaUrls(content: string): string { function chunkArray (line 777) | function chunkArray(arr: T[], chunkSize): T[][] { function chunkLines (line 792) | function chunkLines(str: string, maxChunkLength = 2000): string[] { function chunkMessageLines (line 826) | function chunkMessageLines(str: string, maxChunkLength = 1990): string[] { function createChunkedMessage (line 857) | async function createChunkedMessage( function downloadFile (line 871) | function downloadFile(attachmentUrl: string, retries = 3): Promise<{ pat... type ItemWithRanking (line 903) | type ItemWithRanking = [T, number]; function simpleClosestStringMatch (line 910) | function simpleClosestStringMatch(searchStr, haystack, getter?) { type sorterDirection (line 944) | type sorterDirection = "ASC" | "DESC"; type sorterGetterFn (line 945) | type sorterGetterFn = (any) => any; type sorterGetterFnWithDirection (line 946) | type sorterGetterFnWithDirection = [sorterGetterFn, sorterDirection]; type sorterGetterResolvable (line 947) | type sorterGetterResolvable = string | sorterGetterFn; type sorterGetterResolvableWithDirection (line 948) | type sorterGetterResolvableWithDirection = [sorterGetterResolvable, sort... type sorterFn (line 949) | type sorterFn = (a: any, b: any) => number; function resolveGetter (line 951) | function resolveGetter(getter: sorterGetterResolvable): sorterGetterFn { function multiSorter (line 959) | function multiSorter(getters: Array; function resolveInvite (line 1273) | async function resolveInvite( function resolveStickerId (line 1292) | async function resolveStickerId(bot: Client, id: Snowflake): Promise(fn: () => T, key?, time?): T { function lazyMemoize (line 1425) | function lazyMemoize unknown>(fn: T, key?: string, time?... type RecursiveRenderFn (line 1431) | type RecursiveRenderFn = (str: string) => string | Promise; function renderRecursively (line 1433) | async function renderRecursively(value, fn: RecursiveRenderFn) { function isValidEmoji (line 1455) | function isValidEmoji(emoji: string): boolean { function canUseEmoji (line 1459) | function canUseEmoji(client: Client, emoji: string): boolean { function trimMultilineString (line 1479) | function trimMultilineString(str) { function isFullMessage (line 1487) | function isFullMessage(msg: Message | PartialMessage): msg is Message { function isGuildInvite (line 1491) | function isGuildInvite(invite: Invite): invite is GuildInvite { function isGroupDMInvite (line 1495) | function isGroupDMInvite(invite: Invite): invite is GroupDMInvite { function inviteHasCounts (line 1499) | function inviteHasCounts(invite: Invite): invite is Invite & { memberCou... function asyncMap (line 1503) | function asyncMap(arr: T[], fn: (item: T) => Promise): Promise<... function unique (line 1507) | function unique(arr: T[]): T[] { function isTruthy (line 1512) | function isTruthy(value: T): value is Exclude = Array< function entries (line 1539) | function entries(object: T) { function keys (line 1543) | function keys(object: T) { function values (line 1547) | function values(object: T) { FILE: backend/src/utils/DecayingCounter.ts class DecayingCounter (line 4) | class DecayingCounter { method constructor (line 7) | constructor(protected decayInterval: number) { method add (line 13) | add(count = 1): number { method get (line 18) | get(): number { FILE: backend/src/utils/MessageBuffer.ts type ConsumeFn (line 5) | type ConsumeFn = (part: StrictMessageContent) => void; type ContentType (line 7) | type ContentType = "mixed" | "plain" | "embeds"; type MessageBufferContent (line 9) | type MessageBufferContent = Pick( function asyncFilter (line 25) | function asyncFilter( function asyncMap (line 42) | function asyncMap( FILE: backend/src/utils/buildCustomId.ts function buildCustomId (line 1) | function buildCustomId(namespace: string, data: any = {}) { FILE: backend/src/utils/calculateEmbedSize.ts function sumStringLengthsRecursively (line 3) | function sumStringLengthsRecursively(obj: any): number { function calculateEmbedSize (line 15) | function calculateEmbedSize(embed: APIEmbed | EmbedData): number { FILE: backend/src/utils/canAssignRole.ts function canAssignRole (line 5) | function canAssignRole(guild: Guild, member: GuildMember, roleId: string) { FILE: backend/src/utils/canReadChannel.ts function canReadChannel (line 5) | function canReadChannel(channel: GuildTextBasedChannel, member: GuildMem... FILE: backend/src/utils/categorize.ts type Categories (line 1) | type Categories = { type CategoryReturnType (line 5) | type CategoryReturnType> = { function initCategories (line 9) | function initCategories>(categories: C): Cate... function categorize (line 16) | function categorize>(arr: T[], categories: C)... FILE: backend/src/utils/createPaginatedMessage.ts type LoadPageFn (line 7) | type LoadPageFn = (page: number) => Awaitable; type PaginateMessageOpts (line 9) | interface PaginateMessageOpts { function createPaginatedMessage (line 19) | async function createPaginatedMessage( FILE: backend/src/utils/crypt.ts function encrypt (line 8) | async function encrypt(data: string) { function decrypt (line 12) | async function decrypt(data: string) { FILE: backend/src/utils/cryptHelpers.ts function encryptJson (line 3) | async function encryptJson(obj: any): Promise { function decryptJson (line 8) | async function decryptJson(encrypted: string): Promise { FILE: backend/src/utils/cryptWorker.ts constant ALGORITHM (line 4) | const ALGORITHM = "aes-256-gcm"; function encrypt (line 6) | function encrypt(str, key) { function decrypt (line 17) | function decrypt(encrypted, key) { type CryptFns (line 31) | type CryptFns = typeof toExpose; FILE: backend/src/utils/easyProfiler.ts type Profiler (line 5) | type Profiler = Vety["profiler"]; FILE: backend/src/utils/erisAllowedMentionsToDjsMentionOptions.ts function erisAllowedMentionsToDjsMentionOptions (line 3) | function erisAllowedMentionsToDjsMentionOptions( type ErisAllowedMentionFormat (line 38) | interface ErisAllowedMentionFormat { FILE: backend/src/utils/filterObject.ts type FilterResult (line 1) | type FilterResult = { function filterObject (line 9) | function filterObject( FILE: backend/src/utils/findMatchingAuditLogEntry.ts constant BATCH_DEBOUNCE_TIME (line 4) | const BATCH_DEBOUNCE_TIME = 2 * SECONDS; constant BATCH_FETCH_COUNT_INCREMENT (line 5) | const BATCH_FETCH_COUNT_INCREMENT = 10; type Batch (line 7) | type Batch = { function findMatchingAuditLogEntry (line 20) | async function findMatchingAuditLogEntry( FILE: backend/src/utils/formatZodIssue.ts function formatZodIssue (line 3) | function formatZodIssue(issue: ZodIssue): string { FILE: backend/src/utils/getChunkedEmbedFields.ts function getChunkedEmbedFields (line 4) | function getChunkedEmbedFields(name: string, value: string): EmbedField[] { FILE: backend/src/utils/getGuildPrefix.ts function getGuildPrefix (line 3) | function getGuildPrefix(pluginData: GuildPluginData) { FILE: backend/src/utils/getMissingChannelPermissions.ts function getMissingChannelPermissions (line 8) | function getMissingChannelPermissions( FILE: backend/src/utils/getMissingPermissions.ts function getMissingPermissions (line 8) | function getMissingPermissions( FILE: backend/src/utils/getOrFetchGuildMember.ts function getOrFetchGuildMember (line 8) | async function getOrFetchGuildMember(guild: Guild, memberId: string): Pr... FILE: backend/src/utils/getOrFetchUser.ts constant UNKNOWN_KEY (line 7) | const UNKNOWN_KEY = "__UNKNOWN__"; function getOrFetchUser (line 22) | async function getOrFetchUser(bot: Client, userId: string): Promise = Array.from(Object.entries... constant NORMAL_CHARS_REGEX (line 153) | const NORMAL_CHARS_REGEX = /^[a-z2689:.\-_+()*&^%><;"'}{~,]+$/i; function containsOnlyNormalChars (line 155) | function containsOnlyNormalChars(text: string) { function normalizeText (line 162) | function normalizeText(text: string) { FILE: backend/src/utils/parseColor.ts function parseColor (line 15) | function parseColor(input: string): null | [number, number, number] { FILE: backend/src/utils/parseCustomId.ts function parseCustomId (line 5) | function parseCustomId(customId: string): { namespace: string; data: any... FILE: backend/src/utils/parseFuzzyTimezone.ts function parseFuzzyTimezone (line 13) | function parseFuzzyTimezone(input: string) { FILE: backend/src/utils/permissionNames.ts constant PERMISSION_NAMES (line 4) | const PERMISSION_NAMES = { FILE: backend/src/utils/registerEventListenersFromMap.ts function registerEventListenersFromMap (line 3) | function registerEventListenersFromMap(eventEmitter: EventEmitter, map: ... FILE: backend/src/utils/resolveChannelIds.ts type ResolvedChannelIds (line 6) | type ResolvedChannelIds = { function resolveChannelIds (line 12) | function resolveChannelIds(channel: Channel): ResolvedChannelIds { FILE: backend/src/utils/resolveMessageTarget.ts type MessageTarget (line 9) | interface MessageTarget { function resolveMessageTarget (line 14) | async function resolveMessageTarget(pluginData: GuildPluginData, va... FILE: backend/src/utils/rgbToInt.ts function rgbToInt (line 1) | function rgbToInt(rgb: [number, number, number]) { FILE: backend/src/utils/sendDM.ts function disableDMs (line 10) | function disableDMs(duration) { class DMError (line 16) | class DMError extends Error {} function sendDM (line 20) | async function sendDM( FILE: backend/src/utils/snowflakeToTimestamp.ts function snowflakeToTimestamp (line 6) | function snowflakeToTimestamp(snowflake: string) { FILE: backend/src/utils/stripMarkdown.ts function stripMarkdown (line 1) | function stripMarkdown(str) { FILE: backend/src/utils/templateSafeObjects.ts type InputProps (line 32) | type InputProps = Omit< class TemplateSafeGuild (line 39) | class TemplateSafeGuild extends TemplateSafeValueContainer { method constructor (line 43) | constructor(data: InputProps) { class TemplateSafeUser (line 49) | class TemplateSafeUser extends TemplateSafeValueContainer { method constructor (line 61) | constructor(data: InputProps) { class TemplateSafeUnknownUser (line 67) | class TemplateSafeUnknownUser extends TemplateSafeValueContainer { method constructor (line 72) | constructor(data: InputProps) { class TemplateSafeRole (line 78) | class TemplateSafeRole extends TemplateSafeValueContainer { method constructor (line 85) | constructor(data: InputProps) { class TemplateSafeMember (line 91) | class TemplateSafeMember extends TemplateSafeUser { method constructor (line 99) | constructor(data: InputProps) { class TemplateSafeUnknownMember (line 105) | class TemplateSafeUnknownMember extends TemplateSafeUnknownUser { method constructor (line 108) | constructor(data: InputProps) { class TemplateSafeChannel (line 114) | class TemplateSafeChannel extends TemplateSafeValueContainer { method constructor (line 120) | constructor(data: InputProps) { class TemplateSafeStage (line 126) | class TemplateSafeStage extends TemplateSafeValueContainer { method constructor (line 133) | constructor(data: InputProps) { class TemplateSafeEmoji (line 139) | class TemplateSafeEmoji extends TemplateSafeValueContainer { method constructor (line 147) | constructor(data: InputProps) { class TemplateSafeSticker (line 153) | class TemplateSafeSticker extends TemplateSafeValueContainer { method constructor (line 164) | constructor(data: InputProps) { class TemplateSafeSavedMessage (line 170) | class TemplateSafeSavedMessage extends TemplateSafeValueContainer { method constructor (line 178) | constructor(data: InputProps) { class TemplateSafeSavedMessageData (line 184) | class TemplateSafeSavedMessageData extends TemplateSafeValueContainer { method constructor (line 196) | constructor(data: InputProps) { class TemplateSafeCase (line 202) | class TemplateSafeCase extends TemplateSafeValueContainer { method constructor (line 218) | constructor(data: InputProps) { class TemplateSafeMessage (line 224) | class TemplateSafeMessage extends TemplateSafeValueContainer { method constructor (line 230) | constructor(data: InputProps) { function guildToTemplateSafeGuild (line 240) | function guildToTemplateSafeGuild(guild: Guild): TemplateSafeGuild { function userToTemplateSafeUser (line 247) | function userToTemplateSafeUser(user: User | UnknownUser | PartialUser):... function roleToTemplateSafeRole (line 273) | function roleToTemplateSafeRole(role: Role): TemplateSafeRole { function memberToTemplateSafeMember (line 283) | function memberToTemplateSafeMember(member: GuildMember | PartialGuildMe... function channelToTemplateSafeChannel (line 297) | function channelToTemplateSafeChannel(channel: GuildBasedChannel): Templ... function stageToTemplateSafeStage (line 306) | function stageToTemplateSafeStage(stage: StageInstance): TemplateSafeSta... function emojiToTemplateSafeEmoji (line 316) | function emojiToTemplateSafeEmoji(emoji: Emoji): TemplateSafeEmoji { function stickerToTemplateSafeSticker (line 327) | function stickerToTemplateSafeSticker(sticker: Sticker): TemplateSafeSti... function savedMessageToTemplateSafeSavedMessage (line 341) | function savedMessageToTemplateSafeSavedMessage(savedMessage: SavedMessa... function caseToTemplateSafeCase (line 461) | function caseToTemplateSafeCase(theCase: Case): TemplateSafeCase { function messageToTemplateSafeMessage (line 480) | function messageToTemplateSafeMessage(message: Message): TemplateSafeMes... function getTemplateSafeMemberLevel (line 489) | function getTemplateSafeMemberLevel(pluginData: GuildPluginData, me... FILE: backend/src/utils/typeUtils.ts type Tail (line 2) | type Tail = ((...t: T) => void) extends (h: any, ...r: ... type WithRequiredProps (line 4) | type WithRequiredProps = T & { type Awaited (line 10) | type Awaited = T extends PromiseLike ? Awaited : T; type Awaitable (line 12) | type Awaitable = T | Promise; type DeepMutable (line 14) | type DeepMutable = { type Brand (line 24) | type Brand = T & As; FILE: backend/src/utils/unregisterEventListenersFromMap.ts function unregisterEventListenersFromMap (line 3) | function unregisterEventListenersFromMap(eventEmitter: EventEmitter, map... FILE: backend/src/utils/validateNoObjectAliases.ts class ObjectAliasError (line 3) | class ObjectAliasError extends Error {} function validateNoObjectAliases (line 8) | function validateNoObjectAliases(obj: T, seen?: WeakSe... FILE: backend/src/utils/waitForInteraction.ts function waitForButtonConfirm (line 14) | async function waitForButtonConfirm( type WaitForOptions (line 68) | interface WaitForOptions { FILE: backend/src/utils/zValidTimezone.ts function zValidTimezone (line 4) | function zValidTimezone(z: Z) { FILE: backend/src/utils/zodDeepPartial.ts constant RESOLVING (line 23) | const RESOLVING = Symbol("mapOnSchema/resolving"); function mapOnSchema (line 34) | function mapOnSchema(schema: $ZodType, fn: (schema: $ZodType) => $ZodTyp... function deepPartial (line 152) | function deepPartial(schema: T): T { function deepStrict (line 157) | function deepStrict(schema: T): T { function deepStrictAll (line 163) | function deepStrictAll(schema: T): T { FILE: backend/src/validateActiveConfigs.ts function writeError (line 8) | function writeError(key: string, error: string) { FILE: config-checker/src/main.ts method getWorker (line 6) | getWorker(_, label) { function showErrors (line 57) | function showErrors(markers: monaco.editor.IMarker[]) { FILE: dashboard/src/api.ts type QueryParamObject (line 3) | type QueryParamObject = { [key: string]: string | null }; class ApiError (line 5) | class ApiError extends Error { method constructor (line 10) | constructor(message: string, body: object, status: number, res: Respon... function buildQueryString (line 18) | function buildQueryString(params: QueryParamObject) { function request (line 29) | function request(resource, fetchOpts: RequestInit = {}) { function get (line 45) | function get(resource: string, params: QueryParamObject = {}) { function post (line 55) | function post(resource: string, params: QueryParamObject = {}) { type FormPostOpts (line 69) | type FormPostOpts = { function formPost (line 73) | function formPost(resource: string, body: Record = {}, opts: F... FILE: dashboard/src/components/dashboard/permissionTreeUtils.ts type TPermissionHierarchyState (line 3) | type TPermissionHierarchyState = { type TApiPermissionWithState (line 8) | type TApiPermissionWithState = [ApiPermissions, TPermissionHierarchyStat... type TPermissionHierarchyWithState (line 9) | type TPermissionHierarchyWithState = TApiPermissionWithState[]; function applyStateToPermissionHierarchy (line 17) | function applyStateToPermissionHierarchy( FILE: dashboard/src/directives/trim-indents.ts method beforeMount (line 4) | beforeMount(el, binding) { FILE: dashboard/src/routes.ts method scrollBehavior (line 97) | scrollBehavior(to, from, savedPosition) { FILE: dashboard/src/store/auth.ts constant AUTH_REFRESH_INTERVAL (line 6) | const AUTH_REFRESH_INTERVAL = 1000 * 60 * 15; method loadInitialAuth (line 19) | async loadInitialAuth({ dispatch, commit, state }) { method setApiKey (line 39) | setApiKey({ commit, state, dispatch }, { key, userId }) { method startAuthAutoRefresh (line 46) | async startAuthAutoRefresh({ commit, state, dispatch }) { method endAuthAutoRefresh (line 57) | endAuthAutoRefresh({ commit, state }) { method clearApiKey (line 64) | async clearApiKey({ commit, dispatch }) { method logout (line 71) | async logout({ dispatch }) { method expiredLogin (line 76) | async expiredLogin({ dispatch }) { method setApiKey (line 83) | setApiKey(state: AuthState, { key, userId }) { method setAuthRefreshInterval (line 88) | setAuthRefreshInterval(state: AuthState, interval: IntervalType | null) { method markInitialAuthLoaded (line 92) | markInitialAuthLoaded(state: AuthState) { FILE: dashboard/src/store/docs.ts method loadAllPlugins (line 16) | async loadAllPlugins({ state, commit }) { method loadPluginData (line 33) | async loadPluginData({ state, commit }, name) { method setAllPluginLoadStatus (line 51) | setAllPluginLoadStatus(state: DocsState, status: boolean) { method setAllPlugins (line 55) | setAllPlugins(state: DocsState, plugins) { method setPluginData (line 59) | setPluginData(state: DocsState, { name, data }) { FILE: dashboard/src/store/guilds.ts method loadAvailableGuilds (line 16) | async loadAvailableGuilds({ dispatch, commit, state }) { method loadGuild (line 28) | async loadGuild({ commit, state }, guildId) { method loadConfig (line 39) | async loadConfig({ commit }, guildId) { method saveConfig (line 44) | async saveConfig({ commit }, { guildId, config }) { method loadMyPermissionAssignments (line 48) | async loadMyPermissionAssignments({ commit }) { method loadGuildPermissionAssignments (line 58) | async loadGuildPermissionAssignments({ commit }, guildId) { method setTargetPermissions (line 63) | async setTargetPermissions({ commit }, { guildId, targetId, type, permis... method importData (line 68) | async importData({ commit }, { guildId, data, caseHandlingMode }) { method exportData (line 75) | async exportData({ commit }, { guildId }) { method setAvailableGuildsLoadStatus (line 81) | setAvailableGuildsLoadStatus(state: GuildState, status: LoadStatus) { method addGuild (line 85) | addGuild(state: GuildState, guild) { method setConfig (line 90) | setConfig(state: GuildState, { guildId, config }) { method setGuildPermissionAssignments (line 94) | setGuildPermissionAssignments(state: GuildState, { guildId, permissionAs... method setTargetPermissions (line 105) | setTargetPermissions(state: GuildState, { guildId, targetId, type, permi... FILE: dashboard/src/store/index.ts type ComponentCustomProperties (line 18) | interface ComponentCustomProperties { FILE: dashboard/src/store/staff.ts method checkStatus (line 13) | async checkStatus({ commit }) { method setStatus (line 20) | setStatus(state: StaffState, value: boolean) { FILE: dashboard/src/store/types.ts type LoadStatus (line 3) | enum LoadStatus { type TimeoutType (line 9) | type TimeoutType = ReturnType; type IntervalType (line 10) | type IntervalType = ReturnType; type AuthState (line 12) | interface AuthState { type GuildPermissionAssignment (line 19) | interface GuildPermissionAssignment { type GuildState (line 26) | interface GuildState { type StaffState (line 44) | interface StaffState { type ThinDocsPlugin (line 48) | interface ThinDocsPlugin { type DocsPlugin (line 56) | interface DocsPlugin extends ThinDocsPlugin { type DocsState (line 69) | interface DocsState { type RootState (line 78) | type RootState = { FILE: dashboard/src/vite-env.d.ts type Window (line 8) | interface Window { FILE: presetup-configurator/src/App.tsx function App (line 5) | function App() { FILE: presetup-configurator/src/Configurator.tsx function Configurator (line 7) | function Configurator() { FILE: presetup-configurator/src/Levels.tsx constant LEVEL_ADMIN (line 3) | const LEVEL_ADMIN = 100; constant LEVEL_MODERATOR (line 4) | const LEVEL_MODERATOR = 50; type LevelEntry (line 6) | type LevelEntry = [string, number]; function Levels (line 8) | function Levels({ levels, setLevels }) { FILE: presetup-configurator/src/LogChannels.tsx constant LOG_TYPES (line 4) | const LOG_TYPES = { type LOG_TYPE (line 85) | type LOG_TYPE = keyof typeof LOG_TYPES; type LogChannel (line 87) | interface LogChannel { type Props (line 93) | interface Props { function LogChannels (line 98) | function LogChannels({ logChannels, setLogChannels }: Props) { FILE: shared/src/apiPermissions.ts type ApiPermissions (line 1) | enum ApiPermissions { type TPermissionHierarchy (line 22) | type TPermissionHierarchy = Array { function hasPermission (line 46) | function hasPermission(grantedPermissions: Set, permissi... function checkTreeForPermission (line 60) | function checkTreeForPermission( function treeIncludesPermission (line 89) | function treeIncludesPermission(tree: TPermissionHierarchy, permission: ...