该插件提供了一个易于使用的界面,用于将宝石转变为补充包,并包含用于管理交易卡和库存和市场中其他相关物品的工具。
该项目最初基于 Outzzz 和 Rudokhvist 的 Booster Creator 插件
plugins
文件夹中。笔记
该插件仅经过测试可与 ASF-generic 一起使用。它可能适用于其他 ASF 变体,也可能不适用于,但请随时报告您可能遇到的任何问题。
方括号中的参数有时是[Optional]
,尖括号中的参数始终是
。复数参数如[Bots]
可以接受用 分隔的多个值,
如A,B,C
命令 | 使用权 | 描述 |
---|---|---|
booster [Bots] | Master | 将AppIDs 添加到给定机器人的辅助队列中。 |
booster^ [Bots] | Master | 将AppIDs 添加到部分或全部给定机器人的助推器队列中,选择的方式可最大限度地减少制作Amount 助推器所需的时间。指定的Amounts 可以是所有AppIDs 的单个金额,也可以是每个AppID 的多个金额。 |
bstatus [Bots] | Master | 打印给定机器人的辅助队列的状态。 |
bstatus^ [Bots] | Master | 打印给定机器人的助推器队列的缩短状态。 |
bstop [Bots] | Master | 从给定机器人的辅助队列中删除AppIDs 。 |
bstoptime [Bots] | Master | 从给定机器人的助推器队列中删除需要超过给定Hours 来制作的所有内容。 |
bstopall [Bots] | Master | 从给定机器人的助推器队列中删除所有内容。 |
brate [Level] | Master | 打印帐户Level 的最佳助推器掉落率 |
bdrops [Bots] | Master | 打印给定机器人的助推器合格游戏数量 |
笔记
ASF 关闭时尚未完成的任何booster
命令将在下次运行 ASF 时自动恢复。
命令 | 使用权 | 描述 |
---|---|---|
gems [Bots] | Master | 显示给定机器人拥有的宝石数量。 |
lootgems [Bots] | Master | 将所有宝石从给定机器人发送给Master 用户。 |
lootsacks [Bots] | Master | 将所有“宝石袋”从给定机器人发送给Master 用户。 |
transfergems [Bot] | Master | 将提供的未包装宝石Amounts 从给定机器人发送到给定目标机器人。指定的Amounts 可以是发送到所有目标机器人的单个金额,或者分别发送到每个目标机器人的多个金额。您还可以使用queue 或q 作为数量来表示完成目标机器人的助推器队列所需的宝石数量。 |
transfergems^ [Bots] | Master | 将所有宝石从给定机器人发送到给定目标机器人。 |
transfersacks [Bots] | Master | 将所有“宝石袋”从给定机器人发送到给定目标机器人。 |
unpackgems [Bots] | Master | 解开给定机器人拥有的所有“宝石袋”。 |
这些命令仅适用于可销售的助推器。要仅掠夺或转移无法销售的助推器,请将u
添加到命令的开头,例如: ulootboosters
。要掠夺或转移所有助推器,请在命令开头添加a
,例如: alootboosters
命令 | 使用权 | 描述 |
---|---|---|
boosters [Bots] | Master | 显示给定机器人拥有的可销售助推器的数量。 |
lootboosters [Bots] | Master | 将所有可销售的补充包从给定的机器人发送给Master 用户。 |
transferboosters [Bots] | Master | 将所有可销售的补充包从给定机器人发送到给定目标机器人。 |
这些命令仅适用于市售卡。要仅掠夺或转移不可销售的卡牌,请将u
添加到命令的开头,例如: ulootcards
。要掠夺或转移所有卡牌,请在命令a
添加 ,例如: alootcards
命令 | 使用权 | 描述 |
---|---|---|
cards [Bots] | Master | 显示给定机器人拥有的可销售非箔交易卡的数量。 |
foils [Bots] | Master | 显示给定机器人拥有的可销售箔交易卡的数量。 |
lootcards [Bots] | Master | 将所有可销售的非箔交易卡从给定机器人发送给Master 用户。 |
lootfoils [Bots] | Master | 将所有可销售的箔交易卡从给定的机器人发送给Master 用户。 |
transfercards [Bots] | Master | 将所有可销售的非箔交易卡从给定机器人发送到给定目标机器人。 |
transferfoils [Bots] | Master | 将所有可销售的箔交易卡从给定的机器人发送到给定的目标机器人。 |
命令 | 使用权 | 描述 |
---|---|---|
keys [Bots] | Master | 显示给定机器人拥有的“Mann Co. Supply Crate Key”的数量。 |
lootkeys [Bots] | Master | 将所有“Mann Co. Supply Crate Key”从给定机器人发送给Master 用户。 |
transferkeys [Bot] | Master | 将提供的“Mann Co. Supply Crate Key” Amounts 从给定机器人发送到给定目标机器人。指定的Amounts 可以是发送到所有目标机器人的单个金额,或者分别发送到每个目标机器人的多个金额。 |
transferkeys^ [Bots] | Master | 将所有“Mann Co. Supply Crate Key”从给定机器人发送到给定目标机器人。 |
这些命令忽略了适销性。要仅掠夺或转移可销售的物品,请将m
添加到命令的开头,例如: mlootitems
。要仅掠夺或转移无法销售的物品,请将u
添加到命令的开头,例如: ulootitems
。
命令 | 使用权 | 描述 |
---|---|---|
countitems | Master | 显示给定机器人拥有的具有匹配AppID 、 ContextID 和ItemIdentifier 的项目数。 |
lootitems | Master | 将具有匹配AppID 、 ContextID 和任何ItemIdentifiers 的所有项目从给定机器人发送到Master 用户。 |
transferitems | Master | 将具有匹配AppID 、 ContextID 和任何ItemIdentifiers 的所有项目从给定机器人发送到给定目标机器人。 |
transferitems^ | Master | 将一定数量的具有匹配AppID 、 ContextID 和任何ItemIdentifiers 的项目从给定机器人发送到给定目标机器人。指定的Amounts 可以是发送到所有目标机器人的每个项目的单一金额,或者分别发送到所有目标机器人的每个项目的不同金额。 |
transferitems% | Master | 将一定数量的具有匹配AppID 、 ContextID 和ItemIdentifier 的项目从给定机器人发送到给定目标机器人。指定的Amounts 可以是发送到所有目标机器人的单一金额,或者分别发送到每个目标机器人的不同金额。 |
命令 | 使用权 | 描述 |
---|---|---|
trade2faok [Bot] [Minutes] | Master | 接受给定机器人实例的所有待处理 2FA 交易确认。可以选择每Minutes 重复一次此操作。要取消任何重复,请将Minutes 设置为 0。 |
tradecheck [Bot] | Master | 尝试使用 ASF 的交易逻辑处理给定机器人的任何传入交易。 |
tradesincoming [Bot] [From] | Master | 显示给定机器人的传入交易数量,可以选择过滤以仅计算From 给定机器人名称或 64 位 SteamID 的交易。 |
命令 | 使用权 | 描述 |
---|---|---|
buylimit | Master | 显示给定机器人的活跃买单价值,以及机器人距离达到买单限制的程度。 |
findlistings | Master | 显示属于给定机器人并匹配任何ItemIdentifiers 的任何市场列表的ListingIDs 。 |
findandremovelistings | Master | 删除属于给定机器人并匹配任何ItemIdentifiers 的任何市场列表。 |
listings [Bots] | Master | 显示给定机器人拥有的所有活跃市场列表的总价值。 |
removelistings [Bot] | Master | 删除属于给定机器人的市场ListingIDs 。 |
removepending | Master | 删除属于给定机器人的所有待处理市场列表。 |
market2faok [Bot] [Minutes] | Master | 接受给定机器人实例的所有待定 2FA 市场确认。可以选择每Minutes 重复一次此操作。要取消任何重复,请将Minutes 设置为 0。 |
value [Bots] [BalanceLimit] | Master | 显示给定机器人拥有的所有活跃市场列表的总钱包余额和总价值。您所在地区允许的最大余额可能以BalanceLimit (一个整数)的形式提供,它将显示给定机器人距离达到该限制的程度。 |
命令 | 使用权 | 描述 |
---|---|---|
logdata [Bots] | Master | logboosterdata 、 loginventoryhistory 、 logmarketlistings 和logmarkethistory 命令的组合。 |
logboosterdata [Bots] | Master | 从给定的机器人收集助推器数据并将其发送到BoosterDataAPI |
loginventoryhistory [Bots] [Count] [StartTime] [TimeFrac] [S] | Master | 从给定机器人收集库存历史数据并将其发送到InventoryHistoryAPI 。库存历史记录的页数可以使用Count 指定,并且可以从单独由StartTime 或StartTime 、 TimeFrac 和S 的组合指定的页面开始 |
logmarketlistings [Bots] | Master | 从给定机器人收集市场列表数据并将其发送到MarketListingsAPI |
logmarkethistory [Bots] [Count] [Start] | Master | 从给定机器人收集市场历史数据并将其发送到MarketHistoryAPI 。市场历史的页数可以使用Count 指定,并且可以从Start 指定的页面开始 |
logstop [Bots] | Master | 停止任何正在运行的loginventoryhistory 或logmarkethistory 命令。 |
命令 | 使用权 | 描述 |
---|---|---|
boostermanager | FamilySharing | 打印插件的版本。 |
项目标识符是某些命令中使用的输入,它允许您定位特定项目或项目组。如果命令允许多个项目标识符,则每个标识符必须用&&
而不是逗号分隔。项目标识符的有效格式如下:
格式 | 例子 |
---|---|
ItemName | 标识符Gems 将匹配所有“Gems”项目 |
ItemType | Steam Gems 标识符将匹配所有“Sack of Gems”和“Gems”物品 |
HashName | 标识符753-Sack of Gems 或753-Sack%20of%20Gems 将匹配所有“Sack of Gems”物品 |
AppID::ContextID | 标识符753::6 将与所有 Steam 社区项目匹配 |
AppID::ContextID::ClassID | 标识符753::6::667933237 将匹配所有“Sack of Gems”项目 |
笔记
有关如何确定项目的AppID
、 ContextID
、 ClassID
、 ItemName
、 ItemType
和HashName
的信息可以在此处找到。
大多数复数命令也有非复数别名;例如: lootboosters
别名为lootbooster
命令 | 别名 |
---|---|
buylimit | bl |
findlistings | fl |
findandremovelistings | frl |
removelistings | rlistings , removel |
removepending | rp |
logboosterdata | logbd |
loginventoryhistory | logih |
logmarketlistings | logml |
logmarkethistory | logmh |
market2faok | m2faok |
trade2faok | t2faok |
tradecheck | tc |
tradesincoming | ti |
命令 | 别名 |
---|---|
bstatus ASF | bsa |
bstatus^ ASF | bsa^ |
boosters asf | ba |
buylimit ASF | bla |
cards asf | ca |
foils asf | fa |
gems ASF | ga |
keys ASF | ka |
listings ASF | lia |
logdata ASF | lda loga |
lootboosters ASF | lba |
lootcards ASF | lca |
lootfoils ASF | lfa |
lootgems ASF | lga |
lootkeys ASF | lka |
lootsacks ASF | lsa |
market2faok ASF [Minutes] | m2faoka [Minutes] |
trade2faok ASF [Minutes] | t2faoka [Minutes] |
tradecheck ASF | tca |
tradesincoming ASF [From] | tia [From] |
tradesincoming ASF ASF | tiaa |
transferboosters ASF | tba |
transfercards ASF | tca |
transferfoils ASF | tfa |
value ASF [BalanceLimit] | va [BalanceLimit] |
bool
类型,默认值为true
。可以将此配置设置添加到您的ASF.json
配置文件中。如果设置为false
,则不可交易的宝石将不会用于制作助推器,并且unpackgems
命令不会解压不可交易的“宝石袋”。
"AllowCraftUntradableBoosters" : false ,
bool
类型,默认值为true
。可以将此配置设置添加到您的ASF.json
配置文件中。如果设置为false
,该插件将不会制作无法销售的助推器。
"AllowCraftUnmarketableBoosters" : false ,
笔记
该插件无法立即检测游戏的助推器何时从可销售变为不可销售。通常需要约 4 小时才能检测到此变化。
HashSet
类型,默认值为[]
。可以将此配置设置添加到您的个人机器人配置文件中。它将自动将所有AppIDs
添加到该机器人的助推器队列中,并在制作完成后自动重新排队。
例子:
"GamesToBooster" : [ 730 , 570 ],
笔记
无法使用任何命令从 booster 队列中删除任何这些AppIDs
。您想要进行的任何更改都需要在配置文件中进行。
string
类型,没有默认值。可以将此配置设置添加到您的ASF.json
配置文件中。使用logboosterdata
命令时,将收集助推器数据并将其发送到位于指定 url 的 API。
例子:
"BoosterDataAPI" : " http://localhost/api/boosters " ,
您需要设计 API 以按照以下规范接受请求并返回响应:
方法: POST
内容类型: application/json
姓名 | 类型 | 描述 |
---|---|---|
steamid | ulong | data 所属机器人的 SteamID |
source | string | https://steamcommunity.com/tradingcards/boostercreator/ |
data | JArray | 从source 解析数据并作为对象数组发送。详细如下。 |
data[][appid] | uint | 助推器游戏 AppID |
data[][name] | string | 助推器游戏名称 |
data[][series] | uint | 增压器系列号 |
data[][price] | uint | 宝石助推器的价格 |
data[][unavailable] | bool | 当助推器处于 24 小时冷却时设置为true |
data[][available_at_time] | string? | ISO 8601 格式的日期和时间字符串,如果unavailable 为false ,则将为null |
内容类型: application/json
姓名 | 类型 | 必需的 | 描述 |
---|---|---|---|
success | bool | 是的 | 无论您的操作成功还是失败。 |
message | string | 不 | 将显示的自定义消息代替默认的成功/失败消息 |
show_message | bool | 不 | 是否显示任何消息 |
string
类型,没有默认值。可以将此配置设置添加到您的ASF.json
配置文件中。使用logmarketlistings
命令时,将收集市场列表数据并将其发送到位于指定 url 的 API。
例子:
"MarketListingsAPI" : " http://localhost/api/listings " ,
您需要设计 API 以按照以下规范接受请求并返回响应:
方法: POST
内容类型: application/json
姓名 | 类型 | 描述 |
---|---|---|
steamid | ulong | data 所属机器人的 SteamID |
source | string | https://steamcommunity.com/market/mylistings?norender=1 |
data | JObject | 直接从source 获取的数据,并将空字符串值转换为null |
注意此处不支持分页。虽然
source
确实支持data[listings]
分页,但可以使用市场历史 API 重新创建该信息。
内容类型: application/json
姓名 | 类型 | 必需的 | 描述 |
---|---|---|---|
success | bool | 是的 | 无论您的操作成功还是失败。 |
message | string | 不 | 将显示的自定义消息代替默认的成功/失败消息 |
show_message | bool | 不 | 是否显示任何消息 |
string
类型,没有默认值。可以将此配置设置添加到您的ASF.json
配置文件中。使用logmarkethistory
命令时,将收集市场历史数据并将其发送到位于指定 url 的 API。
例子:
"MarketHistoryAPI" : " http://localhost/api/markethistory " ,
您需要设计 API 以按照以下规范接受请求并返回响应:
方法: POST
内容类型: application/json
姓名 | 类型 | 描述 |
---|---|---|
steamid | ulong | data 所属机器人的 SteamID |
source | string | https://steamcommunity.com/market/myhistory?norender=1&count=500 |
page | uint | 页码,定义为floor(data[start] / 500) + 1 |
data | JObject | 直接从source 获取的数据,并将空字符串值转换为null |
注意多页
data
将按顺序请求,而不是并行请求。
内容类型: application/json
姓名 | 类型 | 必需的 | 描述 |
---|---|---|---|
success | bool | 是的 | 无论您的操作成功还是失败。如果有更多页面要获取,则插件仅在success 为true 时才会继续 |
message | string | 不 | 将显示的自定义消息代替默认的成功/失败消息 |
show_message | bool | 不 | 是否显示任何消息 |
get_next_page | bool | 不 | 是否获取下一页。如果插件已经要获取下一页,则这不会执行任何操作。 |
next_page | uint | 不 | 如果get_next_page 设置为true ,则将使用此页码获取下一页 |
string
类型,没有默认值。可以将此配置设置添加到您的ASF.json
配置文件中。使用loginventoryhistory
命令时,将收集库存历史数据并将其发送到位于指定 url 的 API。
例子:
"InventoryHistoryAPI" : " http://localhost/api/inventoryhistory " ,
您需要设计 API 以按照以下规范接受请求并返回响应:
方法: POST
内容类型: application/json
姓名 | 类型 | 描述 |
---|---|---|
steamid | ulong | data 所属机器人的 SteamID |
source | string | https://steamcommunity.com/my/inventoryhistory/?ajax=1 |
page | uint | 用于请求source start_time 查询参数的值。如果使用游标对象来请求source ,则这将等于cursor[time] |
cursor | JObject | 用于请求source cursor 对象查询参数的值 |
data | JObject | 直接从source 获取的数据,并将空字符串值转换为null |
注意Steam 的库存历史 API 文档可以在此处找到
注意多页
data
将按顺序请求,而不是并行请求。
内容类型: application/json
姓名 | 类型 | 必需的 | 描述 |
---|---|---|---|
success | bool | 是的 | 无论您的操作成功还是失败。如果有更多页面要获取,则插件仅在success 为true 时才会继续 |
message | string | 不 | 将显示的自定义消息代替默认的成功/失败消息 |
show_message | bool | 不 | 是否显示任何消息 |
get_next_page | bool | 不 | 是否获取下一页。如果插件已经要获取下一页,则这不会执行任何操作。 |
next_page | uint | 不 | 如果get_next_page 设置为true ,则将使用此页码获取下一页 |
next_cursor | JObject | 不 | 如果get_next_page 设置为true ,则将使用此游标对象获取下一页 |
HashSet
类型,默认值为[]
。可以将此配置设置添加到您的ASF.json
配置文件中。当使用loginventoryhistory
命令或InventoryHistory
IPC接口API端点时,结果将被过滤以仅显示来自这些AppIDs
的库存历史记录事件
例子:
"InventoryHistoryAppFilter" : [ 730 , 570 ],
uint
类型,默认值为15
。可以将此配置设置添加到您的ASF.json
配置文件中。当使用loginventoryhistory
或logmarkethistory
命令获取多个页面时,它将在每个页面获取之间添加Seconds
延迟。
例子:
"LogDataPageDelay" : 15 ,
应用程序编程接口 | 方法 | 参数 | 描述 |
---|---|---|---|
/API/BoosterManager/{botName}/BoosterData | GET | 检索给定机器人的助推器数据 | |
/API/BoosterManager/{botName}/MarketListings | GET | 检索给定机器人的市场列表数据 | |
/API/BoosterManager/{botName}/MarketHistory | GET | page | 检索给定机器人的市场历史数据 |
/API/BoosterManager/{botName}/InventoryHistory | GET | startTime , timeFrac , s | 检索给定机器人的库存历史数据 |
/API/BoosterManager/{botName}/GetBadgeInfo/{appID} | GET | border | 检索给定机器人的徽章信息 |
/API/BoosterManager/{botNames}/GetPriceHistory/{appID}/{hashName} | GET | 检索市场商品1 的价格历史记录 |
响应不依赖于发出这些请求的帐户。您可以提供多个botNames
,第一个可用的机器人将用于发出请求。 ↩