让discord js bot制作一个包含code/txt的文件

Make discord js bot make a file with code/txt in it

我想知道我有一个 eval 命令,有时输出文本很长我想知道如何将输出放入机器人生成的可下载文件中。

这是评估代码 https://hastebin.com/etisujoneq.js 你能告诉我怎么做吗 it/add 如果我想再次使用它,你能给我一般的代码吗?

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



module.exports.run = async (client,message,args) => {
    let role = message.guild.roles.find(r => r.name === "BanBot");
    if(message.member.roles.has(role.id)) return message.channel.send("Can not use this commnad!");
    var kitty = message.guild.members.find("id", "131417543888863232");
    if (message.member !== kitty)return message.channel.send("**Hey, `" + message.author.username + "` You Can't use eval only spoodercraft can!**");

const clean = text => {
  if (typeof(text) === "string")
    return text.replace(/`/g, "`" + String.fromCharCode(8203)).replace(/@/g, "@" + String.fromCharCode(8203));
  else
      return text;
}
//
if(!message.member.hasPermission("VIEW_AUDIT_LOG")) return message.channel.send("No permissions!");
//


    try{
      const code = args.join(" ");
      let evaled = eval(code);

      if (typeof evaled !== "string"){
        evaled = require("util").inspect(evaled);
      }

    if (evaled.includes(client.token)){
        evaled = evaled.replace(client.token, "THATS MY PRIVESSEESEES NO! AND I MEAN NO! \n\ YOU GET I WILL CALL THE COPS ");

        if (evaled.includes(client.token)){
            evaled = evaled.replace(client.token, "THATS MY PRIVESSEESEES NO! AND I MEAN NO! \n\ YOU GET I WILL CALL THE COPS ");
        }   
    }

    let embed = new Discord.RichEmbed()
    .addField(`Input`, "***```" + code + "```***", true)
    .addField(`Output`, `\`\`\`python\n${evaled}\`\`\``,)
    .setColor("#cb36ed")//
    .setTimestamp()



message.channel.send(embed).then(msg => {msg.delete(25000)});

    } catch (err) {
    message.channel.send('``Error``\n ```'+ clean(err) +'```').then(msg => {msg.delete(25000)});
    }    
}
module.exports.help = {
    name: "eval"
}

我看过 discord.js 并查了很多,但我不知道。

谢谢你帮助我:D

检查 <string>.length 是否大于 2000(或稍小)。

我觉得更好的方法是让它创建一个 hastebin,因为您可以发送 hastebin link,这样可以节省您的时间。

您可以使用 https://www.npmjs.com/package/hastebin-gen 创建 hastebin,然后使用返回的 r 变量作为 link。

伪代码

if(<string>.length > 2000) {
  hastebin(<code>, "js").then(function(r){
    return message.channel.send(r)
  })
}