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; } }, };