我如何让我的机器人在 .JSON 文件 discord.js 中写入多行 [重复]
Posted
技术标签:
【中文标题】我如何让我的机器人在 .JSON 文件 discord.js 中写入多行 [重复]【英文标题】:How would I have my bot write multiple lines in a .JSON file discord.js [duplicate] 【发布时间】:2020-10-22 11:46:50 【问题描述】:这是我的代码:
const Discord = require('discord.js');
const client = new Discord.Client();
const fs = require('fs');
client.msgs = require ('./archives.json')
client.once('ready', () =>
console.log('Hi!')
)
client.on("message", async message =>
if (message.content.startsWith ("*archive"))
editedmessage = message.content.slice (8);
client.msgs [message.author.username] =
message: editedmessage
fs.writeFileSync ("./archives.json", JSON.stringify (client.msgs, null, 4,
message.channel.send("Message archived")
));
)
我的目标是让机器人从同一个人那里写入多个项目,而不是覆盖它。我该怎么做呢?对不起,如果我的代码看起来很乱或什么的。
【问题讨论】:
【参考方案1】:-
使用
fs.open()
打开一个文件。这会给你一个文件句柄,你可以给它一个附加a
的选项。
使用您打开的文件句柄,使用fs.write()
反复使用它。
确保您只运行了 1 个节点进程来执行此操作。如果您同时打开应用程序的多个实例,文件可能会损坏。
您可能想查看 Node.js fs
promises API。使用 async/await 与回调来编写这个更容易:
https://nodejs.org/dist/latest-v14.x/docs/api/fs.html#fs_fs_promises_api
【讨论】:
以上是关于我如何让我的机器人在 .JSON 文件 discord.js 中写入多行 [重复]的主要内容,如果未能解决你的问题,请参考以下文章