我想知道如何将图像放置在某个通道中,它会变成嵌入。
我当前的代码是这样的:
const Discord = require("discord.js");
const { MessageEmbed } = require("discord.js");
const { Client, RichEmbed } = require("discord.js");
module.exports = {
name: 'icon',
run: async(client, message, args) => {
if(message.channel.id === '708914703338045491'){
message.delete();
let usermsg = args.slice(0).join(" ");
const embed = new MessageEmbed()
.setColor("#2f3136")
.setImage(usermsg);
message.delete().catch();
message.channel.send(embed)
}
}
}
答案 0 :(得分:1)
如果您将图片上传到消息中,它将保存到 message.attachments
中,因此您可以使用此集合进行检查。 Discord 附件可以是文件或视频,因此您需要检查文件格式,简单的方法是检查指向其中内容的链接的末尾是否为有效格式,因此我创建了 2 个函数。
const { MessageEmbed } = require("discord.js");
const avalibleFormats = ['png', 'gif', 'jpeg', 'jpg']
module.exports = {
name: 'icon',
run: async(client, message, args) => {
if (message.channel.id !== '708914703338045491') {
return;
}
let image = getImage(message)
if (!image) {
return;
}
let embed = new MessageEmbed();
embed.setImage(image.url)
message.channel.send(embed)
}
}
const getImage = (message) => message.attachments.find(attachment => checkFormat(attachment.url))
const checkFormat = (url) => avalibleFormats.some(format => url.endsWith(format))