Discord 嵌入消息无法正常工作

Posted

技术标签:

【中文标题】Discord 嵌入消息无法正常工作【英文标题】:Discord embed message not working correctly 【发布时间】:2021-07-07 11:43:59 【问题描述】:

我的不和谐机器人发送了错误的嵌入消息。这是一个拥抱命令,如果有人没有提及某人,机器人会在频道中发送一条错误消息,内容如下:请提及有效用户!我想将此消息作为嵌入发送,但是它无法正常工作。每次我在不提及某人的情况下使用该命令时,我的控制台中都不会出现错误。当我提到某人时它可以工作,但它也会发送错误消息。 截图如下: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);
    ,
;

请帮帮我,谢谢!

【问题讨论】:

if (!message.mentions.users.first()) return message.channel.send(); ???这不是 if 语句的推荐结构。另外,如果您希望获得帮助,请分享您遇到的错误。你为什么叫.send()空? 【参考方案1】:

你的问题是这一行:

return message.channel.send();

有两个问题:

    如果消息中没有mentions,则立即调用return。低于return 语句的任何内容都不会被执行 你打电话给.send()empty

您应该先创建嵌入,然后再创建 return message.channel.send(<embed>)

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

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

【讨论】:

很高兴听到这个消息:)

以上是关于Discord 嵌入消息无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

DiscordAPIError:无法使用 Discord 嵌入发送空消息

我的 discord.js 帮助命令不能正常工作

Discord.js 当我踢一个人时我想在频道中看到它+作为嵌入消息

无法在嵌入消息的标题 discord.py 中标记成员

使用 DiscordJS 的音乐 Discord 机器人无法正常工作

discord.js 如何编辑/更新嵌入?