Этот плагин предоставляет простой в использовании интерфейс для превращения драгоценных камней в бустеры, а также включает инструменты для управления коллекционными карточками и другими сопутствующими предметами в ваших инвентарях и на рынке.
Этот проект изначально был основан на плагине Booster Creator от Outzzz и Рудохвиста.
plugins
внутри папки ASF.Примечание
Этот плагин протестирован только на работу с дженериком ASF. Он может работать, а может и не работать с другими вариантами 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 | Печатает количество игр, подходящих для бустеров, для данных ботов. |
Примечание
Любые команды booster
, которые не были завершены при закрытии ASF, автоматически возобновляются при следующем запуске 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 | Отображает количество «Ключей от ящика с припасами Манн Ко», принадлежащих данному боту. |
lootkeys [Bots] | Master | Отправляет все «Ключи от ящика с припасами Манн Ко» от данного бота Master пользователю. |
transferkeys [Bot] | Master | Отправляет предоставленное Amounts «Ключа от ящика с припасами Манн Ко» от данного бота к указанному целевому боту. Указанные Amounts могут представлять собой единую сумму, отправленную всем целевым ботам, или несколько сумм, отправленных каждому целевому боту соответственно. |
transferkeys^ [Bots] | Master | Отправляет все «Ключи от ящика с припасами Манн Ко» от данного бота к указанному целевому боту. |
Эти команды игнорируют конкурентоспособность. Чтобы добыть или передать только продаваемые предметы, добавьте 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 | Отображает ListingIDs любого листинга рынка, принадлежащего данному боту и совпадающего с любым из ItemIdentifiers . |
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 будут соответствовать всем предметам «Мешок с драгоценными камнями». |
AppID::ContextID | Идентификатор 753::6 будет соответствовать всем предметам сообщества Steam. |
AppID::ContextID::ClassID | Идентификатор 753::6::667933237 будет соответствовать всем предметам «Мешок с драгоценностями». |
Примечание
Информацию о том, как определить 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 ],
Примечание
Невозможно удалить ни один из этих AppIDs
из очереди бустера с помощью каких-либо команд. Любые изменения, которые вы хотите внести, необходимо будет внести в файл конфигурации.
string
тип без значения по умолчанию. Этот параметр конфигурации можно добавить в файл конфигурации ASF.json
. При использовании команды logboosterdata
данные Booster будут собраны и отправлены в API, расположенный по указанному URL-адресу.
Пример:
"BoosterDataAPI" : " http://localhost/api/boosters " ,
Вам нужно будет разработать свой API для приема запросов и возврата ответов в соответствии со следующими спецификациями:
Метод : POST
Тип контента : application/json
Имя | Тип | Описание |
---|---|---|
steamid | ulong | SteamID бота, которому принадлежат data |
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 | Установите значение true , когда бустер находится на 24-часовом перезарядке. |
data[][available_at_time] | string? | Строка даты и времени в формате ISO 8601. Если unavailable равно false , оно будет null |
Тип контента : application/json
Имя | Тип | Необходимый | Описание |
---|---|---|---|
success | bool | Да | Успешны ли ваши операции или нет. |
message | string | Нет | Пользовательское сообщение, которое будет отображаться вместо стандартного сообщения об успехе/неуспехе. |
show_message | bool | Нет | Показывать или нет какое-либо сообщение |
string
тип без значения по умолчанию. Этот параметр конфигурации можно добавить в файл конфигурации ASF.json
. При использовании команды logmarketlistings
данные о листинге рынка будут собраны и отправлены в API, расположенный по указанному URL-адресу.
Пример:
"MarketListingsAPI" : " http://localhost/api/listings " ,
Вам нужно будет разработать свой API для приема запросов и возврата ответов в соответствии со следующими спецификациями:
Метод : POST
Тип контента : application/json
Имя | Тип | Описание |
---|---|---|
steamid | ulong | SteamID бота, которому принадлежат data |
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
данные истории рынка будут собраны и отправлены в API, расположенный по указанному URL-адресу.
Пример:
"MarketHistoryAPI" : " http://localhost/api/markethistory " ,
Вам нужно будет разработать свой API для приема запросов и возврата ответов в соответствии со следующими спецификациями:
Метод : POST
Тип контента : application/json
Имя | Тип | Описание |
---|---|---|
steamid | ulong | SteamID бота, которому принадлежат data |
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 | Да | Успешны ли ваши операции или нет. Если нужно загрузить больше страниц, плагин продолжит работу только в случае true success . |
message | string | Нет | Пользовательское сообщение, которое будет отображаться вместо стандартного сообщения об успехе/неуспехе. |
show_message | bool | Нет | Показывать или нет какое-либо сообщение |
get_next_page | bool | Нет | Нужно ли получать следующую страницу. Если плагин все равно уже собирался получить следующую страницу, это ничего не даст. |
next_page | uint | Нет | Если для get_next_page установлено значение true , следующая страница будет загружена с использованием этого номера страницы. |
string
тип без значения по умолчанию. Этот параметр конфигурации можно добавить в файл конфигурации ASF.json
. При использовании команды loginventoryhistory
данные истории инвентаризации будут собраны и отправлены в API, расположенный по указанному URL-адресу.
Пример:
"InventoryHistoryAPI" : " http://localhost/api/inventoryhistory " ,
Вам нужно будет разработать свой API для приема запросов и возврата ответов в соответствии со следующими спецификациями:
Метод : POST
Тип контента : application/json
Имя | Тип | Описание |
---|---|---|
steamid | ulong | SteamID бота, которому принадлежат data |
source | string | https://steamcommunity.com/my/inventoryhistory/?ajax=1 |
page | uint | Значение параметра запроса start_time используемого для запроса source . Если вместо этого для запроса source использовался объект курсора, это будет равно cursor[time] |
cursor | JObject | Значение параметра запроса объекта cursor , используемого для запроса source |
data | JObject | Данные взяты непосредственно из source с пустыми строковыми значениями, преобразованными в null |
Примечание. Документацию по API истории инвентаря Steam можно найти здесь.
Примечание. Несколько страниц
data
будут запрашиваться последовательно, а не параллельно.
Тип контента : application/json
Имя | Тип | Необходимый | Описание |
---|---|---|---|
success | bool | Да | Успешны ли ваши операции или нет. Если нужно загрузить больше страниц, плагин продолжит работу только в случае true success . |
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
или конечной точки API интерфейса IPC InventoryHistory
результаты будут фильтроваться так, чтобы отображались только события истории инвентаризации из этих AppIDs
Пример:
"InventoryHistoryAppFilter" : [ 730 , 570 ],
Тип uint
со значением по умолчанию 15
. Этот параметр конфигурации можно добавить в файл конфигурации ASF.json
. При использовании команд loginventoryhistory
или logmarkethistory
для получения нескольких страниц между выборками каждой страницы будет добавлена задержка Seconds
.
Пример:
"LogDataPageDelay" : 15 ,
API | Метод | Параметры | Описание |
---|---|---|---|
/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
, и для выполнения запроса будет использоваться первый доступный бот. ↩