Persistently Saving Data in Replit

I am simply said trying to create a bot, this bot will receive user input and needs to store some information on user interactions persistently, even after the bot (Replit) restarts.
The structure in mind is too complicated for the Replit-Database, plus I don’t want to deal with databases in general if I can simply create an object that holds the structure of information I want anyways, and save that into a file which will be used by the bot for read/write purposes.

Now the question is, can I do this in Replit.
More precisely, have a file inside of Replit IDE (because none of it is local on my PC and shouldn’t need to be) in which I can save/update objects in and then in the future read this data even if the Bot is restarted.

File changes are persistent in Replit, yes.

Well I had attempted to do a simple test of this.
I had a file in the IDE that contained a single variable that was initialized to 0;
I would then increment this variable whenever the a command was called and reply with the current count of the variable.
However this didn’t seem to work and I always receive NaN as a result. So I’m probably doing something wrong here. Because I’ve been able to execute functions from different files like this, but don’t seem to have access to the variable or cant read from it?

Here is the dummy code

index.js:

const CountTest = require(“CountTest.js”);

if( messageContains(command[0]) ) {
CountTest.CommandCounter += 1;
messageReply("Current Command Count: " + CountTest.CommandCounter);
}


CountTest.js:

let CommandCounter = 0;

module.exports = { CommandCounter };

Well obviously the variable itself will not retain its value as that’s stored in memory. You’ll need to use a file/database to retain information

Yes that is what I originally thought, hence the question.
I wanted to know if I could store data in a file in Replit persistently?
And if that is not the case any alternatives other than Databases?

You can store it in a file

Alright and finally, is there a way to store data ‘in a file’ ‘in Replit’ without having stored locally on my machine?
Or does it have to be locally stored (or on a drive or whatever, but the point is if it needs to be outside of Replit).

You can just have a file in Replit like data.txt or whatever

Right ut as you said, the variable itself cannot be stored in the file as it will not be retained. So is there a way to get around that within Replit, since I plan to save the interactions into an array. And wan the array to store this data persistently without having to store it outside of Replit. Hope that is a bit more clear.

You can store the data in a file and then read it into your variables when you run the program

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.