some random api discord.js node.js
у меня есть код:
const Discord = require('discord.js') // подключение discord.js к файлу
const fetch = require('node-fetch')
module.exports.run = (client, message, args) => {
const res = fetch("https://some-random-api.ml/img/dog")
.then(res => res.json())
console.log(res);
const embed = new Discord.MessageEmbed()
.setColor("RANDOM")
.setTitle('Lol')
.setImage(res.link)
message.channel.send(embed);
}
module.exports.help = {
name: 'fox' // название команды
}
Он должен выводить рандомную картинку собачки, но не выводит, остаётся только заголовок В консоль выводит Promise { }
Ответы (1 шт):
Автор решения: Alexander Lonberg
→ Ссылка
Потому как в строке console.log(res), и есть неразрешенный Promise.
Далее ты используешь этот самый неразрешенный .setImage(res<Promise>.link).
Не знаю API Discord, но очевидно надо использовать асинхронные функции или запихнуть часть кода в .then(res => res.json())
module.exports.run = /* ВОТ ЭТО */ async (client, message, args) => {
const res = /* И ВОТ ЭТО */ (await fetch("https://some-random-api.ml/img/dog")).json()
// теперь нам доступен объект
// res:{"link":"https://i.some-random-api.ml/GgVmK0NYuF.jpg"}
const embed = new Discord.MessageEmbed()
.setColor("RANDOM")
.setTitle('Lol')
.setImage(res.link)
message.channel.send(embed)
}