为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕姐8265434 2022-10-27 16:24:38
#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:请求实体太大
查看完整描述

1 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

我认为这可以满足您的要求。


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

    }

});


查看完整回答
反对 回复 2022-10-27
  • 1 回答
  • 0 关注
  • 59 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信