【问题标题】:discord.js certain channel embeddiscord.js 某些频道嵌入
【发布时间】:2021-07-15 00:21:34
【问题描述】:

我想知道如果你将图像放到某个频道中,它会变成嵌入。

我当前的代码是这样的:

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)
    }
  }
}

【问题讨论】:

    标签: discord.js


    【解决方案1】:

    如果您将图片上传到消息中,它将保存到message.attachments,因此您可以使用此集合进行检查。 Discord 附件可以是文件,也可以是视频,因此您需要检查文件格式,简单的方法是检查其中内容的链接是否为有效格式,因此我创建了 2 个函数。

    • 第一:查找附件
    • 第二个:用于验证 url 以在 url 中包含图像格式
    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))
    

    【讨论】:

    • 这样您就可以将其用作功能并添加到bot.on('message 块。您提供此代码,所以我使用您的模板。
    猜你喜欢
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    • 2020-11-23
    相关资源
    最近更新 更多