Skip to content

Основной клиент

Client

Одинаково для синхронного и асинхронного клиента.

class 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

Установить ссылку для обмена.

Аргументы

  • 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