使用 FS 和 Discord.JS 刷新数据库

Posted

技术标签:

【中文标题】使用 FS 和 Discord.JS 刷新数据库【英文标题】:Database Refreshing Using FS and Discord.JS 【发布时间】:2020-08-16 09:04:23 【问题描述】:

所以我有这个代码:

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();


但是有一个问题... ***完成旋转后数据库没有刷新。因此,如果我执行命令检查我所拥有的资金,我仍然拥有启动机器人之前的资金。我想知道怎么刷钱!请尽快帮助我...

【问题讨论】:

【参考方案1】:

我替换了这个:

let userInfo = db[message.author.id];
  userInfo.money = userInfo.money + result

通过这个:

db[message.author.id].money = db[message.author.id].money + result

现在它可以工作了。

【讨论】:

以上是关于使用 FS 和 Discord.JS 刷新数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何在 discord.js 中使用 FS 将richEmbed 保存到文件中?

Discord.js 备份 json 文件

FS 事件 Message.js 在 Discord.js v12 中不起作用

Discord.js / Node.js FS - 在同一会话中重新加载文件?

读取文件附件(例如;.txt 文件)- Discord.JS

Discord.JS Purge.js 命令问题