Основной клиент
Client
Одинаково для синхронного и асинхронного клиента.
steam_trader.Client
(api_token, *, base_url=None, headers=None)Класс, представляющий клиент Steam Trader.
Аргументы
- api_token
str
: Уникальный ключ для аутентификации.- proxy
str
, optional: Прокси для запросов. Для работы необходимо использовать контекстный менеджер with.- base_url
str
, optional: Ссылка на API Steam Trader.- headers
dict
, optional: Словарь, содержащий сведения об устройстве, с которого выполняются запросы. Используется при каждом запросе на сайт.
api_token
Уникальный ключ для аутентификации.
Тип:
str
proxy
, optional
Прокси для запросов. Для работы необходимо использовать контекстный менеджер with.
Тип:
str
base_url
, optional
Ссылка на API Steam Trader.
Тип:
str
headers
, optional
Словарь, содержащий сведения об устройстве, с которого выполняются запросы.
Тип:
dict
Использование:
from steam_trader import Client
client = Client('Ваш токен')
...
# или
with client:
...
from steam_trader import ClientAsync
client = ClientAsync('Ваш токен')
async def main():
async with client:
...
properety balance
Баланс клиента.
Возвращает:
float
sell
(self, itemid, assetid, price)
Создать предложение о продаже определённого предмета.
Если при создании предложения о ПРОДАЖЕ указать цену меньше, чем у имеющейся заявки на ПОКУПКУ, предложение о ПРОДАЖЕ будет исполнено моментально по цене заявки на ПОКУПКУ.
Например, на сайте есть заявка на покупку за 10 ₽, а продавец собирается выставить предложение за 5 ₽ (дешевле), то сделка совершится по цене 10 ₽.
Аргументы
- itemid
int
: Уникальный ID предмета.- assetid
int
: AssetID предмета в Steam.- price
int
: Цена, за которую хотите продать предмет без учёта комиссии/скидки.Возвращает: class
SellResult
buy
(self, id, type, price, currency=1)
Создать предложение о покупке предмета по строго указанной цене. Если в момент покупки цена предложения о продаже изменится, покупка не совершится.
Аргументы
id Union[
str
,int
]: В качества ID может выступать:
- GID для варианта покупки Commodity.
- Часть ссылки после nc/ (nc/L8RJI7XR96Mmo3Bu) для варианта покупки NoCommission.
- ID предложения о продаже для варианта покупки Offer (найти их можно в ItemInfo).
type
int
: Вариант покупки (указаны выше) - 1 / 2 / 3.- price
float
: Цена предложения о продаже без учёта комиссии/скидки.- currency
int
: Валюта покупки. Значение 1 - рубль.Заметка
Сайт пока работает только с рублями. Не меняйте значение currency.
Возвращает: class
BuyResult
create_buy_order
(self, gid, price, *, count=1)
Создать заявку на покупку предмета с определённым GID.
При создании запроса может произойти моментальная покупка по аналогии тому, как это сделано в методе sell.
Аргументы
- gid
int
: ID группы предметов.- price
float
: Цена предмета, за которую будете его покупать без учёта комиссии/скидки.- count
int
: Количество заявок для размещения (не более 500). По умолчанию - 1.Возвращает: class
BuyOrderResult
multi_buy
(self, gid, max_price, count)
Создать запрос о покупке нескольких предметов с определённым GID. Будут куплены самые лучшие (дешёвые) предложения о продаже.
Если максимальная цена ПОКУПКИ будет указана больше, чем у имеющихся предложений о ПРОДАЖЕ, ПОКУПКА совершится по цене предложений. Например, на сайте есть 2 предложения о продаже по цене 10 и 11 ₽, если при покупке указать максмальную цену 25 ₽, то сделки совершатся по цене 10 и 11 ₽, а общая сумма потраченных средств - 21 ₽.
Аргументы
- gid
int
: ID группы предметов.- max_price
float
: Максимальная цена одного предмета без учёта комиссии/скидки.- count
int
: Количество предметов для покупки.Возвращает: class
MultiBuyResult
edit_price
(self, id, price)
Редактировать цену предмета/заявки на покупку. При редактировании может произойти моментальная продажа/покупка по аналогии тому, как это сделано в методах sell и create_buy_order.
Аргументы
- id
int
: ID предложения о продаже/заявки на покупку.- price
float
: Новая цена, за которую хотите продать/купить предмет без учёта комиссии/скидки.Возвращает: class
EditPriceResult
delete_item
(self, id)
Снять предмет с продажи/заявку на покупку.
Аргументы
- id
int
: ID продажи/заявки на покупку.Возвращает: class
DeleteitemResult
get_down_orders
(self, gameid, *, order_type='sell')
Снять все заявки на продажу/покупку предметов.
Аргументы
- gameid
int
: AppID приложения в Steam.- order_type
LiteralString
: Тип заявок для удаления:
- "sell" - предложения о ПРОДАЖЕ. Значение по умолчанию.
- "buy" - предложения о ПОКУПКЕ.
Возвращает: class
GetDownOrdersResult
get_items_for_exchange
(self)
Получить список предметов для p2p обмена.
Возвращает: class
ItemsForExchange
exchange
(self)
Выполнить обмен с ботом.
Заметка
Вы сами должны принять трейд в приложении Steam, у вас будет 3 часа на это. В противном случае трейд будет отменён.
Возвращает: class
ExchangeResult
get_items_for_exchange_p2p
(self)
Получить список предметов для p2p обмена.
Возвращает: class
ItemsForExchange
exchange_p2p
(self)
Выполнить p2p обмен.
Заметка
Вы сами должны передать предмет клиенту из полученной информации.
Возвращает: class
ExchangeP2PResult
get_min_prices
(self, gid, currency=1)
Получить минимальные/максимальные цены предмета.
Аргументы
- gid
int
: ID группы предметов.- currency
int
: Валюта, значение 1 - рубль.Заметка
Сайт пока работает только с рублями. Не меняйте значение currency.
Возвращает: class
MinPrices
get_item_info
(self, gid)
Получить информацию о группе предметов.
Аргументы
- gid
int
: ID группы предметов.Возвращает: class
ItemInfo
get_order_book
(self, gid, *, mode='all', limit=None)
Получить заявки о покупке/продаже предмета.
Аргументы
- gid
int
: ID группы предметов- mode
LiteralString
: Режим отображения:
- "all" - отображать покупки и продажи. Значение по умолчанию.
- "sell" - отображать только заявки на ПРОДАЖУ.
- "buy" - отображать только заявки на ПОКУПКУ.
- limit
int
, optional: Максимальное количество строк в списке. По умолчанию - неограниченно.Возвращает: class
OrderBook
get_web_socket_token
(self)
Получить токен для авторизации в WebSocket.
Возвращает: class
WebSocketToken
get_inventory
(self, gameid, *, status=None)
Получить инвентарь клиента, включая заявки на покупку и купленные предметы. По умолчанию возвращает список предметов из инвентаря Steam, которые НЕ выставлены на продажу.
Аргументы
- gameid
int
: AppID приложения в Steam.- status Sequence[
int
], optional: Указывается, чтобы получить список предметов с определенным статусом.
- 0 - В продаже
- 1 - Принять
- 2 - Передать
- 3 - Ожидается
- 4 - Заявка на покупку
Возвращает: class
Inventory
get_buy_orders
(self, *, gameid=None, gid=None)
Получить последовательность заявок на покупку. По умолчанию возвращаются заявки для всех предметов из всех разделов. При указании соответствующих параметров можно получить заявки из определённого раздела и/или предмета.
Аргументы
- gameid
int
, optonal: AppID приложения в Steam.- gid
int
, optonal: ID группы предметов.Возвращает: class
BuyOrders
get_discounts
(self)
Получить комиссии/скидки и оборот на сайте. Данные хранятся в словаре data, где ключ - это AppID игры в Steam.
Возвращает: class
Discounts
set_trade_link
(self, trade_link)
Установить ссылку для обмена.
Аргументы
- trade_link
str
: Ссылка для обмена. Например, https://steamcommunity.com/tradeoffer/new/?partner=453486961&token=ZhXMbDS9
remove_trade_link
(self)
Удалить ссылку для обмена.
get_operations_history
(self, *, operation_type=None, page=0)
Получить историю операций. По умолчанию все типы.
Аргументы
- operation_type
int
, optional: Тип операции. Может быть пустым.
- 1 - Покупка предмета
- 2 - Продажа предмета
- 3 - Возврат за покупку
- 4 - Пополнение баланса
- 5 - Вывести средства
- 9 - Ожидание покупки
- 10 - Штрафной балл
- page
int
: Страница операций. Отсчёт начинается с 0.Возвращает: class
OperationsHistory
update_inventory
(self, gameid)
Обновить инвентарь игры на сайте.
Аргументы
- gameid
int
: AppID приложения в Steam.
get_inventory_state
(self, gameid)
Получить текущий статус обновления инвентаря.
Аргументы
- gameid
int
: AppID приложения в Steam.Возвращает: class
InventoryState
trigger_alt_web_socket
(self)
Создать запрос альтернативным WebSocket. Для поддержания активного соединения нужно делать этот запрос каждые 2 минуты.
Возвращает: class
AltWebSocket
, optional