Heroku 获取错误:https://some-random-api.ml/meme 原因处的 JSON 响应正文无效:JSON 中位置 0 处的意外令牌<



我试图添加一个功能来生成随机模因到我的Discord bot运行在Heroku上,但每次我尝试运行它,它只是给我这个错误:FetchError: invalid json response body at https://some-random-api.ml/meme reason: Unexpected token < in JSON at position 0。我想知道Heroku有没有类似的东西?如果没有,是我的代码有问题(张贴在下面):

const memes = require("random-memes");
const { randomHexColor } = require('../admin/colorgen.js');

module.exports = {
name: 'meme',
description: 'Never mind what the description is!',
async execute(message, args, Discord, Client, bot) {
memes.random().then(meme => {

const newEmbed = new Discord.MessageEmbed()
.setColor(randomHexColor())
.setTitle(meme.caption)
// .setURL(meme.image)
.setDescription(`category: ${meme.category}`)
.setImage(meme.image);

message.channel.send({ embeds: [newEmbed] });
})
}
}

API可能刚刚关闭,我以前遇到过同样的错误。在.then(... => { ... })之后尝试使用.catch来处理错误并可能进行调试。

memes.random().then(meme => {
console.log(meme)
}).catch(err => {
console.log(err)
});

如果你仍然得到一个错误与NPM包,尝试只是发送一个节点获取请求https://some-random-api.ml/meme这是random-memes使用的API(源代码)。

const fetch = require('node-fetch');
const response = await fetch('https://some-random-api.ml/meme');
const data = await response.json();
console.log(data);

data应该返回类似

的内容
{
"id": number,
"image": string,
"caption": string,
"category": string
}

然后你可以从那里开始。

相关内容

  • 没有找到相关文章