const SteamUser = require('steam-user');
const SteamTotp = require('steam-totp');
const log = require('../utils/logger');
/* Import Config User */
const config = require('../../config/default.json');
const initClient = (client) => {
try {
client.logOn({
accountName: config.UserID,
password: config.UserPass,
twoFactorCode: SteamTotp.generateAuthCode(config.SharedSecret),
identity_secret: config.IdentitySecret,
shared_secret: config.SharedSecret,
rememberPassword: true
})
} catch (err) {
log.error(err);
}
};
const restart = (client) => {
log.warn('Restarting..')
if (!client.steamID) {
init(client)
} else {
client.relog();
}
}
function webLogin(client) {
log.warn('Sessions expired.. Relogging..');
try {
client.webLogOn();
} catch (e) {
log.error(e);
}
}
const checkClient = (client, community) => {
setInterval(() => {
community.loggedIn((err, loggedIn) => {
if (err) {
log.error(err);
if (
err.message.indexOf('Socket hang up') > -1 ||
err.message.indexOf('ESOCKETTIMEDOUT') > -1
) {
webLogin(client);
} else {
restart(client);
}
} else if (!loggedIn) {
webLogin(client);
} else {
client.requestRichPresence(SteamUser.EPersonaState.Online);
client.gamesPlayed(['Under Maintenance', 730])
}
});
}, 1000 * 60 * 15);
};
module.exports = {
initClient,
restart,
webLogin,
checkClient
}
so