import EventEmitter from "node:events"; import { type WaterMeController, waterMeController, } from "features/water-me/water-me.controller"; import client from "lib/client"; export default class DiscordController extends EventEmitter { async handleChatInputCommand( interaction: ChatInputCommandInteraction, ) { const commandName = interaction.commandName as CommandsType; // add commands switch (commandName) { case Commands.Enum.giessen: await this.waterMeService.handleInteraction(interaction); // zu chatinputcommand wechseln return; case Commands.Enum.medikamente: await this.medicationService.handleChatInputCommand(interaction); return; case Commands.Enum.hilfe: await this.helpService.handleInteraction(interaction); // zu chatinputcommand wechseln return; case Commands.Enum.support: case Commands.Enum.kofi: case Commands.Enum.disboard: case Commands.Enum.discadia: await this.supportService.handleInteraction(interaction); return; case Commands.Enum.accept: await this.greetingService.handleChatInputCommand(interaction); return; case Commands.Enum.welcome: await this.greetingService.handleChatInputCommand(interaction); return; case Commands.Enum.embed: case Commands.Enum.message: await this.customMessageService.handleChatInputCommand(interaction); return; case Commands.Enum.reminder: await this.greetingService.handleChatInputCommand(interaction); return; case Commands.Enum.version: await this.debugService.handleChatInputCommand(interaction); return; default: break; } } // wenn neues fenster durch buttonclick or so async handleModalSubmit(interaction: ModalSubmitInteraction) { const { customId } = interaction; switch (customId) { default: break; } } }