Files
Papo/src/utils/types.ts
2025-11-30 11:04:41 +01:00

44 lines
995 B
TypeScript

import { SlashCommandBuilder, ChatInputCommandInteraction, PermissionResolvable, Client } from 'discord.js';
export interface SlashCommand {
data: SlashCommandBuilder;
execute: (interaction: ChatInputCommandInteraction, client: Client) => Promise<void>;
cooldown?: number;
requiredPermissions?: PermissionResolvable[];
guildOnly?: boolean;
}
export interface EventHandler {
name: string;
once?: boolean;
execute: (...args: any[]) => Promise<void> | void;
}
export interface TicketRecord {
id: string;
userId: string;
channelId: string;
guildId: string;
topic?: string;
priority?: 'low' | 'normal' | 'high';
status: 'open' | 'in-progress' | 'closed';
claimedBy?: string;
transcript?: string;
}
export interface ForumUser {
discordId: string;
forumUserId: string;
username?: string;
}
export interface ForumRoleSync {
discordRoleId: string;
forumRoleId: string;
}
export interface ForumTicketLink {
ticketId: string;
forumThreadId?: string;
}