You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Discord.js的EmbedBuilder设置RANDOM颜色报错求助

Discord.js EmbedBuilder 设置随机颜色报错问题

我尝试用以下代码创建带随机颜色的Embed,按文档说明.setColor()应支持包含'RANDOM'的ColorResolvable类型,但一直报错:

Unable to convert color to a number.
code : ColorConvert

代码示例:

const embed = new EmbedBuilder()
            .setColor('RANDOM')
            .setDescription("Some description")
await interaction.reply({embeds : [embed]})

问题原因

Discord.js v14及后续版本中,EmbedBuilder的setColor()方法不再支持'RANDOM'字符串参数,要求传入的颜色必须是可转换为数字的格式(如十六进制字符串、RGB数组/对象、十进制数字)。

解决方案

方法1:生成随机十六进制颜色字符串

手动生成6位随机十六进制颜色值传入:

// 生成随机十六进制颜色
const randomHexColor = `#${Math.floor(Math.random() * 16777215).toString(16).padStart(6, '0')}`;

const embed = new EmbedBuilder()
            .setColor(randomHexColor)
            .setDescription("Some description")
await interaction.reply({embeds : [embed]})

方法2:生成随机十进制颜色值

直接生成0到16777215之间的随机整数(对应RGB颜色范围):

const randomDecimalColor = Math.floor(Math.random() * 16777215);

const embed = new EmbedBuilder()
            .setColor(randomDecimalColor)
            .setDescription("Some description")
await interaction.reply({embeds : [embed]})

内容的提问来源于stack exchange,提问作者user14800015

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 12:35:30