// Galactic - Discord moderation bot // Copyright (C) 2024 Navy.gif // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . import { Component, Infraction } from '../src/client/interfaces/index.ts'; import { ClientEvents as CE, InvalidRequestWarningData, RateLimitData, ResponseLike } from 'discord.js'; import { ExtendedGuildBan, ExtendedMessage } from './Client.ts'; import { APIRequest } from '@discordjs/rest'; import { AutomodErrorProps, LinkFilterWarnProps, LogErrorProps, MissingPermsProps, UtilityErrorProps, WordWatcherErrorProps } from './Moderation.js'; type ComponentUpdate = { component: Component, type: 'ENABLE' | 'DISABLE' | 'LOAD' | 'UNLOAD' | 'RELOAD' } export type RejoinLogEntry = { userId: string; guildId: string; caseId: string; notify: string; } export interface ClientEvents extends CE { componentUpdate: [data: ComponentUpdate], rateLimit: [rateLimitInfo: RateLimitData]; invalidRequestWarning: [invalidRequestInfo: InvalidRequestWarningData]; built: []; messageCreate: [message: ExtendedMessage]; apiResponse: [APIRequest, ResponseLike]; guildBanAdd: [ExtendedGuildBan]; guildBanRemove: [ExtendedGuildBan]; automodError: [AutomodErrorProps]; wordWatcherError: [WordWatcherErrorProps]; logError: [LogErrorProps]; utilityError: [UtilityErrorProps]; linkFilterWarn: [LinkFilterWarnProps]; filterMissingPermissions: [MissingPermsProps]; infraction: [Infraction]; }