为什么 Tenor GIF 会在嵌入中产生 Discord 便便图像?
Why do Tenor GIFs result in a Discord poop image in embeds?
代码介绍
我正在执行命令,如果您键入 p!shrug
,它会从 Tenor 发送一个随机的耸肩 GIF。我的代码使用 Tenor API 和 node-fetch
。
问题
机器人按要求发送嵌入,但嵌入中的图像是 Discord Poop 图像
我的代码
const Discord = require('discord.js');
const fetch = require('node-fetch');
module.exports = {
name: 'shrug',
description: 'Shruggy Shruggy',
async execute(client, message, args){
const url = `https://api.tenor.com/v1/search?q=anime_shrug&key=${process.env.tenorkey}&limit=24`
const res = await fetch(url);
const result = await res.json();
const gif = Math.floor(Math.random() * result.results.length);
const newGIF = new Discord.MessageEmbed()
.setAuthor(`${message.author.username} shrugs~`, message.author.displayAvatarURL())
.setImage(result.results[gif].url)
.setColor('RANDOM')
message.channel.send(newGIF)
.then(console.log(result.results[gif].url))
}
}
更多信息
当我从嵌入中复制 link 的 GIF 并粘贴它时,GIF 工作正常。
回答
好的,基本上我只做了一个小改动就修复了它
result.results[gif].url
returns Tenor GIF link 不能用作嵌入的图像。
我所做的更改是:-
result.results[gif].url
到 result.results[gif].media[0].url
其中 returns 可以在嵌入中使用的媒体 link。
我将不胜感激,但这确实解决了我的问题。
代码介绍
我正在执行命令,如果您键入 p!shrug
,它会从 Tenor 发送一个随机的耸肩 GIF。我的代码使用 Tenor API 和 node-fetch
。
问题
机器人按要求发送嵌入,但嵌入中的图像是 Discord Poop 图像
我的代码
const Discord = require('discord.js');
const fetch = require('node-fetch');
module.exports = {
name: 'shrug',
description: 'Shruggy Shruggy',
async execute(client, message, args){
const url = `https://api.tenor.com/v1/search?q=anime_shrug&key=${process.env.tenorkey}&limit=24`
const res = await fetch(url);
const result = await res.json();
const gif = Math.floor(Math.random() * result.results.length);
const newGIF = new Discord.MessageEmbed()
.setAuthor(`${message.author.username} shrugs~`, message.author.displayAvatarURL())
.setImage(result.results[gif].url)
.setColor('RANDOM')
message.channel.send(newGIF)
.then(console.log(result.results[gif].url))
}
}
更多信息
当我从嵌入中复制 link 的 GIF 并粘贴它时,GIF 工作正常。
回答
好的,基本上我只做了一个小改动就修复了它
result.results[gif].url
returns Tenor GIF link 不能用作嵌入的图像。
我所做的更改是:-
result.results[gif].url
到result.results[gif].media[0].url
其中 returns 可以在嵌入中使用的媒体 link。
我将不胜感激,但这确实解决了我的问题。