import { SlashCommandBuilder } from 'discord.js'; import Inspiration from './graphismecommands/inspiration.mjs'; import Palette from './graphismecommands/palette.mjs'; import Remix from './graphismecommands/remix.mjs'; import Blend from './graphismecommands/colorblend.mjs'; export default { data: new SlashCommandBuilder() .setName('graphisme') .setDescription('Diverse commandes pour le graphisme.') .addSubcommand( subcommand => subcommand .setName('inspiration') .setDescription('Une citation, suggestion de couleur ou proposition de méthode.') ) .addSubcommand( subcommand => subcommand .setName('palette') .setDescription('Une palette harmonieuse générée aléatoirement.') ) .addSubcommand( subcommand => subcommand .setName('remix') .setDescription('Renvoie l\'image insérée avec un filtre appliqué.') .addAttachmentOption(option => option .setName('image') .setDescription('Image à modifier') .setRequired(true)) .addStringOption(option => option .setName('filter') .setDescription('Le filtre appliqué') .setRequired(true) .addChoices( { name: 'Invert', value: 'invert' }, { name: 'Nuance de gris', value: 'grayscale' }, { name: 'Sepia', value: 'sepia' }, { name: 'Flou', value: 'blur' }, { name: 'Pixelisé', value: 'pixelate' }, { name: 'Miroir', value: 'mirror' }, { name: 'Rotation', value: 'rotate' }, { name: 'Luminosité', value: 'brightness' }, { name: 'Vintage', value: 'vintage' }, { name: 'Peinture à l\'huile', value: 'oilpaint' }, { name: 'Aquarelle', value: 'watercolor' }, { name: 'Néon', value: 'neon' }, )) ) .addSubcommand( subcommand => subcommand .setName('blend') .setDescription('Combine deux couleurs pour en créer une troisième.') .addStringOption(option => option .setName('color1') .setDescription('La première couleur') .setRequired(true)) .addStringOption(option => option .setName('color2') .setDescription('La deuxième couleur') .setRequired(true)) .addStringOption(option => option .setName('mode') .setDescription('Le mode de fusion') .setRequired(true) .addChoices( { name: 'Normal', value: 'normal' }, { name: 'Multiplication', value: 'multiply' }, { name: 'Écran', value: 'screen' }, { name: 'Overlay', value: 'overlay' }, )) ), async execute(interaction) { switch (interaction.options.getSubcommand()) { case 'inspiration': Inspiration.execute(interaction); break; case 'palette': Palette.execute(interaction); break; case 'remix': Remix.execute(interaction); break; case 'blend': Blend.execute(interaction); break; }; }, };