This script is designed to log a bot into a Steam account and set the bot's persona and game status. It also includes features for receiving and responding to friend messages, tracking the time the bot has been farming, and detecting and handling disconnections from Steam.
A Steam Bot Idler is a tool that can be used to accumulate virtual playing time on various Steam games. This process, known as "farming hours," allows users to boost their in-game achievements or to simply increase the amount of time they have spent playing a particular game.
readline: Provides an interface for interacting with the command-line interface (CLI).
steam-user: Enables interaction with the Steam network and API.
steam-totp: Generates time-based one-time passwords (TOTPs) for use with Steam's two-factor authentication (2FA) system.
The following values must be specified in the config/cfg.js file:
username: The bot's Steam username (Not display name).
password: The bot's Steam password.
sharedSecret: The shared secret for the bot's Steam 2FA (If present).
playing: The games that the bot will be marked as playing (APPIDs sepparated by commas).
state: The bot's persona state. Must be one of the following values: Offline, Online, Busy, Away, Snooze, Looking to trade, Looking to play, Invisible.
To install the bot, you will need to clone or download the repository and then run the following command inside the folder:
npm i
This will install the required libraries for the bot to work (You will need to have node.js installed for this to work).
To start the bot, run the following command:
node bot.js
The script has a CLI implemented for user input.
To exit the script, enter one of the following commands: quit, exit or logoff.
To check the total time farmed enter the following command: farmed.
Upon successful authentication, the bot will set its persona state and game status as specified in the configuration file.
When a friend message is received, the bot will retrieve the sender's display name and log the message to the console.
If the bot is disconnected from Steam, a message will be logged to the console with the Error Code and Message (If present),
it will auto-reconnect.
When the script is exited, the total time that the bot was farming will be displayed.