Javascript 我想在discord频道发送一个文件,机器人将读取该文件

Javascript 我想在discord频道发送一个文件,机器人将读取该文件,javascript,file,discord,discord.js,attachment,Javascript,File,Discord,Discord.js,Attachment,我是discord机器人的开发者。 我想知道如何让机器人读取我在discord服务器中发送的文件 例如: !read (file) 机器人会记录文件的内容,或者像这样发送 message.channel.send(content) 我试了一些东西,但都不管用 以下是我尝试过的代码: const Discord=requirediscord.js; 常数fs=requirefs module.exports.run=asyncclient,消息,参数,项=>{ if!message.memb

我是discord机器人的开发者。 我想知道如何让机器人读取我在discord服务器中发送的文件 例如:

!read (file)
机器人会记录文件的内容,或者像这样发送

message.channel.send(content)
我试了一些东西,但都不管用

以下是我尝试过的代码:

const Discord=requirediscord.js; 常数fs=requirefs module.exports.run=asyncclient,消息,参数,项=>{ if!message.member.hasPermission'ADMINISTRATOR'返回 让useTips=newdiscord.RichEmbed; useTips.setAuthormessage.author.tag,message.author.avatarURL useTips.setDescription“请发送文件” useTips.setColor0xdb001d message.channel.senduseTips const filter=m=>m.author.id==message.author.id; wait message.channel.waitMessagesFilter,{max:1,时间:30000,错误:['time']} .thencollected=>{ 让collection=collected.first; 让file21=collection.attachments; message.channel.sendfile21 fs.readfile21,错误,数据=>{ message.channel.senddata; }; }
} 您无法将附件作为文件读取。您需要从url获取此附件。 1路使用其节点请求库

    const Discord = require("discord.js");
    const fs = require("fs")
    const request = require('request');
    module.exports.run = async(client, message, args, item) => {
     if(!message.member.hasPermission('ADMINISTRATOR')) return

          let useTips = new Discord.RichEmbed();
                    useTips.setAuthor(message.author.tag, message.author.avatarURL)
                    useTips.setDescription('Please Send A File')
                    useTips.setColor(0xdb001d)
          message.channel.send(useTips)
          const filter = m => m.author.id === message.author.id;
          await message.channel.awaitMessages(filter, {max: 1, time: 30000,errors: ['time']})
                    .then(collected => {
                            let collection = collected.first();
                            if(!collection.attachments) return
                            request.get(collection.attachments.array()[0].url, function (error, response, body) {
                            if (!error && response.statusCode == 200) {
                              console.log(body)
                                }
                            });

                    })
                    .catch(console.error)
    }
}
const Discord=requirediscord.js; 常数fs=requirefs var请求=要求“请求”; module.exports.run=asyncclient,消息,参数,项=>{ if!message.member.hasPermission'ADMINISTRATOR'返回 让useTips=newdiscord.RichEmbed; useTips.setAuthormessage.author.tag,message.author.avatarURL useTips.setDescription“请发送文件” useTips.setColor0xdb001d message.channel.senduseTips const filter=m=>m.author.id==message.author.id; wait message.channel.waitMessagesFilter,{max:1,时间:30000,错误:['time']} .thencollected=>{ 让collection=collected.first; if!collection.attachments返回 request.getcollection.attachments.url,函数错误,响应,正文{ if!error&&response.statusCode==200{ 让数据=主体; 控制台日志错误 console.logresponse 控制台.日志体 console.logdata } }; } .catchconsole.error
}它不起作用是什么意思?它就是不起作用。。我不知道为什么,但是它没有发送我发送的文件的内容/数据,所以我需要帮助,你需要具体一点,它只是不起作用,不是对你的问题的描述。哪个部分不起作用,读取文件或发送消息,或者整个过程中的哪一个步骤?我不知道,它没有在频道中发送我发送的文件的内容/数据,我甚至不知道它是否存储了我发送的文件,甚至不知道它是否读取了文件。所以我需要帮助,所以如果你能接受代码,看看有什么错误,然后修复它,那么它将无法工作。。没有错误,只是不工作,在它告诉我发送文件后我发送了文件,但它没有发送文件的内容,我发送了message.channel.senddata,但它没有发送任何东西控制台日志数据。它的回报是什么?您发送的是什么文件类型?我发送的是txt文件类型,当我控制台记录数据时,它没有返回注释,控制台上只有注释请某人?是911。。。我现在需要它我会再次自我测试,今天回答你我想做这个命令,然后机器人会说请发送一个文件,我会发送一个txt文件,然后机器人会读取文件并将文件内容发送到同一频道,或者控制台会记录该文件的内容,没关系,我只是想让它工作。有什么想法吗?我真的需要帮助