【问题标题】:Make discord js bot make a file with code/txt in it让 discord js bot 创建一个包含 code/txt 的文件
【发布时间】:2018-06-30 15:38:05
【问题描述】:

我想知道我有一个 eval 命令,有时输出文本太长我想知道如何使输出进入机器人制作的可下载文件。

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

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

【问题讨论】:

    标签: bots discord discord.js


    【解决方案1】:

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

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

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

    伪代码

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

    【讨论】:

      猜你喜欢
      • 2020-08-26
      • 2021-04-07
      • 2021-11-06
      • 2017-02-17
      • 2019-05-17
      • 2013-10-28
      • 2023-01-31
      • 2020-05-02
      • 1970-01-01
      相关资源
      最近更新 更多