Steam Desktop Authenticator is a desktop implementation of Steam’s mobile authenticator app. Which you can use if you for example do not have a phone, or if you need easy access to your account secrets for a bot account.
You can download it here
You can find your shared_secret
and identity_secret
by going to your Steam Desktop Authenticator folder, then into the maFiles
folder. Here you will find account files. Find the one with your steamID and open it.
If you are unable to read anything, your file is likely encrypted. Check out Decrypting and Encrypting below.
If it is not encrypted, simply copy and paste the shared_secret
and identity_secret
into your bots ecosystem.json
or .env
file. Depends on which one you are using.
If your file is encrypted, meaning the contents probably look something like AJHSASJLDHASKLJHD87ASDASLNJ3S...
, you can decrypt it by opening Steam Desktop Authenticator, clicking Setup Encryption
on the top right, enter your passkey and then click Accept
2 more times, without entering in a new passkey.
Now re-open your maFile. You should be able to get your secrets now.
For your information, every time the bot bought/sold any items, it will run a check on the price list whether a listing for that item already been created or removed. When your bot did not put an item that it bought to sell, it’s probably because Backpack.tf still did not fully load your items in their item server. If you see your bot backpack and the item already appeared, make sure it’s not in Using Fallback status, or you can try to send !refreshlist
to your bot, which your bot will execute checks on all items that it has and create sell orders for the missing items. If it’s still not working, then try restarting your bot.
We don’t have enough information regarding this issue. It could be a rate-limit with backpack.tf when your bot updating prices on a lot of items. The only way to solve this issue is by restarting your bot, or just let it recover by itself.
An experiment conducted by @SkiLEXx that show the effect of Backpack.tf listings count on time. The timezone is CET (GMT +01:00).
Based on the results above, you're about to expect that this will happen sometimes. Most autoprice=true items will be affected by this kind of listings disappearing, because at some point prices.tf burst to update multiple items prices and maybe got rate-limited on backpack.tf.All craft weapons listed here and uncraft weapons here (if you set miscSettings.weaponsAsCurrency.withUncraft
to true
) are counted as 0.05 ref IF you set miscSettings.weaponsAsCurrency.enable
as true
and you did not add that particular item in your price list.
If you set miscSettings.weaponsAsCurrency.enable
to true
AND you manually add and set the price, it will not count as 0.05 ref, instead will follow your manually set prices.
If you set miscSettings.weaponsAsCurrency.enable
to false
, then all of that craft/uncraft weapons will not be priced if you not manually set the prices.
If someone sent an offer with wrong values, any items that are not in the pricelist, items that already reached maximum stock and etc, and manualReview.enable
is set to true
, then you should expect this to happen.
Some descriptions of each reason:
The value of your side (Asked) and the trade partner side (Offered) and not equal or more. If you want to automatically decline any offer that ONLY has this reason, you need to set offerReceived.invalidValue.autoDecline.enable
to true
. You can also set an exceptional value for an offer with this reason to be accepted by filling the item sku(s) in the offerReceived.invalidValue.exceptionValue.skus
array and set the offerReceived.invalidValue.exceptionValue.valueInRef
value. Find more about it here.
Some of their items might already in your bot inventory and will reach or have already reached maximum stock if you accept the trade. The bot will automatically accept overstocked offers by default if the trade partner is overpaying. If you don't want this, simply set offerReceived.overstocked.autoAcceptOverpay
to false
. If you want your bot to automatically decline any offer that ONLY has this reason, you'll need to set offerReceived.overstocked.autoDecline.enable
to true
.
Some of our items will be less than the minimum stock if you accept the trade (if you set the item minimum to other than 0). Your bot will automatically accept understocked offers by default if the trade partner is overpaying. If you don't want this, simply set offerReceived.understocked.autoAcceptOverpay
to false
. If you want your bot to automatically decline any offer that ONLY has this reason, you'll need to set offerReceived.understocked.autoDecline.enable
to true
.
Some of the items are not in your bot price list. If you have used tf2-automatic
before, any 🟨_INVALID_ITEMS
items will not be priced (0 keys, 0 ref value), but TF2Autobot
will get the price of that particular item from prices.tf and price it by default. You can disable this feature by changing the offerReceived.invalidItems.givePrice
default value to false
. Your bot will also accept invalid items offers by default if the trade partner is overpaying (set offerReceived.invalidItems.autoAcceptOverpay
to false
if you want to disable it).
Don't worry, if your bot has accepted any 🟨_INVALID_ITEMS
, your bot will mention you (if you enable Discord Webhook for trade summary), AND your bot will automatically add that particular item(s) to the pricelist with intent=sell
(if and only if the items are priced with prices.tf).
The setting for this can be found here. offerReceived.duped.enableCheck
is set to true
by default. If some items the trade partner is/are offering more than offerReceived.duped.minKeys
value, then your bot will run a duped check on that particular item. If it's found that it's duped, then you should expect your bot to send this to you. If you want to decline duped items that are more than the manualReview.duped.minKeys
value, simply set the offerReceived.duped.autoDecline.enable
to true
.
This might occur if the item is not fully loaded by backpack.tf, which the history page of that particular item is not available.
This can occur when the Steam Client is down. It's temporary but if the trade partner keeps on sending it, you might just manually accept it. Escrow means trade holds, in which your and their items will be held to the Steam items server for some period of time. If you don't care about Escrow, simply set bypass.escrow.allow
to true
.
This can occur when Steamrep.com or backpack.tf is down. This is temporary and will be back in operation when Steamrep.com or backpack.tf is online. You will need to manually browse the trade partner backpack.tf page to see if that person is banned on Steamrep or not. If you just blindly accept the trade, your bot has the potential of getting banned from using backpack.tf services.
If you add your items using tf2-automatic-gui while your bot is running, then this might be the cause of the problem. Adding items while your bot is still running will cause the items added will not be priced correctly (see this) and will not list it on backpack.tf. One way of fixing this issue is to send !update all=true&autoprice=false
and then send !update all=true&autoprice=true
to your bot and it will fix the prices.
Please make sure to stop your bot when you’re replacing your pricelist.json
from the tf2-automatic-gui config folder to your bot files folder, or if you change the path of the tf2-automatic-gui, make sure your bot is not running when you’re using it.
All settings for custom messages can be found here.
When you’re applying your custom messages, make sure to always obey the JSON format. You can not add a new line with ENTER
, but instead you’ll need to add \n
for the new line. The \
symbol is called escape characters. Another important escape characters are:
\n
- new line
\"
- double quote
\\
- backslash
What it looks like in your options.json file: options.json
"customMessage.success": "/quote ✅Success! The offer went through successfully. Want a bot like this? Visit: https://github.com/idinium96/tf2autobot and join our Discord Server: https://discord.gg/ZrVT7mc\n\nFeel free to leave +rep!\nSteam: https://steamcommunity.com/id/IdiNium-Fumino/\nThanks!",