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

使用discord.js v13开发fact命令时出现[object Object]输出问题

解决Discord.js v13 Fact命令输出[object Object]的问题

问题根源

你传递给@iamtraction/google-translate的是整个API返回的JSON对象(res),但这个翻译库需要接收字符串类型的输入内容。直接传入对象会导致翻译逻辑处理异常,最终无法正确生成翻译文本,出现[object Object]的错误输出。

修正方案

  1. 从API返回结果中提取text字段(这才是需要翻译的事实内容)
  2. 调整代码结构,避免await和.then()混用,让异步逻辑更清晰

修正后的代码

const { MessageEmbed } = require('discord.js');
const fetch = require('node-fetch');
const translate = require('@iamtraction/google-translate');

module.exports = {
  name: 'fact',
  description: 'Випадковий факт',
  category: 'Fun',
  async run({ interaction, bot }) {
    // 获取英文事实数据
    const response = await fetch('https://uselessfacts.jsph.pl/random.json?language=en');
    const res = await response.json();
    
    // 仅传入事实文本进行翻译
    const translated = await translate(res.text, { to: 'uk' });
    
    // 发送翻译后的嵌入消息
    interaction.reply({
      embeds: [
        new MessageEmbed()
          .setTitle('Факт')
          .setDescription(translated.text)
          .setColor('RANDOM')
      ]
    });
  }
};

关键修改点

  • 把translate(res, { to: 'uk' })改为translate(res.text, { to: 'uk' }),确保传入翻译函数的是需要处理的字符串内容
  • 移除.then()链式调用,改用await处理异步操作,代码结构更直观易维护

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 11:06:19