发送某些词时,如何让我的不和谐机器人发送附件

时间:2021-05-30 02:19:32

标签: discord discord.js

我刚开始使用 discord bot 并决定尝试一下,一开始我只是想让 bot 发送附件(图像、视频等),例如,“sendpicture”是在聊天中写入的。

我已多次更改代码,但每次都出现相同的错误,“附件不是构造函数”或“Discord.Attachment 不是构造函数”。

我当前的代码如下所示:


const client = new Discord.Client();

client.once(`ready`, () => {
    console.log("online");
});

const PREFIX = "!"

//replying with a text message
client.on('message', msg => {
    if (msg.content === 'test1') {
      msg.channel.send('working');
    }
  });
  
//replying with attachment
client.on("message", function(message){
   
    let args = message.content.substring(PREFIX.lenght).split(" ");

    switch(args[0]) { 
        case "test2": 
            message.channel.send(new Discord.Attachment(`.a/this/bestpic.png`, `bestpic.png`) )
            .then(msg => {
                //aaaaaaaa
            })
            .catch(console.error);
            break;
    }
})

蒂娅

3 个答案:

答案 0 :(得分:0)

您是否尝试查看官方documentation

我认为你不应该使用 new Discord.Attachment(),试试这个:

switch(args[0]) { 
    case "test2": 
        message.channel.send({
            files: [{
                attachment: '.a/this/bestpic.png',
                name: 'bestpic.png'
            }]
        }).then(msg => {
                //aaaaaaaa
        }).catch(console.error);
    break;
}

答案 1 :(得分:0)

Discord.Attachment() 不是一个东西,我相信你正在寻找的答案是这样的 :)

new Discord.MessageAttachment()

答案 2 :(得分:0)

试试这个代码,简短易用。

if (message.content.toLowerCase() === 'word') { //only word, without prefix
        message.channel.send({ files: ['./path_to_your_file'] })
    }