mirror of
https://github.com/Art-Portal/April.git
synced 2024-12-27 03:44:19 +01:00
Add option to chose a default color in /palette
This commit is contained in:
parent
5081eb8767
commit
89ef7c11e7
@ -21,6 +21,13 @@ export default {
|
|||||||
subcommand => subcommand
|
subcommand => subcommand
|
||||||
.setName('palette')
|
.setName('palette')
|
||||||
.setDescription('Une palette harmonieuse générée aléatoirement.')
|
.setDescription('Une palette harmonieuse générée aléatoirement.')
|
||||||
|
.addStringOption(option => option
|
||||||
|
.setName('basecolor')
|
||||||
|
.setDescription('(FORMAT: #FFFFFF) Une couleur initiale sur laquelle sera formée la palette')
|
||||||
|
.setRequired(false)
|
||||||
|
.setMinLength(7)
|
||||||
|
.setMaxLength(7)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
.addSubcommand(
|
.addSubcommand(
|
||||||
subcommand => subcommand
|
subcommand => subcommand
|
||||||
|
@ -4,7 +4,13 @@ import { AttachmentBuilder } from 'discord.js';
|
|||||||
export default {
|
export default {
|
||||||
async execute(interaction){
|
async execute(interaction){
|
||||||
await interaction.deferReply();
|
await interaction.deferReply();
|
||||||
const palette = await generateRandomPalette();
|
const baseColor = interaction.options.getString('basecolor') || None;
|
||||||
|
|
||||||
|
let palette;
|
||||||
|
if(!baseColor || !/^#[0-9A-F]{6}$/i.test(baseColor)){
|
||||||
|
palette = await generateRandomPalette();
|
||||||
|
} else palette = await generateRandomPalette(baseColor);
|
||||||
|
|
||||||
const imageBuffer = await createPaletteImage(palette);
|
const imageBuffer = await createPaletteImage(palette);
|
||||||
|
|
||||||
// Envoie l'image dans le canal où la commande a été appelée
|
// Envoie l'image dans le canal où la commande a été appelée
|
||||||
@ -14,12 +20,18 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Fonction pour générer une palette de couleurs harmonieuses
|
// Fonction pour générer une palette de couleurs harmonieuses
|
||||||
async function generateRandomPalette() {
|
async function generateRandomPalette(forcedColor = None) {
|
||||||
const numColors = Math.floor(Math.random() * 3) + 3; // Génère entre 3 et 5 couleurs
|
const numColors = Math.floor(Math.random() * 3) + 3; // Génère entre 3 et 5 couleurs
|
||||||
const palette = [];
|
const palette = [];
|
||||||
|
|
||||||
// Générateur de couleurs harmonieuses (complémentaires)
|
// Générateur de couleurs harmonieuses (complémentaires)
|
||||||
const baseColor = Math.floor(Math.random() * 16777215); // Couleur de base aléatoire
|
|
||||||
|
let baseColor;
|
||||||
|
if(forcedColor == None){
|
||||||
|
baseColor = Math.floor(Math.random() * 16777215); // Couleur de base aléatoire
|
||||||
|
} else {
|
||||||
|
baseColor = forcedColor
|
||||||
|
}
|
||||||
|
|
||||||
for (let i = 0; i < numColors; i++) {
|
for (let i = 0; i < numColors; i++) {
|
||||||
// Random variations in saturation and brightness
|
// Random variations in saturation and brightness
|
||||||
|
Loading…
Reference in New Issue
Block a user