我想在不和谐频道中发送文件,机器人将读取该文件

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

!read (file)

机器人会记录该文件的内容或将其发送为

message.channel.send(content)

我尝试了一些东西,但它们不起作用。

这是我尝试过的代码:

const Discord = require("discord.js");
const fs = require("fs")
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();
                        let file21 = collection.attachments;
                        message.channel.send(file21)
                          fs.readFile(file21,(err,data) => {
                          message.channel.send(data);
  });
                       
                })
              
                
}

但是它没有用.. 有人可以帮我吗?

jlgrt 回答:我想在不和谐频道中发送文件,机器人将读取该文件

您无法将附件作为文件读取。您需要从url获得此附件。 其使用节点请求库的一种方式

    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 = require("discord.js");
const fs = require("fs")
var request = require('request');
module.exports.run = async(client,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,errors: ['time']})
                .then(collected => {
                        let collection = collected.first();
                        if(!collection.attachments) return
                        request.get(collection.attachments.url,body) {
                        if (!error && response.statusCode == 200) {
                            let data = body;
                          console.log(error)
                          console.log(response)
                          console.log(body)
                          console.log(data)
                            }
                        });

                })
                .catch(console.error)
}

这是即时通讯正在使用的新代码,因此无法正常工作。

本文链接:https://www.f2er.com/2753667.html

大家都在问