import { SlashCommandBuilder, EmbedBuilder } from 'discord.js'; import { Command } from '../../structures/Command.js'; import { CatManager } from '../../structures/CatManager.js'; const command: Command = { data: new SlashCommandBuilder() .setName('cat') .setDescription('Postet ein zufälliges Katzenbild oder Katzen-GIF.') .addStringOption(option => option.setName('typ') .setDescription('Wähle zwischen Bild oder GIF') .setRequired(false) .addChoices( { name: 'Bild', value: 'image' }, { name: 'GIF', value: 'gif' } )) .setDMPermission(true), category: 'Public', async execute(interaction: any) { const type = (interaction.options.getString('typ') as 'image' | 'gif') || 'image'; await interaction.deferReply(); const imageUrl = await CatManager.fetchCatImage(type); if (!imageUrl) { await interaction.editReply('❌ Konnte kein Katzenbild laden. Bitte versuche es später erneut.'); return; } const embed = new EmbedBuilder() .setTitle(type === 'gif' ? '🐱 Zufälliges Katzen-GIF' : '🐱 Zufälliges Katzenbild') .setURL(imageUrl) .setImage(imageUrl) .setColor(0xf39c12) .setTimestamp(); await interaction.editReply({ embeds: [embed] }); }, }; export default command;