我如何使我可以在discord.js上使用!announce命令附加图像



我知道我的标题似乎令人困惑,但简单地说,我想让它,所以当我运行一个!宣布命令discord.js,我想添加一个图像到它,它被发送嵌入。下面是一个例子。

当我运行:宣布(通道id)(消息)然后我附加一个图像,它被发送到与消息和图像的通道。

我已经得到了我的代码,我已经使它如此宣布(频道id)(消息)已经工作了,我需要知道如何在最后附加一个图像,我不介意图像是一个链接或附件。

仅供参考,我试图找出如何做到这一点,寻求帮助并使用discord.js文档,但到目前为止我什么也没有。

这是我的代码:

顺便说一句,我还在使用discord v12.2

const {MessageEmbed} = require('discord.js');
module.exports = {
name: 'announce',
description: "Does announcements in an embed",
usage: "<channel id> <msg>",
execute(message, args){
if(!message.member.permissions.has(["MANAGE_MESSAGES"])) return message.reply("You don't have the required permissions to run this command.")
let userArray = message.content.split(" ");
let userArgs = userArray.slice(1);
let member = message.mentions.members.first() || message.guild.members.cache.get(userArgs[0]) || message.guild.members.cache.find(x => x.user.username.toLowerCase() === userArgs.slice(0).join(" ") || x.user.username === userArgs[0]) || message.member;
let rChannel = message.guild.channels.cache.get(args [0])
if(!rChannel)return message.channel.send('Please specify the channel ID. Usage is: ;announce <channelID> <message>')
let MSG = message.content.split(`;announce ${rChannel.id} `).join("")
if(!MSG)return message.reply('Please specify a message. Usage is: ;announce <channelID> <message>')
const embed = new MessageEmbed()
.setTitle('Announcement')
.setDescription(`${MSG}`)
.setImage(message.attachments.first())
.setFooter(message.author.tag, message.author.displayAvatarURL())
.setTimestamp(Date.now()) 
.setColor(0xA20B31)
rChannel.send(embed);



}
}

您必须通过使用first()并将MessageAttachmenturl添加到MessageEmbed来检查message.attachments是否有任何附件。


message.attachments.first() ? embed.setImage(message.attachments.first().url) : "";
const { MessageEmbed } = require("discord.js");
module.exports = {
name: "announce",
description: "Does announcements in an embed",
usage: "<channel id> <msg>",
execute(message, args) {
if (!message.member.permissions.has(["MANAGE_MESSAGES"])) return message.reply("You don't have the required permissions to run this command.");
let userArray = message.content.split(" ");
let userArgs = userArray.slice(1);
let member =
message.mentions.members.first() ||
message.guild.members.cache.get(userArgs[0]) ||
message.guild.members.cache.find((x) => x.user.username.toLowerCase() === userArgs.slice(0).join(" ") || x.user.username === userArgs[0]) ||
message.member;
let rChannel = message.guild.channels.cache.get(args[0]);
if (!rChannel) return message.channel.send("Please specify the channel ID. Usage is: ;announce <channelID> <message>");
let MSG = message.content.split(`;announce ${rChannel.id} `).join("");
if (!MSG) return message.reply("Please specify a message. Usage is: ;announce <channelID> <message>");
const embed = new MessageEmbed().setTitle("Announcement").setDescription(`${MSG}`).setImage(message.attachments.first()).setFooter(message.author.tag, message.author.displayAvatarURL()).setTimestamp(Date.now()).setColor(0xa20b31);
message.attachments.first() ? embed.setImage(message.attachments.first().url) : "";
rChannel.send(embed);
},
};

最新更新