Erik
2c58d15c49
\+ License and copyright attribution \+ Readme \+ JSDoc comments \+ Link to repo in help command \* Refactor poll command \* Attempted fix for dangling child process \* Reduce unnecessary db calls in moderation manager Reviewed-on: #12
116 lines
2.9 KiB
TypeScript
116 lines
2.9 KiB
TypeScript
// 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 <https://www.gnu.org/licenses/>.
|
|
|
|
import { GuildTextBasedChannel } from 'discord.js';
|
|
import { MemberWrapper } from '../src/client/components/wrappers/index.ts';
|
|
import { BaseInfractionData } from './Client.ts';
|
|
import { Infraction } from '../src/client/interfaces/index.ts';
|
|
|
|
export type ResolveResult = {
|
|
result?: void,
|
|
message?: string | null,
|
|
error?: boolean
|
|
}
|
|
|
|
export type InfractionFail = {
|
|
error: true,
|
|
infraction: Infraction,
|
|
reason: string,
|
|
fatal: boolean,
|
|
formatted: boolean
|
|
}
|
|
|
|
export type InfractionSuccess = {
|
|
error: false,
|
|
infraction: Infraction
|
|
}
|
|
|
|
export type AddRoleData = {
|
|
target: MemberWrapper,
|
|
executor: MemberWrapper
|
|
} & BaseInfractionData
|
|
|
|
export type BanData = {
|
|
executor: MemberWrapper
|
|
} & BaseInfractionData
|
|
|
|
export type KickData = {
|
|
target: MemberWrapper,
|
|
executor: MemberWrapper
|
|
} & BaseInfractionData
|
|
|
|
export type LockdownData = {
|
|
executor: MemberWrapper,
|
|
target: GuildTextBasedChannel
|
|
} & BaseInfractionData
|
|
|
|
export type MuteData = {
|
|
executor: MemberWrapper,
|
|
target: MemberWrapper
|
|
} & BaseInfractionData
|
|
|
|
export type NicknameData = {
|
|
executor: MemberWrapper,
|
|
target: MemberWrapper
|
|
} & BaseInfractionData
|
|
|
|
export type NoteData = {
|
|
executor: MemberWrapper,
|
|
} & BaseInfractionData
|
|
|
|
export type PruneData = {
|
|
executor: MemberWrapper,
|
|
target: GuildTextBasedChannel
|
|
} & BaseInfractionData
|
|
|
|
export type RemoveRoleData = {
|
|
executor: MemberWrapper,
|
|
target: MemberWrapper
|
|
} & BaseInfractionData
|
|
|
|
export type SlowmodeData = {
|
|
executor: MemberWrapper,
|
|
target: GuildTextBasedChannel
|
|
} & BaseInfractionData
|
|
|
|
export type UnbanData = {
|
|
executor: MemberWrapper,
|
|
} & BaseInfractionData
|
|
|
|
export type SoftbanData = {
|
|
executor: MemberWrapper,
|
|
target: MemberWrapper
|
|
} & BaseInfractionData
|
|
|
|
export type UnlockdownData = {
|
|
executor: MemberWrapper,
|
|
target: GuildTextBasedChannel
|
|
} & BaseInfractionData
|
|
|
|
export type UnmuteData = {
|
|
executor: MemberWrapper,
|
|
target: MemberWrapper
|
|
} & BaseInfractionData
|
|
|
|
export type VcKickData = {
|
|
executor: MemberWrapper,
|
|
target: MemberWrapper
|
|
} & BaseInfractionData
|
|
|
|
export type WarnData = {
|
|
executor: MemberWrapper,
|
|
target: MemberWrapper
|
|
} & BaseInfractionData |