Disord Bot阅读单行,然后将其删除

时间:2020-04-23 16:24:31

标签: javascript discord.js fs

我正在构建一个机器人,该机器人将值存储在.txt文件中,每行一个代码。 现在,我只想获取txt文件的一行,然后删除该行。

它不起作用,我不知道如何删除一行然后写一个新文件

bot.on("message", message=>{

    let args = message.content.substring(prefix.length).split(" ");



    switch(args[0]){

         case "code": 
         let codetext = message.content.replace(prefix + "code", "")

        fs.appendFile("./text.txt", codetext + "\n",(err)=>{
            if (err) throw err;
                  message.channel.send("message written")
          })
        break;
        case "getcode":

        let getcode = fs.readFileSync("./text.txt", "utf8", (err)=>{
            if (err) throw err;
        })
        var code_array = getcode.split("\n")
        message.channel.send(code_array[0])

        }    
    });

1 个答案:

答案 0 :(得分:0)

您已经制作了一个数组,因此只需要删除要删除的元素,然后重写剩下的文件,覆盖旧文件即可。有几种方法可以执行此操作,以下所有操作都会更改原始数组:

删除最后一个元素并返回删除的内容。

let popped = code_array.pop()

删除第一个元素并返回删除的内容。

let shifted = code_array.shift()

从元素索引2(第3个元素,从0开始!)开始删除3个项,并返回删除的数组。

let spliced = code_array.splice(2, 3);