Add new features for giveaways, tickets, self-roles, tags, starboard, suggestions, and birthdays

- Integrated new command modules for managing giveaways, tickets, self-roles, tags, starboard, suggestions, and birthdays, enhancing the bot's capabilities.
- Implemented job handling for giveaway endings, ticket management, and birthday role expirations, improving automation and user experience.
- Updated command definitions and interaction handling to support new features, ensuring smooth user interactions.
- Enhanced the job processing system with dedicated workers for managing various tasks, including auto-closing tickets and running birthday checks.
- Documented the new features and their setup processes in PHASE-TRACKING.md for clarity on implementation steps.
This commit is contained in:
smueller
2026-07-22 13:21:28 +02:00
parent 1ceb8c3574
commit 52b10c9536
11 changed files with 271 additions and 90 deletions

View File

@@ -16,6 +16,14 @@ import { levelingCommands } from './modules/leveling/commands.js';
import { economyCommands } from './modules/economy/commands.js';
import { utilityCommands, utilityContextMenus } from './modules/utility/index.js';
import { funCommands } from './modules/fun/index.js';
import { giveawayCommands } from './modules/giveaways/index.js';
import { ticketsCommands } from './modules/tickets/index.js';
import { selfrolesCommands } from './modules/selfroles/index.js';
import { tagsCommands } from './modules/tags/index.js';
import { starboardCommands } from './modules/starboard/index.js';
import { suggestionsCommands } from './modules/suggestions/index.js';
import { birthdayCommands } from './modules/birthdays/index.js';
import { tempVoiceCommands } from './modules/tempvoice/index.js';
import type { BotContext, SlashCommand } from './types.js';
const commands: SlashCommand[] = [
@@ -26,7 +34,15 @@ const commands: SlashCommand[] = [
...levelingCommands,
...economyCommands,
...utilityCommands,
...funCommands
...funCommands,
...giveawayCommands,
...ticketsCommands,
...selfrolesCommands,
...tagsCommands,
...starboardCommands,
...suggestionsCommands,
...birthdayCommands,
...tempVoiceCommands
];
const map = new Map(commands.map((c) => [c.data.name, c]));
const contextMenuMap = new Map(utilityContextMenus.map((c) => [c.data.name, c]));