You can use the config generator located here (credit to @Bonfire) if itโs your first time using the bot.
It will guide you through the configuration and give explanations. You can also read about the individual settings later on this page.
Once you selected everything on the config generator to your liking, you can download the options.json
file and replace the default options.json
which was created when running your bot for the first time.
The file can be found in ~/tf2autobot/files/<STEAM_ACCOUNT_NAME>/
folder.
Only for advanced users:
If you havenโt started the bot yet, you will have to create the directory yourself which is only advisable for advanced users because it can lead to mistakes.
Inside the root directory created a folder called files
and inside that folder create another one called your_bot_steam_username
(so the login name that you use to sign into steam). There you can copy the options.json file obtained from the config generator or use the template from here
.
If you donโt want to use the config generator for the initial setup of your options.json
file you can do it manually.
To do so you can either start up the bot for the first time, which will create your options.json
file located in ~/tf2autobot/files/<STEAM_ACCOUNT_NAME>/
folder and then edit this file yourself by using the explanations for the variables on this page.
Or if you are an advanced user you can obtain the template from here
and continue to create the appropriate folders using the method described above.
After the initial setup and creation of your options.json
file you might want to edit some things. You can do so by opening the file and editing the variables.
Remember:
This file was generated after you ran your bot for the first time. The file can be found in ~/tf2autobot/files/<STEAM_ACCOUNT_NAME>/
folder.
Click here
to view the content.
{
"object1": "valueObj1",
"object2": "valueObj2",
"object3": {
"property1_Obj3": "valueProperty1_Obj3",
"property2_Obj3": {
"property1_Prop2_Obj3": "valueProperty1_Prop2_Obj3"
}
}
}
object1
, itโs simply just object1
property1_Obj3
, it will be object3.property1_Obj3
property1_Prop2_Obj3
, it will be object3.property1_Obj3.property1_Prop2_Obj3
{
"autokeys": {
"enable": false, // autokeys.enable = false
"minKeys": 3, // autokeys.minKeys = 3
"maxKeys": 15, // autokeys.maxKeys = 15
"minRefined": 30, // autokeys.minRefined = 30
"maxRefined": 150, // autokeys.maxRefined = 150
"banking": {
"enable": false // autokeys.banking.enable = false
},
"scrapAdjustment": {
"enable": false, // autokeys.scrapAdjustment.enable = false
"value": 1 // autokeys.scrapAdjustment.value = 1
},
"accept": {
"understock": false // autokeys.accept.understock = false
}
}
}
miscSettings
sendAlert
pricelist
bypass
tradeSummary
steamChat
highValue
normalize
details
...
.highValue
.uses
statistics
...
.sendStats
autokeys
crafting
offerReceived
manualReview
...
discordWebhook
customMessage
...
commands
...
detailsExtra
...
Parent property key: miscSettings
Property: .showOnlyMetal
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
If this is set to false , the bot will show all prices in the format of [x keys, y ref] . Example: (5 keys, 10 ref) . If this is set to true the bot will instead show all prices in the format of [x ref] . Example: (260 ref) . |
Property: .sortInventory
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
If set to false your bot will not automatically sort its own inventory. |
.type |
number |
3 |
By default, your bot will sort inventory by rarity . Other options are 1 - by name, 2 - by defindex, 3 - by rarity, 4 - by type, 5 - by date, 101 - by class, 102 - by slot. |
Property: .createListings
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
If set to false , your bot will not list items for trade while it is running (if changed while your bot is running, this wont work unless restarted). |
Property: .addFriends
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
If set to false , your bot will not allow others to add it as a Steam friend (except admins). FALSE IS NOT RECOMMENDED! |
Property: .sendGroupInvite
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
If set to false , your bot will not invite people to join Steam groups. |
Property: .autobump
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
If set to true , your bot will re-list all listings every 30 minutes. NOTE: DEPRECATED - The bot will fail to re-list items if Backpack.tf website is down for maintenance or experiencing major outage. Please consider donating to Backpack.tf or purchase Backpack.tf Premium to enable automatic listing bumping. |
Property: .counterOffer
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
By default, your bot will automatically attempt to counter an offer with only ๐ฅ_INVALID_VALUE error/reason |
.skipIncludeMessage |
boolean |
false |
If set to true , if someone sent an offer with incorrect value but they include offer message, the offer will not be automatically countered but will skip for your review instead. |
Property: .skipItemsInTrade
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
By default, when your bot is constructing an offer (trade partner buy/sell through command), your bot will skip any items that are currently in another active trades. Set this to false if you want to disable this feature. |
Property: .weaponsAsCurrency
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
If set to false , your bot will not value craft/uncraft weapons as currency (0.05 refined). |
.withUncraft |
boolean |
true |
If set to false , your bot will exclude uncraft weapons as currency (0.05 refined). |
Property: .checkUses
Option | Type | Default | Description |
---|---|---|---|
.duel |
boolean |
true |
If set to false , your bot will buy Dueling Mini-Games regardless of how many uses are left. Otherwise, it will only accept full Dueling Mini-Games (5 uses left). |
.noiseMaker |
boolean |
true |
If set to false , your bot will buy Noise Makers regardless of how many uses are left. Otherwise, it will only accept full Noise Makers (25 uses left). |
Property: .game
Option | Type | Default | Description |
---|---|---|---|
.playOnlyTF2 |
boolean |
false |
Set to true if you want your bot to only play Team Fortress 2. Setting this to true will ignore the below Option. |
.customName |
string |
"" |
Name of the custom game youโd like your bot to play. Limited to only 60 characters. Example: Click here |
Property: .alwaysRemoveItemAttributes
Sub-property: .customTexture
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set to false if you donโt want your bot to remove any custom texture (or image) applied to the decalable items (Conscientious Objector, Clan Pride, Photo Badge, Flair!). |
Property: .deleteUntradableJunk
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
false |
If set to true , your bot will automatically check if seasonal items exists in your bot inventory and delete them on start (Read: #1049). |
property: .reputationCheck
Option | Type | Default | Description |
---|---|---|---|
.checkMptfBanned |
boolean |
false |
This is especially for Marketplace.tf whitelisted sellers, which stated in the Seller Terms & Conditions that โYou will not trade with MarketplaceTF banned users, including any bots they may ownโ. |
.reptfAsPrimarySource |
boolean |
false |
Set this to true if you want your bot to get reputation data from rep.tf . Do note that rep.tf has been quite slow nowadays, so itโs recommended to always set this to false . If you set the .checkMptfBanned to true and this to false , please make sure to fill in the MPTF_API_KEY in your enviromental file. |
Parent property key: sendAlert
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set to false to never send any alerts. |
Property: .autokeys
Option | Type | Default | Description |
---|---|---|---|
.lowPure |
boolean |
true |
(Discord Webhook not mentioned) Send an alert when the bot is low in keys and ref (less than minimum for both). |
.failedToAdd |
boolean |
true |
(Discord Webhook mentioned) Send an alert when the bot failed to add key (when Autokeys is enabled). |
.failedToUpdate |
boolean |
true |
(Discord Webhook mentioned) Send an alert when the bot failed to update key (when Autokeys is enabled). |
.failedToDisable |
boolean |
true |
(Discord Webhook mentioned) Send an alert when the bot failed to disable key (when Autokeys is enabled). |
Option | Type | Default | Description |
---|---|---|---|
.backpackFull |
boolean |
true |
(Discord Webhook not mentioned) Send an alert when the bot failed to send an offer due to full backpack problem. |
Property: .highValue
Option | Type | Default | Description |
---|---|---|---|
.gotDisabled |
boolean |
true |
(Discord Webhook mentioned) Send an alert when the bot successfully bought an item with high-value attachment(s) and it got disabled (only if highValue.enableHold is true). |
.receivedNotIn Pricelist |
boolean |
true |
(Discord Webhook mentioned) Send an alert when the bot successfully bought an item (INVALID_ITEMS) with high-value attachment(s) - this will not automatically added to the pricelist. |
.tryingToTake |
boolean |
true |
(Discord Webhook mentioned) Send an alert when the trade partner is trying to take an item with high-value attachment(s) that is still not in the bot pricelist. |
Option | Type | Default | Description |
---|---|---|---|
.autoRemoveIntent SellFailed |
boolean |
true |
(Discord Webhook mentioned) Send an alert when an item is sold with intent sell, and pricelist.autoRemoveIntentSell.enable is true but the bot failed to remove it. |
Option | Type | Default | Description |
---|---|---|---|
.autoAddPaintedItems |
boolean |
true |
(Discord Webhook mentioned if failed) Send an alert when painted items has been successfully added to sell |
Option | Type | Default | Description |
---|---|---|---|
.failedAccept |
boolean |
true |
(Discord Webhook mentioned) Send an alert when the bot failed to accept an offer. See Example |
Option | Type | Default | Description |
---|---|---|---|
.unableToProcessOffer |
boolean |
true |
(Discord Webhook mentioned) Send an alert when the bot failed to process an offer due to the broken offer data. The bot will retry but itself, but this is just to inform you if that happened. See Example |
Sub-property: .partialPrice
- related to pricelist.partialPriceUpdate
Option | Type | Default | Description |
---|---|---|---|
.onUpdate |
boolean |
true |
(Discord Webhook not mentioned) Send an alert when the bot partially update item prices. |
.onSuccessUpdatePartialPriced |
boolean |
true |
(Discord Webhook not mentioned) Send an alert when the bot successfully update the prices for previously partially updated prices. |
.onFailedUpdatePartialPriced |
boolean |
true |
(Discord Webhook not mentioned) Send an alert when the bot failed to update the prices for previously partially updated prices. |
.onResetAfterThreshold |
boolean |
true |
(Discord Webhook not mentioned) Send an alert when the threshold for partialPriceUpdate exipres and the pricing goes back to normal. |
.onBulkUpdatePartialPriced |
boolean |
true |
(Discord Webhook not mentioned) Send an alert when the bot updates many partial priced items at once. |
Option | Type | Default | Description |
---|---|---|---|
.receivedUnusualNotInPricelist |
boolean |
true |
(Discord Webhook mentioned) Send an alert when the bot received Unusual (probably because your bot bought one from Generic Unusual buy order - read more about it here) that is not in the pricelist - Only if you set pricelist.autoAddInvalidUnusual.enable to false . |
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .failedToUpdateOldPrices
| boolean
| true
| Send an alert when the bot fails to update an old price. This can happen when using a custom autopricer. Read more about it here.|
Parent property key: pricelist
property: .partialPriceUpdate
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
false |
By default, this feature is disabled. Read more about this here. |
.thresholdInSeconds |
integer |
604800 |
Default value is 7 days. Minimum you can set here is only 1 day (86400 seconds). |
.excludeSKU |
string[] |
[] |
By default, this value is an empty string, but Mann Co. Supply Crate Key will always excluded. |
property: .filterCantAfford
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
false |
By default, your bot will list all items in the pricelist. Please read #332 to know more about this feature. |
property: .autoRemoveIntentSell
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
By default, any item with intent sell in the pricelist will be automatically removed when the bot no longer have that item. Set to false to disable this feature. |
property: .autoAddInvalidItems
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
If set to false , any accepted ๐จ_INVALID_ITEMS will NOT be automatically added to the pricelist. |
property: .autoAddInvalidUnusual
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
false |
If set to true , any accepted Unusual bought from Generic Unusual Buy Order will automatically be added to the pricelist (if the prices from prices.tf are available). Read: #412 |
property: .autoAddPaintedItems
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
If set to false , any accepted items with painted will not be automatically added to the pricelist (to sell only). This feature only available if your normalize.painted.our is true and normalize.painted.their is false . The bot will set the price to sell by adding the itemโs base autoprice selling price and additional price for paint, in which you should also set your preferred additional price for each paint in detailExtra.painted[paintName].price . |
property: .priceAge
Option | Type | Default | Description |
---|---|---|---|
.maxInSeconds |
integer |
28800 |
(8 hrs) If an item in the pricelistโs last price update exceeds this value, the bot will automatically request a price check for the item from prices.tf (only apply on boot). |
Parent property: bypass
property: .escrow
Option | Type | Default | Description |
---|---|---|---|
.allow |
boolean |
false |
If set to true , your bot will allow trades to be held for up to 15 days as a result of the trade partner not having Mobile Authentication enabled. |
property: .overpay
Option | Type | Default | Description |
---|---|---|---|
.allow |
boolean |
true |
By default, your bot will allow trade partners to overpay with items or keys/metal (our value more than their value). Set this to false if you want your bot to decline any trades in which it would receive overpay. |
property: .giftWithoutMessage
Option | Type | Default | Description |
---|---|---|---|
.allow |
boolean |
false |
If set to true (Not recommended), your bot will accept any gift without the need for the trade partner to include a gift message in the offer message. For a list of all allowed gift messages, please click here. |
Parent property: tradeSummary
Property: .declinedTrade
Option | Type | Default | Description |
---|---|---|---|
.enabled |
boolean |
false |
By default declined trades will not be sent to your steam chat / discord webhook. |
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .showStockChanges
| boolean
| false
| By default the summary will NOT include to show stock changes, example: B.M.O.C (0 โ 1/1). Set to true
to enable it. |
| .showTimeTakenInMS
| boolean
| false
| Set to true
if you want to include time taken to complete the trade in milliseconds. |
| .showDetailedTimeTaken
| boolean
| true
| Set to false if you don't want to see the detailed time taken. |
|
.showItemPrices |
boolean |
true | Set to
false if you don't want to include item prices (buying/selling prices). |
|
.showPureInEmoji |
boolean |
false | [Discord Webhook only] Set to
true if you want to enable this. Example: [image1](https://user-images.githubusercontent.com/47635037/107742639-6554dd00-6d4a-11eb-8a64-fa9d81b2d8cc.png), [image2](https://user-images.githubusercontent.com/47635037/107866197-0063c900-6ea9-11eb-8996-42ea98142637.png). **You will also need to set [this](https://prnt.sc/101hflc) permission on your trade summary channel** |
|
.showProperName |
boolean |
false | Set to
true if you want the item name to be shown with "The" (if the item
proper_name property in schema is set to
true) and full name (will not shorten "Non-Craftable" to "NC" for example). |
|
.showOfferMessage |
boolean |
false | Set to
true` if you want to include offer message in the trade summary. |
===
Property: customText
Parent property key: steamChat
Property: .customInitializer
===
Property: .notifyTradePartner
Option | Type | Default | Description |
---|---|---|---|
.onSuccessAccepted |
boolean |
true |
Send notification to the trade partner when the trade was completed. |
.onSuccessAcceptedEscrow |
boolean |
true |
Send notification to the trade partner when the trade was accepted but on hold due to trade hold. |
.onDeclined |
boolean |
true |
Send notification to the trade partner when the trade was declined. |
.onCancelled |
boolean |
true |
Send notification to the trade partner when the trade was canceled due to a problem with Steam, or canceled by user. |
.onTradedAway |
boolean |
true |
Send notification to the trade partner when the trade was invalid because some of the items were traded away. |
.onOfferForReview |
boolean |
true |
Send notification to the trade partner when the trade is under review |
Parent property key: highValue
Option | Type | Default | Description |
---|---|---|---|
.enableHold |
boolean |
true |
By default, whenever your bot accepts items with high valued attachments, it will temporarily be disabled so you can decide whether to manually price it. Set this to false if you want to disable this feature. |
property: .spells
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .names
| string[]
| []
| An array of spells. Must be the spells full name in each element. (Refer: Spells). Example: ["Team Spirit Footprints"]
. |
property: .sheens
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .names
| string[]
| []
| An array of sheens. Must be the sheens full name in each element. (Refer: Sheen). Example: ["Team Shine"]
. |
property: .killstreakers
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .names
| string[]
| []
| An array of killstreakers. Must be the killstreakers full name in each element. Refer: Killstreaker. Example: ["Fire Horns", "Tornado"]
. |
property: .strangeParts
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .names
| string[]
| []
| An array of strange parts. Must be the strange parts full name in each element. Refer: Strange Parts. Example: ["Headshot Kills", "Kills"]
. |
property: .painted
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .names
| string[]
| []
| An array of paints. Must be the paints full name in each element. Refer: Paints. Example: ["After Eight"]
. |
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .exceptionSkus
| string[]
| []
| An array of full or partial sku that you want to make an exception for it to not be considered as high-value. Example: [";5;u"]
- this is a partial sku for all Unusual - useful if you want to ignore painted Unusual cosmetic. |
[]
), then everything in the reference will be considered high-value.["none"]
Parent property key: normalize
property: .festivized
โน๏ธ If set to true
, your bot will recognize Festivized items as Non-Festivized variant.
For example, your bot is buying a Strange Australium Black Box and someone sends an offer to your bot containing a Festivized Strange Australium Black Box (their side), the bot will recognize the Festivized Strange Australium Black Box as Strange Australium Black Box if your set
normalize.festivized.their
astrue
. Now that item is in your bot inventory, if you setnormalize.festivized.our
tofalse
, then the bot will recognize it as Festivized Strange Australium Black Box.
Option | Type | Default | Description |
---|---|---|---|
.our |
boolean |
false |
Our side (Bot) |
.their |
boolean |
false |
Trade partnerโs side |
.amountIncludeNonFestivized |
boolean |
false |
Enabling this option will take the non-festivzed version of an item into account when creating buy/sell orders. See the detailed explanation. |
property: .strangeAsSecondQuality
โน๏ธ If set to true
, your bot will recognize any Strange Unique, Strange Haunted or Strange Unusual as Unique, Haunted and Unusual only (ignore ;strange
part on itemโs sku).
The example is pretty much the same as in Festivized item normalization.
Option | Type | Default | Description |
---|---|---|---|
.our |
boolean |
false |
Our side (Bot) |
.their |
boolean |
false |
Trade partnerโs side |
.amountIncludeNonStrange |
boolean |
false |
Enabling this option will take the non-strange version of an item into account when creating buy/sell orders. See the detailed explanation. |
property: .painted
โน๏ธ If set to false
, your bot will assign painted partial sku on any painted items.
Meaning that youโll be able to create a separate listing (sell order only) for the painted items. Note that only paint(s) listed in
highValue.painted
will have painted partial sku assigned on that particular item (if you leave it as an empty array ([]
), then all painted items will have painted partial sku assigned).
Important
.our
is false
and .their
is true
, if you created a buy order for an item (without partial painted sku of course, max set to 1), then someone sent an offer containing painted item and that paint is listed in highValue.painted
, the trade summary will show stock changes like this: -1 โ 0
. Meaning your buy order will not get removed because your bot has an item with partial painted sku on it (treated as a different item). It will be removed once your bot received a non-painted version (or painted that not in highValue.painted
) of that particular item.Option | Type | Default | Description |
---|---|---|---|
.our |
boolean |
true |
Our side (Bot) |
.their |
boolean |
true |
Trade partnerโs side (false is not recommended) |
.amountIncludeNonPainted |
boolean |
false |
Enabling this option will take the non-painted version of an item into account when creating buy/sell orders. See the detailed explanation. |
Parent property key: details
Option | Type | Default | Description |
---|---|---|---|
.buy |
string |
"I am buying your %name% for %price%, I have %current_stock% / %max_stock%." |
This is the note that will be included with each buy order placed on backpack.tf. Maximum allowed characters: 180 |
.sell |
string |
"I am selling my %name% for %price%, I am selling %amount_trade%." |
This is the note that will be included with each sell order placed on backpack.tf. Maximum allowed characters: 180 |
Parameters:
%name%
- An itemโs name.%price%
- An itemโs buying/selling price.%current_stock%
- An itemโs current stock.%max_stock%
- An itemโs maximum stock.%amount_trade%
- How much of an item can be traded.%keyPrice%
- The current key rate (selling price). If the itemโs selling price is above one key, this parameter will be displayed as Key rate: x ref/key
. Otherwise, this parameter will not be shown on listings%uses%
- Display (๐ข๐ก๐๐ฌ ๐ช๐๐ง๐ ๐ฑx ๐จ๐ฆ๐๐ฆ)
on Dueling Mini-Game listings if miscSettings.checkUses.duel
is set to true
, and (๐ข๐ก๐๐ฌ ๐ช๐๐ง๐ ๐๐ฑx ๐จ๐ฆ๐๐ฆ)
on Noise Maker listings if miscSettings.checkUses.noiseMaker
is set to true
. It is recommended to only place this on buy listings (details.buy
). On other items, this parameter output will be an empty string (show nothing).Usage example:
Sub-parent property key: .showBoldText
Property: .highValue
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .showSpells
| boolean
| true
| Show spell(s) in the listings note. See Example. |
| .showStrangeParts
| boolean
| false
| Show Strange parts (only the one you specified in highValue.strangeParts
) |
| .showKillstreaker
| boolean
| true
| Show killstreaker in the listings note. See Example |
| .showSheen
| boolean
| true
| Show Sheen in the listings note. |
| .showPainted
| boolean
| true
| Show painted color in the listings note. See Example |
*Note: Only for sell orders.
Sub-Property: .highValue.customText
===
%uses%
parameter output ๐ฏ [^](#optionsjson-structure)Property: .uses
Option | Type | Default | Description |
---|---|---|---|
.duel |
string |
(๐ข๐ก๐๐ฌ ๐ช๐๐ง๐ ๐ฑx ๐จ๐ฆ๐๐ฆ) |
Custom %uses% parameter. |
.noiseMaker |
string |
(๐ข๐ก๐๐ฌ ๐ช๐๐ง๐ ๐๐ฑx ๐จ๐ฆ๐๐ฆ) |
Custom %uses% parameter. |
Parent property key: statistics
Option | Type | Default | Description |
---|---|---|---|
.lastTotalTrades |
integer |
0 |
If you clear out (delete) your polldata.json file, it will reset your total trades count back to zero. This option can be used as an offset to ensure you never lose track of how many trades your bot has completed in total. An example would be if you bot has completed 1000 trades and you want to clear out your polldata.json file. If you set this to 1000, your bot will remember that it has completed 1000 trades in the past. |
.startingTimeInUnix |
integer (Unix) |
0 |
Similar to .lastTotalTrades , this option sets the latest instance a trade was made (in Unix Timestamp). To read more about this option, please read IdiNiumโs Discord Message Regarding This. |
.lastTotalProfit MadeInRef |
integer |
0 |
Similar to .lastTotalTrades , but this is for last profit made (value must in refined metal, i.e. 35.44). |
.lastTotalProfit OverpayInRef |
integer |
0 |
Similar to .lastTotalProfitMadeInRef , but this is for last profit from overpay (value must in refined metal, i.e. 1000.44). |
.profitDataSince InUnix |
integer (Unix) |
0 |
Similar to .startingTimeInUnix , this option sets the latest instance a profit was made (in Unix Timestamp). |
Property: .sendStats
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
false |
Send the content of !stats command every specified hours below |
.time |
string[] |
[] |
Time (local/timezone - 24 hours) in hour:minute format. Example: [โT23:59โ] will send at only 23:59 PM, everyday. Please include that "T" in front of each time, otherwise this wont work. If this is leave empty array ([] ) but .enable is true , then it will use default ["T23:59", "T05:59", "T11:59", "T17:59"] . |
Parent property key: autokeys
Keywords:
Keys
- Mann Co. Supply Crate KeyPure Metals
- includes Refined Metal, Reclaimed Metal and Scrap MetalOption | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
false |
If set to true , your bot will automatically buy/sell Keys based on the availability of the Pure Metals and Keys in your bot inventory. This is done in an effort to ensure that your bot has enough Pure Metals to perform trades. |
.minKeys |
integer |
3 |
When the botโs current stock of Keys is greater than this value, and the botโs current stock of Pure Metals is less than .minRefined , the bot will start selling Keys in order to convert Keys into Pure Metals. Otherwise, the bot will not sell Keys. |
.maxKeys |
integer |
15 |
When the botโs current stock of Keys is less than this value, and the botโs current stock of Pure Metals is greater than .maxRefined , the bot will start buying Keys in order to convert Pure Metals into Keys. Otherwise, the bot will not buy Keys. |
.minRefined |
number |
30 |
The minimum number of Pure Metals the bot can have before it begins selling Keys (to turn Keys into Pure Metals ). See .minKeys for more information. |
.maxRefined |
number |
150 |
The maximum number of Pure Metals the bot can have before it begins buying Keys (to turn Pure Metals into Keys ). See .maxKeys for more information. |
Property: .banking
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
false |
If set to true , your bot will bank (buy and sell) Keys. If your botโs current Pure Metals supply is between .minRefined and .maxRefined and Keys > .minKeys , it will bank Keys. autokeys.enable must be set to true to enable this option. |
.____________________________________________________________. ._______________________________.
| **Buying Keys** | **Selling Keys** | | **Banking Keys** |
| *************** | **************** | | **************** |
| <โโโโโโโโโโโโ | โโโโโโโโโโโโโ> | | โโโโโโโโโโโโโ> |
| Keys -----|--------|-----> | Keys -----|--------|-----> | | Keys -----|--------|-----> |_______________________________.
| โโโโ> | <โโโ | | โโโโโโโโโโ | **Disabled** |
| Refs -----|--------|-----> | Refs -----|--------|-----> | | Refs -----|--------|-----> | ************ |
| min max | min max | | min max | <โโโ |
|_____________________________|______________________________| |______________________________.| Keys -----|--------|-----> |
| **Disabled** | | **Buying when more ref** | <โโโโโโโโโโโโ |
| ************ | | ************ | Refs -----|--------|-----> |
| <โโโโโโโโโโโโยทยทยท> | | <โโโ | min max |
| Keys -----|--------|-----> | | Keys -----|--------|-----> |_______________________________|
| โโโโโโโโโโยทยทยท> | | โโโโโโโโโโโโโ> |
| Refs -----|--------|-----> | | Refs -----|--------|-----> |
| min max | | min max |
|_____________________________| |_______________________________|
Property: .scrapAdjustment
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
false |
If set to true , the bot will make adjustments to the price of Keys when selling or buying. For example, if the current Keys price is โ10 refinedโ, the bot will take โ10 refinedโ and add .value when buying, and subtract .value when selling. This is done in an effort to quickly buy and sell Keys using Autokeys when in a pinch by paying more for Keys and selling Keys for less. This is not possible to do when key banking (autokeys.banking.enable set to true ). |
.value |
integer |
1 |
This is the amount of scrap (0.11 refined) the bot will increase the buy listing or decrease the sell listing when buying/selling Keys using Autokeys (if .enable is set to true ). |
๐ฉ_UNDERSTOCKED
[^](#optionsjson-structure)Property: .accept
Option | Type | Default | Description |
---|---|---|---|
.understock |
boolean |
false |
If set to true , your bot will accept trades that will lead to keys become under-stocked. |
Note: The Autokeys feature is meant to have your bot maintain enough pure in its inventory. Enabling โAutokeys - Bankingโ may cause the Autokeys feature to not perform as intended.
Parent property key: crafting
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .manual
| boolean
| false
| Set this to true
if you want to use !craftToken
command (more will come in the future). |
Property: .weapons
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Setting this to to false will prevent your bot from automatically crafting any duplicated/class-matched craftable weapons into scrap. The pricelist takes priority over this config item. That is to say, if a craft weapon is in the pricelist, it will not be crafted into scrap. |
Property: .metals
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Setting this to false (NOT recommended) will disable metal crafting entirely. This may cause your bot and the trade partner to not be able to trade because of missing pure. |
.minScrap |
integer |
9 |
If your bot has less Scrap Metal than this amount, it will smelt down Reclaimed Metal to maintain ample Scrap Metal supply. |
.minRec |
integer |
9 |
If your bot has less Reclaimed Metal than this amount, it will smelt down Refined Metal to maintain ample Reclaimed Metal supply. |
.threshold |
integer |
9 |
If the botโs Scrap/Reclaimed Metal count has reached the minimum amount, and Scrap/Reclaimed Metal count has reached this threshold [in other words, Scrap/Reclaimed Metal count is greater than (min + threshold)], it will combine the metal into the next highest denomination. |
Parent property key: offerReceived
Property: .sendPreAcceptMessage
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .enable
| boolean
| true
| Set this to false
if you do not want your bot to send pre-accepted message to the trade partner. |
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .alwaysDeclineNonTF2Items
| boolean
| true
| Set this to false
if you want you do not want your bot to always decline trades that contains non-TF2 items (all Non-TF2 items will be held for review, read #580. |
๐ฅ_INVALID_VALUE
[^](#optionsjson-structure)Property: .invalidValue
Sub-Property: .autoDecline
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set this to false if you do not want your bot to automatically decline any trades with ๐ฅ_INVALID_VALUE as the ONLY manual review reason where our side value is more than their side value, or do not match exceptionValue.skus and value difference is more than exceptionValue.valueInRef |
.declineReply |
string |
"" |
See default declined reply. |
Sub-Property: .exceptionValue
Option | Type | Default | Description |
---|---|---|---|
.skus |
string[] |
[] |
An array of SKUs that will bypass the ๐ฅ_INVALID_VALUE offer if the difference between the botโs value and their value is not more than .valueInRef . Letโs say your bot is selling an Unusual and someone sent an offer with 0.11 ref less, and you want your bot to accept it anyway. |
.valueInRef |
integer |
0 |
Exception value for the SKUs that you set above. The default is 0 (no exception). |
.skus
and the difference in value not exceed .valueInRef
(was set to 10 ref):๐จ_INVALID_ITEMS
[^](#optionsjson-structure)Property: .invalidItems
Option | Type | Default | Description |
---|---|---|---|
.givePrice |
boolean |
false |
If set to true , your bot will assign price for ๐จ_INVALID_ITEMS (items that are not in your price list) using prices from prices.tf. |
.autoAcceptOverpay |
boolean |
true |
If set to false , your bot will not accept trades with ๐จ_INVALID_ITEMS where the value of their side is greater than or equal to the value of your botโs side. |
.givePrice
and .autoAcceptOverpay
are both set to true
:Sub-Property: .autoDecline
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set this to false if you do not want your bot to automatically decline trades with ๐จ_INVALID_ITEMS . |
.declineReply |
string |
"" |
See default declined reply. |
===
๐ง_DISABLED_ITEMS
[^](#optionsjson-structure)Property: .disabledItems
Option | Type | Default | Description |
---|---|---|---|
.autoAccept Overpay |
boolean |
false |
If set to true , your bot will accept trades with ๐ง_DISABLED_ITEMS where some items that exist in your price list is currently disabled but the value of their side is greater than to the value of your botโs side. |
Sub-Property: .autoDecline
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
false |
Set this to true if you do want your bot to automatically decline trades with ๐ง_DISABLED_ITEMS . |
.declineReply |
string |
"" |
See default declined reply. |
===
๐ฆ_OVERSTOCKED
[^](#optionsjson-structure)Property: .overstocked
Option | Type | Default | Description |
---|---|---|---|
.autoAccept Overpay |
boolean |
false |
If set to true , your bot will accept trades with ๐ฆ_OVERSTOCKED where some items already reach maximum the bot can have but the value of their side is greater than to the value of your botโs side. |
.autoAcceptOverpay
is set to true
:Sub-Property: .autoDecline
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
false |
Set this to true if you do want your bot to automatically decline trades with ๐ฆ_OVERSTOCKED |
.declineReply |
string |
"" |
See default declined reply. |
===
๐ฉ_UNDERSTOCKED
[^](#optionsjson-structure)Property: .understocked
Option | Type | Default | Description |
---|---|---|---|
.autoAccept Overpay |
boolean |
false |
If set to true , your bot will accept trades with ๐ฉ_UNDERSTOCKED where some items will reach minimum the bot can have the trade is complete but the value of their side is greater than to the value of your botโs side. |
.autoAcceptOverpay
is set to true
:Sub-Property: .autoDecline
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
false |
Set this to true if you do want your bot to automatically decline trades with ๐ฉ_UNDERSTOCKED |
.declineReply |
string |
"" |
See default declined reply. |
===
๐ซ_DUPED_ITEMS
[^](#optionsjson-structure)Property: .duped
Option | Type | Default | Description |
---|---|---|---|
.enableCheck |
boolean |
false |
If set to true , the bot will perform checks on items to determine whether or not they are duplicated. |
.minKeys |
number |
10 |
The minimum number of keys an item must be worth before the bot performs a check for whether or not it is duplicated. |
Sub-Property: .autoDecline
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
false |
If set to true , the bot will decline any unusual or values more than minKeys items that it determines as having been duplicated. |
.declineReply |
string |
"" |
See default declined reply. |
===
๐ช_DUPE_CHECK_FAILED
[^](#optionsjson-structure)Property: .failedToCheckDuped
Sub-Property: .autoDecline
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
false |
If set to true , the bot will decline offer that was failed to check for duped. |
.declineReply |
string |
"" |
See default declined reply. |
===
โฌ_ESCROW_CHECK_FAILED
[^](#optionsjson-structure)Property: .escrowCheckFailed
Option | Type | Default | Description |
---|---|---|---|
.ignoreFailed |
boolean |
false |
By default, your bot will skip the trade and put to review if escrow check failed (probably because Steam is down, or some problem with your bot - restart will help). Set this to true if you want your bot to ignore trade with failed escrow check (not recommended). |
===
โฌ_BANNED_CHECK_FAILED
[^](#optionsjson-structure)Property: .bannedCheckFailed
Option | Type | Default | Description |
---|---|---|---|
.ignoreFailed |
boolean |
false |
By default, your bot will skip the trade and put to review if banned check failed (probably because Steamrep.com or backpack.tf is down). Set this to true if you want your bot to ignore trade with banned check failed (not recommended). |
โฌ_HALTED
[^](#optionsjson-structure)Property: .halted
Option | Type | Default | Description |
---|---|---|---|
.ignoreHalted |
boolean |
false |
When the halt mode is enabled, by default, your bot will skip the trade and put to review if someone sent an offer (might happen when the classified listings are being removed). |
Parent-Property: manualReview
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Offers with reasons such as ๐ฅ_INVALID_VALUE and so on will require manual review by you. |
.showOfferSummary |
boolean |
true |
If set to true , your bot will show the trade offer summary to the trade partner. Otherwise, it will only notify the trade partner that their offer is being held for review. |
.showReviewOfferNote |
boolean |
true |
By default, your bot will show notes on for each manual review reason |
.showOwnerCurrentTime |
boolean |
true |
By default, your bot will show the ownerโs time when sending your trade partner any manual offer review notifications. |
.showItemPrices |
boolean |
true |
set to true if you want to include item prices (buying/selling prices) - only for owner. |
Sub-Property: .invalidValue
Option | Type | Default | Default reply |
---|---|---|---|
.note |
string |
"" |
You're taking too much in value. then followed by [You're missing: ${value}] (unchangeable) |
===
Sub-Property: .invalidItems
Option | Type | Default | Default reply |
---|---|---|---|
.note |
string |
"" |
%itemsName% %isOrAre% not in my pricelist. |
%itemsName%
- join(', ')
of ${name}
array%isOrAre%
- will use are
if ๐จ_INVALID_ITEMS
more than one.===
Sub-Property: .disabledItems
Option | Type | Default | Default reply |
---|---|---|---|
.note |
string |
"" |
%itemsName% %isOrAre% currently disabled. |
%itemsName%
- join(', ')
of ${name}
array%isOrAre%
- will use are
if ๐ง_DISABLED_ITEMS
more than one.===
Sub-Property: .overstocked
Option | Type | Default | Default reply |
---|---|---|---|
.note |
string |
"" |
I can only buy %itemsName% right now. |
%itemsName%
- join(', ')
of ${amountCanBuy} - ${name}
array.===
Sub-Property: .understocked
Option | Type | Default | Default reply |
---|---|---|---|
.note |
string |
"" |
I can only sell %itemsName% right now. |
%itemsName%
- join(', ')
of ${amountCanSell} - ${name}
array.===
Sub-Property: .duped
Option | Type | Default | Default reply |
---|---|---|---|
.note |
string |
"" |
%itemsName% %isOrAre% appeared to be duped. |
%itemsName%
- a join of ${name}, history page: https://backpack.tf/item/${el.assetid}
array===
Sub-Property: .dupedCheckFailed
Option | Type | Default | Default reply |
---|---|---|---|
.note |
string |
"" |
I failed to check for duped on %itemsName%. |
%itemsName%
- a string OR a join of ${name}, history page: https://backpack.tf/item/${el.assetid}
array===
Sub-Property: .escrowCheckFailed
Option | Type | Default | Default reply |
---|---|---|---|
.note |
string |
"" |
Steam is down and I failed to check your Escrow (Trade holds) status, please wait for my owner to manually accept/decline your offer. |
===
Sub-Property: .bannedCheckFailed
Option | Type | Default | Default reply |
---|---|---|---|
.note |
string |
"" |
I have failed to obtain data about your reputation status, please wait for my owner to manually accept/decline your offer. |
Sub-Property: .halted
Option | Type | Default | Default reply |
---|---|---|---|
.note |
string |
"" |
โ The bot is not operational right now, but your offer has been put to review, please wait for my owner to manually accept/decline your offer. |
===
Option | Type | Default | Description |
---|---|---|---|
.note |
string |
"" |
Custom additional notes for offer that need to be reviewed. |
Parent property: discordWebhook
Option | Type | Default | Description |
---|---|---|---|
.ownerID |
string[] (number) |
[] |
Your Discord ID(s). To obtain this, right-click on yourself on Discord and click Copy ID . Be sure to enable Developer Mode on Discord by navigating to Settings > Appearance > Advanced . It must be a number in string like "527868979600031765" not "IdiNium#8965" . |
.displayName |
string |
"" |
The name youโd like to give your bot when it sends a message on Discord. |
.avatarURL |
string |
"" |
A URL to the image youโd like your bot to have when it sends a discord message. This must be in URL form. An example of how to obtain your botโs avatar from Steam: Click here. |
.embedColor |
string (number) |
"" |
The color youโd like associated with your botโs discord messages. You can view the different colors at spycolor.com. Copy the Decimal value . An example of this would be 16769280 for the color #ffe100 |
Please view this image for instructions on how to obtain your Discord Webhook URL. These settings would be set in your own personal Discord channel.
Property: .tradeSummary
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Display each successful trade summary on your trade summary/live-trades channel via Discord Webhook. If set to false , it will send to your Steam Chat. |
.url |
string[] |
[] |
An array of Discord Webhook URLs for trade summary. You will need to format it like so: ["yourDiscordWebhookLink"] , or if you want to add more than one, you format them like so: ["link1", "link2"] (separate each link with a comma, make sure link1 is your own Discord Webhook URL - Mention owner and show stock changes will only be shown in link1 ). |
Note: Want to feature your bots trades on the tf2autobot Discord server? Contact IdiNium for a Webhook URL!
Sub-Property: .misc
Option | Type | Default | Description |
---|---|---|---|
.showQuickLinks |
boolean |
true |
Show the trade partnerโs quick links to their Steam profile, backpack.tf, and SteamREP pages. |
.showKeyRate |
boolean |
true |
Show your botโs key rate |
.showPureStock |
boolean |
true |
Show your botโs pure stock |
.showInventory |
boolean |
true |
Show the total amount of items in your botโs inventory. |
.note |
string |
"" |
Any additional notes youโd like included with trade summaries. Linked note format: [YourText](Link) |
Sub-Property: .mentionOwner
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
If set to false , your bot will never mention you on each successful trade (except for accepted ๐จ_INVALID_ITEMS or ๐ถ_HIGH_VALUE_ITEMS ) |
.itemSkus |
string[] |
[] |
Your bot will mention you whenever a trade contains an SKU in this list. Supports multiple item SKUs. For example, let say you just want to be mentioned on every unusual and australium trade. You would input [";5;u", ";11;australium"] . If you want to be mentioned on specific items, just fill in the full item SKU, like so: ["725;6;uncraftable"] . To add more, just separate new items with a comma between each SKU string . |
.tradeValueInRef |
number |
0 |
Zero means disable. If this is set to other than 0, then any trade thatโs greater or equal to set value will be mentioned. |
Property: .declinedTrade
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
If set to false , messages regarding declined trade offers will be sent to your Steam Chat. Otherwise, these messages will be sent on Discord (only if .url is not empty). |
.url |
string[] |
[] |
Discord Webhook URL for DECLINED_TRADE . |
Object: .misc
Option | Type | Default | Description |
---|---|---|---|
.showQuickLinks |
boolean |
true |
Show the trade partnerโs quick links to their Steam profile, backpack.tf, and SteamREP pages. |
.showKeyRate |
boolean |
true |
Show your botโs key rate. |
.showPureStock |
boolean |
true |
Show your botโs pure stock. |
.showInventory |
boolean |
true |
Show the total amount of items in your botโs inventory. |
.note |
string |
"" |
Any additional notes youโd like included with declined trade webhook. |
Property: .offerReview
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
If set to false , messages regarding trade offers that require manual review will be sent to your Steam Chat. Otherwise, these messages will be sent on Discord. |
.url |
string |
"" |
Discord Webhook URL for REVIEW_OFFER . |
.mentionInvalidValue |
boolean |
true |
If set to false , your bot NOT mention you for ONLY ๐ฅ_INVALID_VALUE offers. |
.isMention |
boolean |
true |
If set to false , you will never be mentioned on any offer to be reviewed. |
.mentionInvalidValue
is set to false
:Object: .misc
Option | Type | Default | Description |
---|---|---|---|
.showQuickLinks |
boolean |
true |
Show the trade partnerโs quick links to their Steam profile, backpack.tf, and SteamREP pages. |
.showKeyRate |
boolean |
true |
Show your botโs key rate. |
.showPureStock |
boolean |
true |
Show your botโs pure stock. |
.showInventory |
boolean |
true |
Show the total amount of items in your botโs inventory. |
Property: .messages
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Used to alert you on any messages sent from the trade partner via Discord Webhook. If set to false , it will send to your Steam Chat. |
.isMention |
boolean |
true |
If set to false , you will never be mentioned on any new messages from trade partner. |
.url |
string |
"" |
Discord Webhook URL. |
.showQuickLinks |
boolean |
true |
Show the trade partnerโs quick links to their Steam profile, backpack.tf, and SteamREP pages. |
Property: .priceUpdate
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set to false to disable this feature. |
.showOnlyInStock |
boolean |
false |
Set to true if you want your bot to show price changes that is only in stock. |
.showFailedToUpdate |
boolean |
true |
Set to false if you donโt want your bot to show any error while updating prices. |
.url |
string |
"" |
The Discord Webhook URL youโd like price update webhook to be sent to. |
.note |
string |
"" |
Any additional notes youโd like included with price update webhook. |
Property: .sendAlert
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
If set to false , the bot will notify you through Steam chat if there is something wrong. Otherwise, the bot will notify you through Discord (sendAlert must be true ). |
.isMention |
boolean |
true |
If set to false , you will never be mentioned on any alert. |
Object: .url
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .main
| string
| ""
| The main Discord Webhook URL youโd for the alert to be sent to. |
| .partialPriceUpdate
| string
| ""
| Optional - Separate partial price update alerts from the main alerts. |
โ
Property: .sendStats
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
If set to false , the bot will send stats through Steam chat. Otherwise, the bot will send stats to Discord (statistics.autoSendStats.enable must be true and statistics.autoSendStats.time is empty or filled). |
.url |
string |
"" |
The Discord Webhook URL youโd for the stats to be sent to. |
Parent property: customMessage
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .sendOffer
| string
| ""
| โThank you for the trade!โ |
===
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .counterOffer
| string
| ""
| โYour offer contains wrong value. Youโve probably made a few mistakes, hereโs the correct offer.โ |
===
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .welcome
| string
| ""
| Your custom greeting note.|
%name%
- display trade partnerโs name%admin%
- if admin, it will use โ!helpโ, else โ!how2tradeโ===
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .iDontKnowWhatYouMean
| string
| ""
| Your custom note when people send the wrong command. |
===
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .success
| string
| ""
| Bot message when a trade has been successfully made. |
===
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .success
| string
| ""
| Bot message when a trade has been successfully made. |
โ
Success! The offer has gone through successfully, but you will receive your items after several days. To prevent this from happening in the future, please enable Steam Guard Mobile Authenticator.
Read:
โข Steam Guard Mobile Authenticator - https://support.steampowered.com/kb_article.php?ref=8625-WRAH-9030
โข How to set up the Steam Guard Mobile Authenticator - https://support.steampowered.com/kb_article.php?ref=4440-RTUI-9218"
===
Sub-property: .decline
Option | Type | Default | Description |
---|---|---|---|
.decline[DECLINE_REASON] |
string |
"" |
Refer: Default declined reply. |
===
Sub-property: .accepted
Option | Type | Default | Description |
---|---|---|---|
.accepted[AutoOrManual][type] |
string |
"" |
Refer: Default accepted message. |
===
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .tradedAway
| string
| ""
| Your custom note when the bot fails to trade because the item is traded away. |
===
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .failedMobileConfirmation
| string
| ""
| Your custom note when the bot fails to perform mobile confirmation. |
===
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .cancelledActiveForAwhile
| string
| ""
| Your custom note when the trade got canceled. |
===
| Option | Type | Default | Description |
| :โ-: | :โ: | :โโ: | :โโโ- |
| .clearFriends
| string
| ""
| Your custom message to trade partner when the bot removing them to replace with others. |
%name%
- partnerโs nameParent property: commands
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set to false if you want to disable commands (immune to ADMINS). |
.customDisableReply |
string |
"" |
Default reply: โ Command function is disabled by the owner. |
!how2trade
[^](#optionsjson-structure)Property: .how2trade.customReply
Option | Type | Default |
---|---|---|
.reply |
string |
"" |
/quote You can either send me an offer yourself or use one of my commands to request a trade. Say you want to buy a Team Captain, just type "!buy Team Captain", if want to buy more, just add the [amount] - "!buy 2 Team Captain". Type "!help" for all the commands.
You can also buy or sell multiple items by using the "!buycart [amount] <item name>" or "!sellcart [amount] <item name>" commands.
===
!price
[^](#optionsjson-structure)Property: .price
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set to false if want to disable !price command. |
.customReply.disabled |
string |
"" |
Default reply: โ This command is disabled by the owner. |
===
!buy / !sell / !buycart / !sellcart
[^](#optionsjson-structure)Property: .buy
| .sell
| .buycart
| .sellcart
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set to false if want to disable any of the stated commands. |
.disableForSKU |
string[] |
"" |
Set specific sku(s) to disable any of the stated commands. |
Sub-property: .customReply
Option | Type | Default | Description |
---|---|---|---|
.disabled |
string |
"" |
Default reply: โ This command is disabled by the owner. |
.disabledForSKU |
string |
"" |
Default reply: โ [command] command is disabled for %itemName%. |
.disabledForSKU
): %itemName%
===
!cart
[^](#optionsjson-structure)Property: .cart
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set to false if want to disable !cart command. |
Sub-property: .customReply
Option | Type | Default | Description |
---|---|---|---|
.title |
string |
"" |
Default reply: ๐== YOUR CART ==๐ |
.disabled |
string |
"" |
Default reply: โ This command is disabled by the owner. |
===
!clearcart
[^](#optionsjson-structure)Property: .clearcart
Option | Type | Default | Description |
---|---|---|---|
.customReply.reply |
string |
"" |
Default reply: ๐ Your cart has been cleared. |
===
!checkout
[^](#optionsjson-structure)Property: .checkout
Option | Type | Default | Description |
---|---|---|---|
.customReply.empty |
string |
"" |
Default reply: ๐ Your cart is empty. |
===
Property: .addToQueue
Option | Type | Default |
---|---|---|
.alreadyHaveActiveOffer |
string |
"" |
โ You already have an active offer! Please finish it before requesting a new one: %tradeurl%
%tradeurl%
- output: https://steamcommunity.com/tradeoffer/${activeOfferID}
///
Option | Type | Default | Default reply |
---|---|---|---|
.alreadyInQueueProcessingOffer |
string |
"" |
โ ๏ธ You are already in the queue! Please wait while I process your offer. |
///
Option | Type | Default |
---|---|---|
.alreadyInQueueWaitingTurn |
string |
"" |
โ
You have been added to the queue! Please wait your turn, there %isOrAre% %position% in front of you.
%isOrAre%
- more than 1 use โareโ, else โisโ%position%
- total queue position///
Option | Type | Default |
---|---|---|
.addedToQueueWaitingTurn |
string |
"" |
โ
You have been added to the queue! Please wait your turn, there %isOrAre% %position% in front of you.
%isOrAre%
- more than 1 use โareโ, else โisโ%position%
- total queue position///
Option | Type | Default |
---|---|---|
.alteredOffer |
string |
"" |
โ ๏ธ Your offer has been altered. Reason: %altered%.
%altered%
- altered message - unchangeable///
Sub-Property: .processingOffer
Option | Type | Default | Default reply |
---|---|---|---|
.donation |
string |
"" |
โ Please wait while I process your donation! %summarize% |
.isBuyingPremium |
string |
"" |
โ Please wait while I process your premium purchase! %summarize% |
.offer |
string |
"" |
โ Please wait while I process your offer! %summarize% |
%summarize%
- summarize message - unchangeable///
Sub-Property: .hasBeenMadeAcceptingMobileConfirmation
Option | Type | Default | Default reply |
---|---|---|---|
.donation |
string |
"" |
โ Your donation has been made! Please wait while I accept the mobile confirmation. |
.isBuyingPremium |
string |
"" |
โ Your premium purchase has been made! Please wait while I accept the mobile confirmation. |
.offer |
string |
"" |
โ Your offer has been made! Please wait while I accept the mobile confirmation. |
===
!cancel
[^](#optionsjson-structure)Property: .cancel.customReply
Option | Type | Default | Default reply |
---|---|---|---|
.isBeingSent |
string |
"" |
โ ๏ธ Your offer is already being sent! Please try again when the offer is active. |
.isCancelling |
string |
"" |
โ ๏ธ Your offer is already being canceled. Please wait a few seconds for it to be canceled. |
.isRemovedFromQueue |
string |
"" |
โ You have been removed from the queue. |
.noActiveOffer |
string |
"" |
โ You donโt have an active offer. |
.successCancel |
string |
"" |
/pre โ Ohh nooooes! The offer is no longer available. Reason: Offer was canceled by user. |
===
!queue
[^](#optionsjson-structure)Property: .queue.customReply
Option | Type | Default | Default reply |
---|---|---|---|
.notInQueue |
string |
"" |
โ You are not in the queue. |
.offerBeingMade |
string |
"" |
โ Your offer is being made. |
.hasPosition |
string |
"" |
There are %position% users ahead of you. |
%position%
- total position in queue===
!owner
[^](#optionsjson-structure)Property: .owner
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set to false if want to disable !owner command (ADMINS are immune). |
Sub-Property: .customReply
Option | Type | Default | Default reply |
---|---|---|---|
.disabled |
string |
"" |
โ This command is disabled by the owner. |
.reply |
string |
"" |
โข Steam: %steamurl%\nโข Backpack.tf: %bptfurl% |
%steamurl%
- https://steamcommunity.com/profiles/${firstAdmin.toString()}
%bptfurl%
- https://backpack.tf/profiles/${firstAdmin.toString()}
%steamid%
- SteamID64 of the first ADMINS element===
!discord
[^](#optionsjson-structure)Property: .discord
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set to false if want to disable !discord command (ADMINS are immune). |
.inviteURL |
string |
"" |
Default: https://discord.gg/4k5tmMkXjB . |
Sub-Property: .customReply
Option | Type | Default | Default reply |
---|---|---|---|
.disabled |
string |
"" |
โ This command is disabled by the owner. |
.reply |
string |
"" |
Refer below |
discord.inviteURL
is not empty:
TF2Autobot Discord Server: https://discord.gg/4k5tmMkXjB\nOwner's Discord Server: ${inviteURL}
%discordurl%
- your commands.discord.inviteURL
===
!more
/ !autokeys
[^](#optionsjson-structure)Property: .more
| .autokeys
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set to false if want to disable !more command (ADMINS are immune). |
.customReply .disabled |
string |
"" |
Default reply: โ This command is disabled by the owner.. |
===
!message
[^](#optionsjson-structure)Property: .message
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set to false if want to disable !message command (ADMINS are immune). |
.showOwnerName |
boolean |
true |
Set to false if you donโt want the bot to show your name (will be replaced with โthe ownerโ). |
Sub-Property: .customReply
Option | Type | Default | Default reply |
---|---|---|---|
.disabled |
string |
"" |
โ This command is disabled by the owner. |
.wrongSyntax |
string |
"" |
โ Please include a message. Here's an example: โ!message Hiโ |
.fromOwner |
string |
"" |
/quote ๐ฌ Message from the owner: %reply%\n\nโ Hint: You can use the !message command to respond to the owner of this bot.\nExample: !message Hi Thanks! |
.success |
string |
"" |
โ Your message has been sent. |
%reply%
- Your reply===
!time
/ !uptime
/ !pure
/ !rate
[^](#optionsjson-structure)Property: .time
| .uptime
| .pure
| .rate
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set to false if want to disable any of these commands (ADMINS are immune). |
Sub-Property: .customReply
Option | Type | Default | Default reply |
---|---|---|---|
.disabled |
string |
"" |
โ This command is disabled by the owner. |
.reply |
string |
"" |
Refer below |
!time
It is currently the following time in my owner's timezone: %emoji% %time%\n\n%note%
%emoji%
- clock emoji%time%
- full time format%note%
- additional notes!uptime
Bot has been up for %uptime%
%uptime%
- total uptime!pure
๐ฐ I have %pure% in my inventory.
%pure%
- a join('and')
of pureStock
arrayI have 31 keys and 17.44 refs (12 ref, 11 rec, 16 scrap) in my inventory.
!rate
%keyPrice%
- current sell price%keyRate%
- current buy/sell price%source%
- show pricestf url if autopriced, โmanualโ if manually pricedI value ๐ Mann Co. Supply Crate Keys at %keyprice%. This means that one key is the same as %keyprice% and %keyprice% is the same as one key.
Key rate source: %source%"
===
!stock
[^](#optionsjson-structure)Property: .stock
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set to false if want to disable !stock command (ADMINS are immune). |
.maximumItems |
integer |
20 |
Maximum number of items to be shown. Default is 20. |
Sub-Property: .customReply
Option | Type | Default | Default reply |
---|---|---|---|
.disabled |
string |
"" |
โ This command is disabled by the owner. |
.reply |
string |
"" |
/pre ๐ Hereโs a list of all the items that I have in my inventory:\n%stocklist% |
%stocklist%
- a join(', \n')
array of the items your bot have (up to stock.maximumItems
).===
!craftweapon
/ !uncraftweapon
[^](#optionsjson-structure)Property: .craftweapon
| .uncraftweapon
Option | Type | Default | Description |
---|---|---|---|
.enable |
boolean |
true |
Set to false if want to disable !craftweapon or !uncraftweapon command (ADMINS are immune). |
.showOnlyExist |
boolean |
true |
Set to false if want show all weapons, including no stock. |
Sub-Property: .customReply
Option | Type | Default | Default reply |
---|---|---|---|
.disabled |
string |
"" |
โ This command is disabled by the owner. |
.dontHave |
string |
"" |
โ I donโt have any craftable (or uncraftable) weapons in my inventory. |
.have |
string |
"" |
๐ Hereโs a list of all craft (or uncraft) weapons stock in my inventory:\n\n%list% |
%list%
- a join(', \n')
array of craftable (or uncraftable) weapons that your bot have.Parent property: detailsExtra
spell
text on listing noteProperty: .spells[spellName]
details.highValue.showSpells
set to true
///
sheen
text on listing noteProperty: .sheens[sheenName]
details.highValue.showSheens
set to true
///
killstreakers
text on listing noteProperty: .killstreakers[killstreakerName]
details.highValue.showKillstreakers
set to true
///
painted
text on listing noteProperty: .painted[paintName].stringNote
details.highValue.showPainted
set to true
===
Property: .painted[paintName].price
///
Strange Part
text on listing noteProperty: .strangeParts[strangePartName]
details.highValue.showKillstreakers
set to true