如何在 Discord.js v12 中创建随机颜色作为嵌入强调色?
How to create random colours as an embed accent colour in Discord.js v12?
所以,我想创建一个嵌入,每次使用时,它都会输出一种随机颜色作为重音。
这是我当前的代码:
const Discord = require('discord.js');
const exampleEmbed = new Discord.MessageEmbed()
.setColor('#0099ff')
.setTitle('Some title')
.setURL('https://discord.js.org/')
.setAuthor('Some name', 'https://i.imgur.com/wSTFkRM.png', 'https://discord.js.org')
.setDescription('Some description here')
.setThumbnail('https://i.imgur.com/wSTFkRM.png')
.addFields(
{ name: 'Regular field title', value: 'Some value here' },
{ name: '\u200B', value: '\u200B' },
{ name: 'Inline field title', value: 'Some value here', inline: true },
{ name: 'Inline field title', value: 'Some value here', inline: true },
)
.addField('Inline field title', 'Some value here', true)
.setImage('https://i.imgur.com/wSTFkRM.png')
.setTimestamp()
.setFooter('Some footer text here', 'https://i.imgur.com/wSTFkRM.png');
message.channel.send(exampleEmbed);
我怎样才能简单有效地做到这一点?
这实际上创建起来非常简单,而且实际上已经被烘焙到 Discord.js v12 中!要以最基本的形式实现这一点,只需使用这段代码:
const Discord = require('discord.js');
const exampleEmbed = new Discord.MessageEmbed()
.setColor('RANDOM')
.setTitle('Some title')
.setURL('https://discord.js.org/')
.setAuthor('Some name', 'https://i.imgur.com/wSTFkRM.png', 'https://discord.js.org')
.setDescription('Some description here')
.setThumbnail('https://i.imgur.com/wSTFkRM.png')
.addFields(
{ name: 'Regular field title', value: 'Some value here' },
{ name: '\u200B', value: '\u200B' },
{ name: 'Inline field title', value: 'Some value here', inline: true },
{ name: 'Inline field title', value: 'Some value here', inline: true },
)
.addField('Inline field title', 'Some value here', true)
.setImage('https://i.imgur.com/wSTFkRM.png')
.setTimestamp()
.setFooter('Some footer text here', 'https://i.imgur.com/wSTFkRM.png');
message.channel.send(exampleEmbed);
如果您仔细研究一下,您会发现我只更改了代码的 .setColor('#0099ff')
位。这就是您所要做的!通过将十六进制值更改为“RANDOM”,您让 D.js 知道您希望它为您创建随机颜色。请注意,这实际上有点奇怪,因为它实际上只是通过“彩虹”图案旋转颜色。因此,如果您 运行 足够多的命令或多次执行相同的命令,您会注意到颜色最终会重复。
如果你想要更复杂的选项
此处的这一小段代码将使用 RNG 生成随机 RGB 值。
const randomBetween = (min, max) => Math.floor(Math.random()*(max-min+1)+min);
const color = [
randomBetween(0, 255),
randomBetween(0, 255),
randomBetween(0, 255),
];
使用这个函数,你可以做:
const Discord = require('discord.js');
const randomBetween = (min, max) => Math.floor(Math.random()*(max-min+1)+min);
const color = [
randomBetween(0, 255),
randomBetween(0, 255),
randomBetween(0, 255),
];
const exampleEmbed = new Discord.MessageEmbed()
.setColor(`${color[0]}, ${color[1]}, ${color[2]}`)
.setTitle('Some title')
.setURL('https://discord.js.org/')
.setAuthor('Some name', 'https://i.imgur.com/wSTFkRM.png', 'https://discord.js.org')
.setDescription('Some description here')
.setThumbnail('https://i.imgur.com/wSTFkRM.png')
.addFields(
{ name: 'Regular field title', value: 'Some value here' },
{ name: '\u200B', value: '\u200B' },
{ name: 'Inline field title', value: 'Some value here', inline: true },
{ name: 'Inline field title', value: 'Some value here', inline: true },
)
.addField('Inline field title', 'Some value here', true)
.setImage('https://i.imgur.com/wSTFkRM.png')
.setTimestamp()
.setFooter('Some footer text here', 'https://i.imgur.com/wSTFkRM.png');
message.channel.send(exampleEmbed);
这将导致 RGB 值的每个部分的值介于 0 和 255 之间,使您的嵌入强调色始终 100% 随机。
这一小段代码摘自:Olian04's response on this 问题!我觉得好像这在任何地方都没有很好的记录,所以决定把它全部放在这里!
如果你在 .setcolor 中写随机你会得到随机颜色
.setColor('RANDOM')
所以,我想创建一个嵌入,每次使用时,它都会输出一种随机颜色作为重音。
这是我当前的代码:
const Discord = require('discord.js');
const exampleEmbed = new Discord.MessageEmbed()
.setColor('#0099ff')
.setTitle('Some title')
.setURL('https://discord.js.org/')
.setAuthor('Some name', 'https://i.imgur.com/wSTFkRM.png', 'https://discord.js.org')
.setDescription('Some description here')
.setThumbnail('https://i.imgur.com/wSTFkRM.png')
.addFields(
{ name: 'Regular field title', value: 'Some value here' },
{ name: '\u200B', value: '\u200B' },
{ name: 'Inline field title', value: 'Some value here', inline: true },
{ name: 'Inline field title', value: 'Some value here', inline: true },
)
.addField('Inline field title', 'Some value here', true)
.setImage('https://i.imgur.com/wSTFkRM.png')
.setTimestamp()
.setFooter('Some footer text here', 'https://i.imgur.com/wSTFkRM.png');
message.channel.send(exampleEmbed);
我怎样才能简单有效地做到这一点?
这实际上创建起来非常简单,而且实际上已经被烘焙到 Discord.js v12 中!要以最基本的形式实现这一点,只需使用这段代码:
const Discord = require('discord.js');
const exampleEmbed = new Discord.MessageEmbed()
.setColor('RANDOM')
.setTitle('Some title')
.setURL('https://discord.js.org/')
.setAuthor('Some name', 'https://i.imgur.com/wSTFkRM.png', 'https://discord.js.org')
.setDescription('Some description here')
.setThumbnail('https://i.imgur.com/wSTFkRM.png')
.addFields(
{ name: 'Regular field title', value: 'Some value here' },
{ name: '\u200B', value: '\u200B' },
{ name: 'Inline field title', value: 'Some value here', inline: true },
{ name: 'Inline field title', value: 'Some value here', inline: true },
)
.addField('Inline field title', 'Some value here', true)
.setImage('https://i.imgur.com/wSTFkRM.png')
.setTimestamp()
.setFooter('Some footer text here', 'https://i.imgur.com/wSTFkRM.png');
message.channel.send(exampleEmbed);
如果您仔细研究一下,您会发现我只更改了代码的 .setColor('#0099ff')
位。这就是您所要做的!通过将十六进制值更改为“RANDOM”,您让 D.js 知道您希望它为您创建随机颜色。请注意,这实际上有点奇怪,因为它实际上只是通过“彩虹”图案旋转颜色。因此,如果您 运行 足够多的命令或多次执行相同的命令,您会注意到颜色最终会重复。
如果你想要更复杂的选项
此处的这一小段代码将使用 RNG 生成随机 RGB 值。
const randomBetween = (min, max) => Math.floor(Math.random()*(max-min+1)+min);
const color = [
randomBetween(0, 255),
randomBetween(0, 255),
randomBetween(0, 255),
];
使用这个函数,你可以做:
const Discord = require('discord.js');
const randomBetween = (min, max) => Math.floor(Math.random()*(max-min+1)+min);
const color = [
randomBetween(0, 255),
randomBetween(0, 255),
randomBetween(0, 255),
];
const exampleEmbed = new Discord.MessageEmbed()
.setColor(`${color[0]}, ${color[1]}, ${color[2]}`)
.setTitle('Some title')
.setURL('https://discord.js.org/')
.setAuthor('Some name', 'https://i.imgur.com/wSTFkRM.png', 'https://discord.js.org')
.setDescription('Some description here')
.setThumbnail('https://i.imgur.com/wSTFkRM.png')
.addFields(
{ name: 'Regular field title', value: 'Some value here' },
{ name: '\u200B', value: '\u200B' },
{ name: 'Inline field title', value: 'Some value here', inline: true },
{ name: 'Inline field title', value: 'Some value here', inline: true },
)
.addField('Inline field title', 'Some value here', true)
.setImage('https://i.imgur.com/wSTFkRM.png')
.setTimestamp()
.setFooter('Some footer text here', 'https://i.imgur.com/wSTFkRM.png');
message.channel.send(exampleEmbed);
这将导致 RGB 值的每个部分的值介于 0 和 255 之间,使您的嵌入强调色始终 100% 随机。
这一小段代码摘自:Olian04's response on this 问题!我觉得好像这在任何地方都没有很好的记录,所以决定把它全部放在这里!
如果你在 .setcolor 中写随机你会得到随机颜色
.setColor('RANDOM')