Почему fs.writeFile не работает на GitHub? - PullRequest
0 голосов
/ 27 мая 2020

У меня есть собственный бот с системой экономии. Есть рулетка "! Flip", пользователь может поставить свои монеты, они хранятся в (../coins.json). Когда я запускаю бота с компьютера (индекс узла. js), все работает нормально , бот сам меняет баланс пользователя через несколько секунд, но когда я загружаю его на GitHub и запускаю, бот сначала работает нормально, баланс сохраняется, но после перезапуска все пропадает, в монеты не записывается. json файл, как это исправить?

const Discord = require("discord.js");
let coins = require("../coins.json");
const fs = require('fs');
const prefix = "!";

module.exports.run = async (bot, message, args) => {

  let prefix = "!";

  if (!message.content.startsWith(prefix)) return;

  let random = Math.floor(Math.random() * 100) + 1;

  let bal = parseInt(coins[message.author.id].coins); // Convert user's balance to number type

  if (bal < parseInt(args[0])) return message.channel.send(`${message.author}, Not enough coins!`)

  if (random >= 70) {

  let win = new Discord.MessageEmbed()
  .setDescription(`${message.author}`)
  .addField(`You Won! ?`, `Number: ${random}`)
  .setColor("GREEN")
  message.channel.send(win)

    coins[message.author.id] = {
      coins: parseInt(coins[message.author.id].coins) + parseInt(args[0])
    }
    fs.writeFile("../coins.json", JSON.stringify(coins), (err) => {
      if (err) console.log(err)
  })
  };

  if (random < 70) {

    let lose = new Discord.MessageEmbed()
    .setDescription(`${message.author}`)
    .addField(`You Lose! ?`, `Number: ${random}`)
    .setColor("#CB2E2E")
    message.channel.send(lose)

    coins[message.author.id] = {
      coins: parseInt(coins[message.author.id].coins) - parseInt(args[0])
    }
    fs.writeFile("../coins.json", JSON.stringify(coins), (err) => {
      if (err) console.log(err)
  })
  }
 };

module.exports.help = {
  name: "flip"
}

1 Ответ

0 голосов
/ 27 мая 2020

Поскольку я еще не могу комментировать, я спрашиваю вас вот так ... Как вы запускаете этот проект из Github? Поскольку GitHub не является средой выполнения node.js, я думаю, вам нужно развернуть свое приложение на что-то вроде Heroku или VPS.

Если вы делаете это с помощью действий Github, вы не может редактировать файлы с файловой системой node.js. Вы можете сделать это с внешней базой данных, но я не рекомендую загружать учетные данные вашей базы данных в Github.

...