67 lines
1.3 KiB
TypeScript
67 lines
1.3 KiB
TypeScript
import { Guild, GuildMember, Message, User } from 'discord.js';
|
|
import { ExtendedMessage } from './Client.js';
|
|
|
|
export type ModmailReadState = 'unread' | 'read'
|
|
|
|
export type ModmailEntry = {
|
|
attachments?: string[],
|
|
author: string,
|
|
content?: string,
|
|
timestamp: number,
|
|
isReply?: boolean,
|
|
readState?: ModmailReadState,
|
|
anon?: boolean,
|
|
msgId?: string
|
|
}
|
|
|
|
export type SpamEntry = {
|
|
start: number,
|
|
count: number,
|
|
timeout: boolean,
|
|
warned: boolean
|
|
}
|
|
|
|
export type ModmailLogEntry = {
|
|
author: User,
|
|
content?: string,
|
|
action: string,
|
|
target?: User
|
|
}
|
|
|
|
export type ModmailSendOptions = {
|
|
target: GuildMember,
|
|
staff: GuildMember,
|
|
anon: boolean,
|
|
content: string
|
|
}
|
|
|
|
export type MomdailSendCannedResponseOptions = {
|
|
message: ExtendedMessage<true>,
|
|
responseName: string,
|
|
anon: boolean
|
|
}
|
|
|
|
export type MomdailSendResponseOptions = {
|
|
message: ExtendedMessage<true>,
|
|
content: string,
|
|
anon: boolean
|
|
}
|
|
|
|
export type ModmailSendModmailOptions = {
|
|
message: Mesasge<true>,
|
|
content: string,
|
|
anon: boolean,
|
|
target: User | GuildMember
|
|
}
|
|
|
|
export type ChannelHandlerOptions = {
|
|
graveyardInactive: number,
|
|
readInactive: number,
|
|
channelSweepInterval: number,
|
|
modmailCategory: string[]
|
|
}
|
|
|
|
export type ModmailTarget = {
|
|
struct: GuildMember,
|
|
inAppealServer: boolean
|
|
} |