Javascript 如何让机器人在嵌入中发布随机gif?
我看过了,但没有找到一个有效的答案。我正在从仅仅发布附件(没有链接)转向尝试将其嵌入到一个插件中。我使用discord.js.org来帮助我写出下面的代码,但是当我使用这个命令时,它只是一个完全空白的嵌入,只是一个小正方形。甚至不够大,gif无法加载。这个正方形很小。我不知道它为什么这样做Javascript 如何让机器人在嵌入中发布随机gif?,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我看过了,但没有找到一个有效的答案。我正在从仅仅发布附件(没有链接)转向尝试将其嵌入到一个插件中。我使用discord.js.org来帮助我写出下面的代码,但是当我使用这个命令时,它只是一个完全空白的嵌入,只是一个小正方形。甚至不够大,gif无法加载。这个正方形很小。我不知道它为什么这样做 const Discord = require('discord.js'); const prefix = require('../config.json'); const angryGif = requir
const Discord = require('discord.js');
const prefix = require('../config.json');
const angryGif = require('../AngryWolves.json');
const colors = require('../colors.json');
module.exports = {
name: "angry",
description: "Posts a random GIF of an angry wolf.",
usage: `${prefix}angry`,
execute(message, args) {
const gif = new Discord.MessageAttachment(angryGif[Math.floor(Math.random() * angryGif.length)]);
const embed = new Discord.MessageEmbed()
.setColor(colors.blue)
.setImage(String[angryGif[gif]])
message.channel.send(embed);
},
};
取决于angryGifs是什么,它是一个字符串URL数组吗?物品清单 假设
angryGifs
是gifs的字符串URL列表:
第一:
const gif=new Discord.MessageAttachment(angryGif[Math.floor(Math.random()*angryGif.length)])
这将生成一个gif的消息附件,而gif不会在嵌入文件中
因此,我们应该:
const gif=angryGif[Math.floor(Math.random()*angryGif.length)];
第二个:.setImage(字符串[angryGif[gif]])
这里,您将从字符串中获取一个属性,该属性的名称将为angryGif[gif]
,angryGif[gif]
将导致未定义,因此本质上:
String[未定义]
您的gif应该已经是字符串,因此您只需要:
embed.setImage(gif);
此外,如果您的链接指向某个imgur链接或giphy链接,则它们可能没有链接到实际的gif源
例如:
当您访问此页面时,它会显示gif以及一些其他文本,如“查看更多狗gif”,这表明它不是直接来源,要获取直接来源,您可以右键单击gif并按复制url
这将导致这种联系:
这是一个直接来源。这是一个惊人的信息量。谢谢你澄清了一切。我已经尝试了很多次,以达到一个点,我没有收到错误,这肯定是解决办法。现在效果很好!