Загрузка...

Проблема с функцией get_my_market_history в библиотеке aiosteampy на python

Тема в разделе Python создана пользователем bebra643783 31 мар 2025. 67 просмотров

  1. bebra643783
    bebra643783 Автор темы 31 мар 2025 0 29 май 2023
    При попытке получить историю продаж на маркете выдает это:
    Код
    Traceback (most recent call last):
    File "C:\Users\rusla\PycharmProjects\SteamBot\main.py", line 42, in <module>
    asyncio.run(main()) # Запуск асинхронной функции
    ~~~~~~~~~~~^^^^^^^^
    File "C:\Python\Lib\asyncio\runners.py", line 195, in run
    return runner.run(main)
    ~~~~~~~~~~^^^^^^
    File "C:\Python\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
    File "C:\Python\Lib\asyncio\base_events.py", line 725, in run_until_complete
    return future.result()
    ~~~~~~~~~~~~~^^
    File "C:\Users\rusla\PycharmProjects\SteamBot\main.py", line 34, in main
    market_history, total_count = await client.get_my_market_history(count=1)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\rusla\PycharmProjects\SteamBot\.venv\Lib\site-packages\aiosteampy\mixins\market.py", line 937, in get_my_market_history
    self._parse_item_descrs_from_my_listings(rj["assets"], _item_descriptions_map)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\rusla\PycharmProjects\SteamBot\.venv\Lib\site-packages\aiosteampy\mixins\market.py", line 711, in _parse_item_descrs_from_my_listings
    for app_id, app_data in (data["assets"] or {}).items(): # thanks Steam for an empty list instead of a dict
    ~~~~^^^^^^^^^^
    KeyError: 'assets'
     
    1. Y4sperMaglot
      bebra643783, устарела библиотека походу получается
    2. bebra643783 Автор темы
      Y4sperMaglot, Какие есть альтернативы на замену? Чтоб была функция получения истории продаж на маркете, в steampy вроде как её нет
    3. Y4sperMaglot
      bebra643783, хз бро, я стим библиотеки вообще не трогал в своей жизни
  2. n1s_01
    Steam API иногда возвращает пустой список или объект с отсутствующими ключами вместо ожидаемого словаря с данными. В твоем случае ожидается, что в rj["assets"] будет словарь, но сервер вернул что-то другое мб none или прост пустой список.
    Это подтверждается комментарием в коде библиотеки: "thanks Steam for an empty list instead of a dict"
     
    1. n1s_01
      n1s_01, попробуй че нить такое
      Python
      async def main():
      client = SteamClient(...)
      market_history, total_count = await client.get_my_market_history(count=1)
      print("Ответ от Steam:", market_history)
      return market_history, total_count

      asyncio.run(main())
      что бы точно узнать че он тебе возвращает
      31 мар 2025 Изменено
  3. bebra643783
    bebra643783 Автор темы 31 мар 2025 0 29 май 2023
    Судя по всему просто библиотека устарела, я пробовал выводить rj, до того как идёт rj["assets"], он пытается обратиться к assets хотя в rj уже помещен assets
     
Загрузка...
Top