好的,所以在我的机器人中,我希望嵌入显示为红色和绿色(这两个之间是随机的),所以我想创建一些东西使之成为可能 像这样:
const randomcolors = ['#008000', '#E50000']
const randomizer = Math.floor((Math.random() * foreigncolors.length));
那我有
const embed= new Discord.MessageEmbed()
.setColor(foreigncolors[colorss])
但它只会发送绿色,我需要帮助
答案 0 :(得分:0)
从文档中
.setColor()方法接受整数,十六进制颜色字符串,RGB值数组或特定颜色字符串。
这意味着我们可以简单地生成类型为[R, G, B]
的数组,其中每个R
,G
和B
都是0
和{{ 1}}。
255
答案 1 :(得分:0)
不需要自己编写复杂的东西。相反,您可以使用:
Embed.setColor('RANDOM')
这是discord.js
库的内置功能。</ p>
答案 2 :(得分:0)
如果要从值数组中选择颜色,可以创建一个辅助函数并使用它:
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()
方法接受specific colour strings。其中之一是“ RANDOM”,它将颜色设置为随机值:
const embed = new Discord
.MessageEmbed()
.setColor('RANDOM');