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

JavaScript编写Discord机器人的coinflip抛硬币命令运行报错如何修复?

需修正的代码问题
  • doRandHT函数内定义了rand结果数组但未调用,当前返回的小写字符串和你定义的大写格式不匹配,可直接通过随机数下标取数组内容返回。
  • 错误的execute调用语法:execute(message, args, Discord); { ... }中的分号会直接终止execute调用,后半部分花括号会被识别为无意义的独立代码块,如果你不需要额外封装execute逻辑,直接删除这行即可。
  • MessageEmbed实例构造语法错误:不能直接用"title"; 值的写法赋值属性,需要调用Embed实例对应的setXXX方法,或者传入符合格式的配置对象。
  • 变量名不匹配:你声明的Embed实例变量叫newEmbed,发送时调用的embed变量未定义,会触发变量未定义报错。
  • 发送Embed的参数格式错误:如果使用discord.js v13及以上版本,旧版{ embed: 实例 }的传参方式已经废弃,需改为{ embeds: [实例] }的数组格式。
修正后可运行的代码
if (command === 'ht'){
    // 抛硬币随机函数
    function doRandHT() {
        const rand = ['HEADS!','TAILS!'];
        return rand[Math.floor(Math.random() * 2)];
    }
    // 构造Embed消息
    const newEmbed = new Discord.MessageEmbed()
        .setTitle('Here is the winner!')
        .setDescription(doRandHT())
        .setColor(7584788);
    // 发送消息
    message.channel.send({ embeds: [newEmbed] });
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:27:06