当前位置: 首页 > 知识库问答 >
问题:

嵌入消息gif不工作|不一致。js

程俊健
2023-03-14

bot发送嵌入消息,但仅发送文本而不发送gif。我有一个单独的gif文件。json文件,因此当有人使用该命令时,会有不同的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

非常感谢您的帮助,谢谢!:)

共有1个答案

严书
2023-03-14

有几个错误。首先,您需要修复路径,它是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",
]

您应该按原样发送嵌入,而不是在带有嵌入键的对象中:

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);
  },
}; 
 类似资料:
  • 机器人发送嵌入消息(包含文本和gif)。然而,gif根本不加载。一切似乎都在为其他命令工作,但这个特定的命令不工作。我真的不知道,请帮帮我。我的代码: 下面是这条消息的图片:

  • 我的discord机器人发送了错误的嵌入消息。这是一个拥抱命令,如果某人没有提及某人,机器人会在频道中发送一条错误消息,内容如下:请提及有效用户!我想以嵌入方式发送此消息,但它无法正常工作。每次我使用命令时,没有提到任何人,我的控制台中都不会出现错误。当我提到某人时,它是有效的,但它也会发送错误信息。以下是一个截图:https://i.imgur.com/bcnS1Yb.png 我的代码: 请帮帮

  • 我有一些不和谐的问题 我有3个嵌入:embed1、embed2、embed3,但当我尝试发送带有以下代码的消息的嵌入时: 我得到这个错误: (节点:24120)未处理的PromisejectionWarning:DiscordAPIError:无法发送空消息

  • 再一次,我的代码没有跟上,我不知道为什么。。。控制台显示没有错误。 这是我的密码:

  • 我只是想给加入服务器的新成员写一封欢迎信。我想在每次新成员加入时发送嵌入。但是,未发送嵌入。有人能帮我吗? 这是我的代码: 谢谢

  • 我希望我的机器人发送一条消息,然后使用以下值每分钟编辑一次: 我尝试了以下代码,但不幸的是,它不起作用。 它不显示缓存的用户数,而是显示“”。