All checks were successful
Auto Build and Push Docker Image / build (push) Successful in 7s
41 lines
1.5 KiB
TypeScript
41 lines
1.5 KiB
TypeScript
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;
|