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

不一致嵌入消息无法正常工作

岑俊明
2023-03-14

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

我的代码:

const Discord = require('discord.js');
const prefix = require('../config.json');
const hugGif = require('./Huggifs.json');

module.exports = {
    name: "hug",
    description: "Posts a hug gif.",
    aliases: ['hug'],
    execute(client, message, args) {

        if (!message.mentions.users.first())
        return message.channel.send();
        const aembed = new Discord.MessageEmbed()
        .setColor('BLUE')
        .setTitle(`**Please mention a valid user!**`)
        message.channel.send(aembed);

    const gif = hugGif[Math.floor(Math.random() * hugGif.length)];
        const embed = new Discord.MessageEmbed()
        .setColor('BLUE')
        .setTitle(`${message.author.username} hugs ${message.mentions.users.first().username}!`)
        .setImage(gif)
        .setFooter( `Requested by ${message.author.username}`)
        .setTimestamp()
        message.channel.send(embed);
    },
};

请帮帮我,谢谢!

共有1个答案

蒋高超
2023-03-14

你的问题是这一行:

return message.channel.send();

有两个问题:

  1. 如果消息中没有提到,您可以立即致电return。低于return语句的任何内容都不会执行
  2. 您正在呼叫。send()empty

你应该先创建嵌入,然后返回消息。频道发送(

你的if语句看起来也很奇怪,你应该这样做:

const mentionedMember = message.mentions.users.first();

if(!metionedMember) {
   // create you embed here
   return message.channel.send("your embed here");
}

// do things if there is a mention inside the message

 类似资料:
  • bot发送嵌入消息,但仅发送文本而不发送gif。我有一个单独的gif文件。json文件,因此当有人使用该命令时,会有不同的GIF。但由于某种原因,它不起作用。也许是因为天气原因。json文件?我真的不知道,请帮帮我。我的代码: 该代码为。json文件: (我知道,它只有一个gif。) 当两个文件都在一个文件夹中时,我在控制台中出现的错误:图片:https://i.stack.imgur.com/8

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

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

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

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

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