如何在文件中存储有关用户的信息,然后阅读和修改它们

问题描述 投票:0回答:2

我正在尝试构建一个用户可以通过命令更新机器人消息的频道。该通道将如下工作:如果X发送+ Item,机器人将“Item”添加到链接到用户的数组,稍后将其写入文件。为了构建消息,机器人读取文件并写入与用户相关的数组元素。我怎样才能使数组与用户相关联,例如通过id,以便我可以读取它?

谢谢您的帮助

javascript node.js discord
2个回答
1
投票

如果您不知道,您可以通过message.author.id获取发件人的ID,其中messageMessage对象。

您可以找到一些节点API来帮助您。

否则,您只需创建一个字典,并将用户ID作为键值。你可以看看herehere。 (这些中的任何一个都可以工作。这也可以帮助:clickme!,或者你可以谷歌周围更多。)

存储到文本文件并维护数据的风险更大。如果你能找到一些简化过程的API,那就好了。

但是,如果替代方案,您可以将数据存储到文本文件,就像字符串存储在程序中一样。 (查看有关如何存储和读取字符串的数据结构。)

基本上,假设您有2个用户,每个用户2个元素。您在textfile中的数据将如下所示:

user1-ID
element1
element2
NULL-VALUE
user2-ID
element1
element2
NULL-VALUE

基本上每当你想从文本文件中读取时,只需告诉你的程序搜索相应的UserID,并读取元素直到它达到NULL-VALUE。一旦它到达那里,你的程序就会停止阅读它。

(当然你可以使用NULL-VALUE以外的其他东西,这是一个例子。我建议你的元素用括号括起来。因为有些用户可能会在命令争论中输入NULL-VALUE,这会造成一些麻烦。)


0
投票

我最终使用了一个JSON目标文件,并使用list [id]读取属性,因为该id是一个字符串。我以这种方式设置文件:

{"id1" : ["element1", "element2"], "id2": ["element3"]}

通过这种方式,我可以读取存储在文件中的数据,并通过简单地用fs模块写入对象来编写修改后的值。

© www.soinside.com 2019 - 2024. All rights reserved.