自动将文件上传到Discord频道

时间:2018-10-31 14:54:19

标签: node.js

因此,我正在尝试使用Discord.js npm模块编写一个Discord selfbot(例如,使用您的令牌从您自己的Discord帐户编写内容的机器人),到目前为止,我仅出于以下目的进行操作:每隔一定的时间间隔写东西。

我已经成功地设法将其发送给垃圾邮件随机单词(使用random-words npm模块)以及某些文本文件的内容。最后阶段是让它在每个设置的时间间隔内将某个文件夹中的随机文件上传到该频道。我该怎么办?

到目前为止,我的代码(令牌值和服务器/通道ID被隐藏,自然是:P)

const discord = require("discord.js");

const TOKEN = "";

const bot = new discord.Client();

var fs = require("fs")
var fileContent = fs.readFileSync("text.txt", "utf8");
fileContent=fileContent.split("\n");
var ind=0

bot.on("ready",()=>{
    console.log("Ready!");
    var server = bot.guilds.find("id","")
    var chan = new discord.TextChannel(server,{"id":""});
    bot.setInterval(()=>
    {
        chan.send(fileContent[ind%fileContent.length]).then(msg=>{
            console.log(msg.content); ind++;
        });

    },5000);
})

bot.login(TOKEN);

当前文本文件内容发送功能不必保留。实际上,理想情况下,我只希望该机器人具有自动文件上传功能。

1 个答案:

答案 0 :(得分:0)

您可以使用glob库在指定文件夹中查找所有文件的列表,然后 从 Discord.js - stable release - textChannel#send() 您通过以下方式发送文件

var glob = require("glob")

glob("*", {cwd: __dirname + "/folder"}, function (er, files) {
  // files is an array of filenames.
  // er is an error object or null.
  channel.send({
    files: files.map(filePath => ({
      attachment: filePath,
      name: "whateveryouwant"
    }))[Math.floor(Math.random() * files.length)]
  })
  .then(console.log)
  .catch(console.error);
})