我正在编写一个不和谐的bot,但目前我遇到了我以前从未使用过的东西,也不知道该怎么办
我尝试使用变量名,但这不起作用,因为它认为我正在JSON文件中查看它
Node.JS代码:
if (command == 'untrust') {
if (msg.author.id == '341761972142080002') {
const tUser = msg.guild.member(msg.mentions.users.first()) || msg.guild.members.get(args[0])
for(i = 0; i < trust.length; i++) {
if (trust[tUser.user["username"]].id === tUser.user.id) {
let splitter = trust[tUser.user["username"]].id
console.log(splitter)
} else {
console.log('not it');
}
}
}
fs.writeFile('./trusted.json', trust, (err) => {
console.log(err);
});
}
}
JSON:
{"discordaccountname1":{"id":"354405790645354499"}, "discordaccountname2":{"id":"354405790645354499"}}
我希望结果能够深入到JSON文件中,并使用变量名中的用户信息在JSON中找到路径,但是它无法做到这一点。
答案 0 :(得分:-1)
如果我正确理解了您的问题,则可以像这样使用bracket notation:trust[tUser.user.id]
(您应该始终存储ID而不是用户名)。
更新:
为了您的目的,应该像这样设置JSON文件:
{
'189855563893571595': ['1234', '5678']
}
这更具可读性,更易于使用。 trust[message.author.id]
只是他们信任的用户的数组。然后,您可以使用for
循环进行遍历。同样,请始终存储ID(静态)而不是用户名(动态)。