Как сделать случайные цвета для встраиваний Discord.js

#javascript #node.js #discord #discord.js

#javascript #node.js #Discord #discord.js

Вопрос:

Я хочу, чтобы встраивания моего бота Discord отображались красным или зеленым цветом (случайным образом между этими двумя), поэтому я хочу создать что-то, что сделает это возможным.

У меня есть следующий код:

 const randomcolors = ['#008000', '#E50000']
const randomizer = Math.floor((Math.random() * foreigncolors.length));
  

Тогда у меня есть это, но он всегда устанавливает цвет на зеленый.

 const embed = new Discord.MessageEmbed()
  .setColor(foreigncolors[colorss])
  

Ответ №1:

Нет необходимости писать что-то сложное самостоятельно. Вместо этого вы можете использовать:

 Embed.setColor('RANDOM')
  

Это встроенная функция discord.js библиотеки.

Ответ №2:

Если вы хотите выбрать цвет из массива значений, вы можете создать вспомогательную функцию и использовать ее:

 function random(colors) {
  return colors[Math.floor(Math.random() * colors.length)];
};

random(['#008000', '#E50000']);
// => "#E50000" or "#008000"
  

В вашем примере:

 const embed = new Discord
  .MessageEmbed()
  .setColor(random(['#008000', '#E50000']));
  

Если вы хотите выбрать абсолютно случайное значение цвета, .setColor() метод принимает определенные цветовые строки. Один из них — «СЛУЧАЙНЫЙ`, который устанавливает цвет в случайное значение:

 const embed = new Discord
  .MessageEmbed()
  .setColor('RANDOM');
  

Ответ №3:

Из документов:

Метод .setColor() принимает целое число, шестнадцатеричную цветовую строку, массив значений RGB или определенные цветовые строки.

Это означает, что мы просто можем сгенерировать массив типа [R, G, B] , где each R , G и B являются целочисленными значениями между 0 и 255 .

 const randomBetween = (min, max) => Math.floor(Math.random()*(max-min 1) min);

const color = [
  randomBetween(0, 255),
  randomBetween(0, 255),
  randomBetween(0, 255),
];

console.log(color);
document.body.style.background = `rgb(${color[0]}, ${color[1]}, ${color[2]})`;