Hello,
I have some bots that I created for fun, which run on node.js code as well as ASF.
My problem is that everytime my server restarts, ASF and the node.js scripts try to login at the same time, which gives me some "code expired" error, because the same 2fa code is used twice by ASF and my node.js script.
Right now, when that happens, it prompts me for "2fa login code" in the script window. Is there any way to skip that prompt, and "force" 2fa to retry 30 seconds later if the code is expired or gives any kind of error ?
I've already tried some stuff out, which didn't work at all, which is why I came here to ask for some help.
Here is the basic code I use for login :
const logOnOptions = {
accountName: config.username,
password: config.password,
twoFactorCode: SteamTotp.generateAuthCode(config.sharedSecret),
rememberPassword: true
};
client.logOn(logOnOptions);
client.on('loggedOn', () => {
console.log('succesfully logged on with version '+config.version+');
client.setPersona(1); //"0": "Offline", "1": "Online", "2": "Busy", "3": "Away", "4": "Snooze", "5": "LookingToTrade", "6": "LookingToPlay"
client.setUIMode(3); //"None": 0, "BigPicture": 1, "Mobile": 2, "Web": 3
client.gamesPlayed(config.customGamePlayed)
if (config.debugMode == true) {
console.log("DEBUG MODE IS ACTIVE !")
}
});
Thanks for reading ! Hopefully there's a way to achieve what I want to do.
(People already advised me to just add some delay before my code starts so it doesn't "collide" with ASF : This solution is kinda useless, because this problem usually happens when there are steam downtimes, when every account is reconnecting at the end of the outage. so delay wouldn't work since script is already launched in that case)