首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我得到[对象]而不是输出

我得到[对象]而不是输出
EN

Stack Overflow用户
提问于 2022-07-20 20:48:37
回答 1查看 27关注 0票数 1

因此,我有一个命令,应该发送随机事实,并将其从英语翻译成乌克兰语,但不是随机获取事实,而是显示[object Object]。这是我的代码,我在discord.js v13上。

代码语言:javascript
复制
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');
await response.json().then(async res => {
const translated = await translate(res, { to: 'uk' });
      interaction.reply({
        embeds: [new MessageEmbed().setTitle('Факт').setDescription(translated.text).setColor('RANDOM')]
      });
    });
  }
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-20 21:11:17

这是因为API返回一个对象,并隐式地将其转换为字符串。此对象具有text属性,因此应使用await translate(res.text, { to: 'uk' })

此外,不应将then与异步/等待混合使用。只需选一个:

代码语言:javascript
复制
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 { text } = await response.json();
    const translated = await translate(text, { to: 'uk' });
    interaction.reply({
      embeds: [
        new MessageEmbed()
          .setTitle('Факт')
          .setDescription(translated.text)
          .setColor('RANDOM'),
      ],
    });
  },
};
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73057971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档