Javascript Bot Don';t发送标签| Discord.js

Javascript Bot Don';t发送标签| Discord.js,javascript,discord.js,embed,message,Javascript,Discord.js,Embed,Message,嘿,我制作了一个监听频道的bot,当频道中发送了一条消息时,bot会用消息内容的嵌入来替换消息,但是我有一些问题,当有人试图标记某人时,bot会打印这个 (node:16552) UnhandledPromiseRejectionWarning: DiscordAPIError: Invalid Form Body embed.image.url: Could not interpret "[]" as string. at RequestHandler.execut

嘿,我制作了一个监听频道的bot,当频道中发送了一条消息时,bot会用消息内容的嵌入来替换消息,但是我有一些问题,当有人试图标记某人时,bot会打印这个

(node:16552) UnhandledPromiseRejectionWarning: DiscordAPIError: Invalid Form Body
embed.image.url: Could not interpret "[]" as string.
    at RequestHandler.execute
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
当我添加附件时,它只发送测试!最后,我想将作者图像设置为与发送消息的用户相同

这是我的密码:

bot.on('message', message=>{
    
    if (message.author.bot) return;
    if(message.channel.id == "771695635598278677") {
        message.delete()
        const user = message.mentions.users.first() || message.author;
        //let messageAttachment = message.attachments.size > 0 ? message.attachments.array()[0].url : null
        const dark = new Discord.MessageEmbed()
        .setColor('#000000')
        .setDescription(`${message.content}\n`)
        .addField('\n')
        .setAuthor("Twitter")
        .setImage(message.attachments)
        .setFooter('twitter', 'https://cdn.discordapp.com/attachments/564032243836780558/771614643159433226/Anonymous_emblem.svg.png')
        if(isNaN(message.content)) {
            message.channel.send(twitter)
        }
    }
});
如果sombody能帮我让我知道。。。谢谢大家!

返回一组附件,而需要一个字符串(url)。我相信你正在寻找的是,这将返回第一个在收集。从那里,您可以访问该属性

const dark=new Discord.MessageEmbed()
.setColor(“#000000”)
.setDescription(`${message.content}\n`)
.addField(“\n”)
.setAuthor('Twitter'))
.setImage(message.attachments.first().url)
.setFooter(
“推特”,
'https://cdn.discordapp.com/attachments/564032243836780558/771614643159433226/Anonymous_emblem.svg.png'
);

我很困惑。您丢失了部分代码。“推特”的定义是什么?它不存在。此外,您还将嵌入定义为“黑暗”。对不起,它是有效的,我在这里更改了代码并将其命名为twitter,它对我有效,我将其命名为darkwhat关于其他两个问题?它还打印error.setImage(message.attachments.first().url)^TypeError:无法读取未定义的属性“url”以供将来参考:每个问题只有一个问题。关于您的错误,这意味着用户没有发送任何附件,因此只需使用
|
操作符或可选链接来处理。对于pfp问题,
setAuthor
的第二个参数可以是
message.author.displayAvatarURL()
。我如何用| |处理这个问题?我应该补充什么?您的代码类型也有一个错误错误错误:无法读取未定义的属性“url”,url未定义,这不是因为我没有添加附件。请回答:“类型错误:无法读取未定义的属性“url”,并不意味着
url
未定义,它意味着
message.attachments.first()
未定义。唯一的方法是如果集合为空。您可以使用
message.attachments.first()?.url
(message.attachments.first()| |{}).url
处理该问题。如果找不到任何附件,两者都将返回undefined,从而处理错误。