node.js - 使用 FS 和 Discord.JS 刷新数据库
问题描述
所以我有这个代码:
const Discord = require('discord.js');
const fs = require('fs');
const client = new Discord.Client();
let db = JSON.parse(fs.readFileSync("./database.json", "utf8"));
module.exports.run = async (bot, message, args) => {
const dawaeEmbed = new Discord.MessageEmbed()
.setColor(0xD4AF37)
.setTitle(message.author.username + " fait tourner la roue de la fortune \:\o")
.setImage('https://images-ext-2.discordapp.net/external/HsKDQ0E_aFmmt_y1C0MGjAtkkHEtJqvSgVVC6BEpcBI/https/cdn.zerotwo.dev/INTERNAL/WOF.gif')
.setFooter('J\'adore les commandes de Ikari :D');
var result = Math.floor(Math.random() * (983 - 42 + 1)) + 42;
const dawaeEmbed2 = new Discord.MessageEmbed()
.setColor(0xD4AF37)
.setTitle(message.author.username + ` a gagné ${result} 〷 grâce à la roue ! ✨`)
.setImage('https://images-ext-1.discordapp.net/external/0MadJ_5x3-sYSU-8p88EDiks0ieAendhBg5sMSh_RCI/https/cdn.zerotwo.dev/INTERNAL/MONEY.gif')
.setFooter('J\'adore les commandes de Ikari :D');
spining = await message.channel.send(dawaeEmbed)
setTimeout(() => {
// Edit msg 20 seconds later
spining.edit(dawaeEmbed2);
}, 5000);
if (!db[message.author.id]) db[message.author.id] = {
money: 0
};
let userInfo = db[message.author.id];
userInfo.money = userInfo.money + result
fs.writeFile("./database.json", JSON.stringify(db), (x) => {
if (x) console.error(x)
});
message.delete();
}
但是有一个问题... 轮子转完后数据库没有刷新。因此,如果我执行命令检查我所拥有的资金,我仍然拥有启动机器人之前的资金。我想知道怎么刷钱!请尽快帮助我...
解决方案
我替换了这个:
let userInfo = db[message.author.id];
userInfo.money = userInfo.money + result
这样 :
db[message.author.id].money = db[message.author.id].money + result
现在它可以工作了。
推荐阅读
- aframe - 使用 A 帧流式传输 MJPG
- html - 如何防止文本在选择框中被截断?
- android - 如何在 Google Photos 中实现共享底部表
- javascript - 用javascript检测设备制造商(即手机品牌)
- facebook-ads-api - 测试 Facebook 应用的 ads_management 权限
- jquery - 将 Typed.JS 与 Express 一起使用
- java - 使用 ImageView 以及底部的自定义布局构建 CollapsingToolbar
- amazon-web-services - 如何将 S3 存储桶的访问限制为来自我的 EKS 集群的流量?
- jquery - jQuery GET 请求适用于本地主机,但不适用于生产
- ms-office - 如何调试 Microsoft Excel 加载项/插件清单文件