Discord.js v12 如何检查某个频道中的消息是否为视频附件?

#video例如,如果发送了视频附件并且它实际上是视频附件,我正在尝试在某个频道中制作机器人,那么机器人将在该频道中回复某些内容并将视频附件复制到另一个频道。如果是短信,机器人只会删除短信。我目前没有代码,因为我不知道 lol.Ž


当前代码:


const {MessageAttachment, Client} = require('discord.js');

const client = new Discord.Client();


client.on('message', msg => {


    if (msg.channel.id == '728664668834627705') { // Valiate a channel


        const attachments = (msg.attachments).array(); // Get list of attachments

        const attachment = attachments[0]; // Take the first attachment


        if (msg.content) return msg.delete() // Delet the message if it has conetnt


        if (attachments.length !== 0) {

            const nameArray = attachment.name.split('.'); //Split the name 

            const attEx = nameArray[nameArray.length - 1] //Grap the last value of the array.

            if (attEx == "mp4" || attEx == "Or what ever fromat you want") {

                // Note this doesn't check the file it check the format of the file.


                const channel = client.channels.cache.get(`728664692012089366`) // Get the channel you want to send to by id


                const snetAttachment = new MessageAttachment(attachment.proxyURL);

                return channel.send(snetAttachment)


            }

        }

        msg.delete() // Delete teh message fi it doesn't pass the validations

    }

})

我收到一个错误:DiscordAPIError:请求实体太大


慕姐8265434
浏览 60回答 1
1回答

RISEBY

我认为这可以满足您的要求。const {MessageAttachment, Client} = require('discord.js');const client = new Client();client.on('message', msg => {    if (msg.channel.id == '728558310340427838') { // Valiate a channel        const attachments = (msg.attachments).array(); // Get list of attachments        const attachment = attachments[0]; // Take the first attachment        if (msg.content) return msg.delete() // Delet the message if it has conetnt        if (attachments.length !== 0) {            const nameArray = attachment.name.split('.'); //Split the name             const attEx = nameArray[nameArray.length - 1] //Grap the last value of the array.            if (attEx == "mp4" || attEx == "Or what ever fromat you want") {                // Note this doesn't check the file it check the format of the file.                const channel = client.channels.cache.get(`728558358013018152`) // Get the channel you want to send to by id                const snetAttachment = new MessageAttachment(attachment.proxyURL);  // Send as attachment                                return channel.send(snetAttachment);            }        }        msg.delete() // Delete teh message fi it doesn't pass the validations    }});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript