-
Notifications
You must be signed in to change notification settings - Fork 909
Configuration Guide
This guide will help you configuring your instance of SteamBot through the settings.json
file. This file is located in the same place as the SteamBot.exe
executable. A file named settings-template.json
is available to use as a go-by.
See the Installation Guide for details on building the SteamBot project.
In order to run SteamBot you need to configure your bots propertly. This is done by creating a settings.json
file located in the same place as the SteamBot executable or by renaming the settings-template.json
.
The settings file is formatted using [JavaScript Object Notation (JSON)] (http://www.json.org) and must adhere to the syntactic structure of the language. Therefore it is advised to base your configuration off of the provided template file.
Here is a copy the template file. This guide will describe each configuration option in the following sections.
{
"Admins":["234567"],
"ApiKey":"Steam API Key goes here!",
"mainLog": "syslog.log",
"Bots": [
{
"Username":"BOT USERNAME",
"Password":"BOT PASSWORD",
"DisplayName":"TestBot",
"ChatResponse":"Hi there bro",
"logFile": "TestBot.log",
"BotControlClass": "SteamBot.SimpleUserHandler",
"MaximumTradeTime":180,
"MaximumActionGap":30,
"DisplayNamePrefix":"[AutomatedBot] ",
"TradePollingInterval":800,
"LogLevel":"Success"
}
]
}
Admins
: An array of Steam Profile IDs (64 bit IDs) of the users that are an Admin of your bot(s). Each Profile ID should be a string in quotes and separated by a comma. These admins are global to all bots listed in the Bots
array.
ApiKey
: The API key you have been assigned by Valve. If you do not have one, it can be requested from Value at their Web API Key page. This is required and the bot(s) will not work without an API Key. The API Key should be a string in quotes.
mainLog
: The log containing runtime information for all bots. This is independent of the logs for each Bot.
-
Bots
: An array of dictionaries containing information about each individual bot you will be running. You can run multiple bots at the same time by having multiple elements in theBots
array. Each entry in theBots
array consists of the following values: -Username
: The Steam user name for this bot. It should be a string in quotes. (required) -Password
: The password for the Steam user associated with this bot. It should be a string in quotes. (required) -DisplayName
: The name the bot will present on Steam. It should be a string in quotes. (required) -ChatResponse
: This is the response the bot will provide when a user chats with it via Steam Friends. It should be a string in quotes. (required) -logFile
: The log file for this specific bot. It should be a string in quotes. (required) -BotControlClass
: The fully qualified class that controls how this specific bot will behave. Generally, this is a seperate file (ie.SimpleUserHandler.cs
) and has the same name as your class (without the trailing.cs
extension). It must be the fully qualified class (ie.SteamBot.SimpleUserHandler
). It should be a string in quotes. (required) -Admins
: Additional admins, specific to this bot. (optional) -MaximumTradeTime
: Maximium length of time for a trade session (in seconds). It should be a numeric value. Defaults to 180 seconds. (optional) -MaximumActionGap
: Length of time the bot will allow the user to remain inactive. It should be a numeric value. Defaults to 30 seconds. (optional) -DisplayNamePrefix
: A prefix to display in front of the DisplayName. It should be a string encloded by quotes. Defaults to an empty string. (optional) -TradePollingInterval
: Length of time, in milliseconds, between polling events. Higher values reduce CPU usage at the cost of a slower trading session. It should be a numeric value. Default is 800 ms. Lowest value is 100 ms. (optional) -LogLevel
: Detail level of bot's log. In order from most verbose to least verbose, valid options are:-
Debug
: Information that is helpful in performing diagnostics. -
Info
: Generally useful information such as start/stop, polling events, etc. (default) -
Success
: Events that have completed in an expected manner. -
Warn
: Potential application problems, but which have been automatically handled. -
Error
: Event that prevents the bot from continuing to function without corrective action. -
Interface
: Events that require user interaction, such as entering a Steam Guard code to complete a login. -
Nothing
: A log level that surpresses all previous levels. (not recommended)
-
- Rename
settings-template.json
tosettings.json
- Next you need to actually edit the bot to make it do what you want.
- You can edit the files
SimpleUserHandler.cs
orAdminUserHandler.cs
as they contains examples of most everything you need. Alternatively, you can subclassUserHandler
and create your own class to control bot behavior. If you do this, remember to modify theBotControlClass
setting in your configuration. Add your code to each of the events. Events are explained in code comments. - Look at the section below to see some useful information if you intend to create your own
UserHandler
.
546