javascript - 嵌入消息 gif 不起作用 | 不和谐.js
问题描述
机器人发送嵌入消息,但只发送文本而不发送 gif。我在单独的 .json 文件中有 gif,因此当有人使用该命令时会有不同的 gif。但由于某种原因,它不起作用。也许是因为 .json 文件?我真的不知道,请帮帮我。 我的代码:
const Discord = require('discord.js');
const prefix = require('../config.json');
const patGif = require('../PATSGIFS.json');
module.exports = {
name: "pat",
description: "Pat someone UwU",
aliases:["pat"],
execute: async (client, message, args) => {
const gif = patGif[Math.floor(Math.random() * patGif.length)];
if (!message.mentions.users.first())
return message.reply("***please mention someone.***");
const embed = new Discord.MessageEmbed()
.setColor("#FF8DC4 ")
.setTitle(`*Aww how cute, ${message.author.username} gave ${message.mentions.users.first().username} a pat!*`)
.setImage(gif);(String[patGif[gif]])
message.channel.send({embed})
}}
.json 文件的代码:
{
"patgif": "https://i.pinimg.com/originals/15/d0/1e/15d01e231310bb6dabb3af0ae40fc209.gif"
}
(我知道,它只有一个 gif。)
当两个文件都在一个文件夹中时,我在控制台中遇到的错误: 图片: https ://i.stack.imgur.com/8rzXP.png | 我无法从控制台复制它,所以这是一张图片。
这是消息的图片: 图片: https ://i.stack.imgur.com/nKGG3.png
帮助将不胜感激,谢谢!:)
解决方案
有几个错误。首先,您需要修复路径,它是require('../PATSGIFS.json')
.
另一个错误是 JSON 文件包含一个对象,而不是一个数组。从您的代码中,您似乎想从数组中选择一个随机 gif,所以它应该是这样的:
[
"https://i.pinimg.com/originals/15/d0/1e/15d01e231310bb6dabb3af0ae40fc209.gif",
"https://i.pinimg.com/originals/15/d0/1e/15d01e231310bb6dabb3af0ae40fc209.gif",
"https://i.pinimg.com/originals/15/d0/1e/15d01e231310bb6dabb3af0ae40fc209.gif",
]
而且您应该按原样发送嵌入,而不是在带有embed
键的对象内:
message.channel.send(embed)
完整代码:
const Discord = require('discord.js');
const prefix = require('../config.json');
const patGif = require('./PATSGIFS.json');
module.exports = {
name: 'pat',
description: 'Pat someone UwU',
aliases: ['pat'],
execute: async (client, message, args) => {
const gif = patGif[Math.floor(Math.random() * patGif.length)];
if (!message.mentions.users.first())
return message.reply('***please mention someone.***');
const embed = new Discord.MessageEmbed()
.setColor('#FF8DC4')
.setTitle(
`*Aww how cute, ${message.author.username} gave ${
message.mentions.users.first().username
} a pat!*`,
)
.setImage(gif);
message.channel.send(embed);
},
};
推荐阅读
- arrays - Google Script 从 Google Drive 导入 txt 文件
- amazon-web-services - 无法通过存储过程访问 Information_schema
- android - 将 Android Studio 3.6 和 Gradle 更新到 3.5.0 后无法运行项目
- java - 尝试解析简单的休息 api 响应时 GSON 抛出错误:预期 BEGIN_ARRAY 但在第 1 行第 2 列路径 $ 处为 BEGIN_OBJECT
- python - Python:从 API 获取解析 JSON 数据 - 指的是字典键?
- javascript - 无法调整大小使用过渡的容器
- java - 如何提取 PKCS12 密钥库(包含 pkcs#8 密钥对和证书)
- arrays - 打字稿过滤器 - 如何在数组中分离匹配项
- javascript - html到pdf的转换和下载
- omnet++ - 如何改变车辆颜色