Загрузка...

Script
PyPlayerokAPI - Python SDK for working with Playerok

Thread in Python created by kekch127 Mar 5, 2026. (bumped Mar 23, 2026) 292 views

  1. kekch127
    kekch127 Topic starter Mar 5, 2026 1,273 Oct 5, 2020
    Асинхронный Python SDK для работы с Playerok API
    GraphQL • Streaming • Proxy • Production-ready transport

    PyPlayerokAPI - асинхронная библиотека для работы с платформой Playerok. Она представляет собой удобный SDK для взаимодействия с API сервиса, получения ивентов (событий) в реальном времени и автоматизации работы с аккаунтами.

    Доступный функционал:
    - получение полной информации аккаунта (сделки, предметы, чаты и сообщения и т.д.)
    - получение всей информации о играх, категориях, профилей пользователей и т.д.
    - создание, обновление предметов, отправка сообщений так-же доступны
    - кастомные маркеры ивентов, определение поведения для каждого ивента, поддержка декораторов
    - поиск сообщений по тексту/regex/наличию одному-множества и всех ключевых слов
    - и многое, многое другое

    Стриминг ивентов построен на основе синтаксиса привязки хендлеров, похожим на Aiogram / FastAPI / любой другой событийно-ориентированный фреймворк.

    Все ивенты закрепляются конкретно за своим аккаунтом. Поэтому не будет проблем при поиске аккаунта, на который пришел ивент.

    Основа, которая используется:
    - Pydantic для сериализации / десериализации / валидации данных
    - curl_cffi для работы с Cloudflare, вебсокетом

    Подробнее о работе можно узнать из документации на Github.

    Github проекта
    PyPI

    Данная библиотека является переработанной и архитектурно переосмысленной версией проекта PlayerokAPI. (от разработчика avatarextractorgg)
    Я реорганизовал кодовую базу, т.к. в его исполнении она представляет собой "монолит".
    Проект не является форком, а представляет собой самостоятельную реализацию с переработанной структурой.
     
  2. AS7RID
    AS7RID Mar 5, 2026 Первоклассный пушистик 17,648 Jun 11, 2019
    [IMG]
    Эх баля, а нахуя тебе это все? curl_cffi мейн либа для реквестов, requests/tls_requests тебе тут не нужны, я хуй знает на кой хуй ты их в коде смешал. websocket-client тебе тоже не нужен, curl_cffi умеет в работу с вебсокетом
     
    1. View previous comments (2)
    2. kekch127 Topic starter
      avatarAS7RID, об этом я вкурсе, но либо я криворукий, либо что, но он не дает отправить вообще никак :(
      Он просто раисит ошибку запроса и все
    3. AS7RID
      Mar 5, 2026 Edited
    4. kekch127 Topic starter
      avatarAS7RID, короче да, разобрался, с помощью о великого ИИ но разобрался +-

      Из-за нативки короче приходится мультипарт фул вручную строить
      Спасибо за фидбек, увидишь еще что-то - пиши!

      Исправленный кусок кода:
      Python
      if files:
      headers.pop("content-type", None)
      mime = curl_cffi.CurlMime()

      if payload:
      for k, v in payload.items():
      mime.addpart(name = k, data = v)

      for name, file_tuple in files.items():
      if isinstance(file_tuple, tuple):
      filename = file_tuple[0]
      fileobj = file_tuple[1]
      else:
      fileobj = file_tuple
      filename = getattr(fileobj, "name", "file")

      mime_type, _ = mimetypes.guess_type(filename)
      if mime_type is None:
      mime_type = "application/octet-stream"

      mime.addpart(
      name = name,
      filename = filename,
      local_path = fileobj.name,
      content_type = mime_type
      )

      return self.__curl_session.post(
      url = url,
      headers = headers,
      multipart = mime,
      timeout = self.requests_timeout,
      )
  3. kekch127
    kekch127 Topic starter Mar 8, 2026 1,273 Oct 5, 2020
    [Поднято кнопкой]

    Обновления библиотеки 1.1.3 -> 1.1.5

    1.1.4
    - Очищен код и зависимости

    - Основные Нововведения
    - Добавлен поиск сообщений по определенному тексту/regex/одному-множеству-наличию всех ключевым словам
    - Добавлен механизм поддержки сессии вебсокета для каждого клиента (KeepAlive)

    - Ипсравлено
    - Исправлена ошибка, когда при поиске сообщений ивент `NEW_MESSAGE` отрабатывал для всех маркеров. Теперь ивенты с поиском по определенному параметру не вызывают отдельно ивент `NEW_MESSAGE` (router.on_new_message(marker = "marker") не вызывает router.on_new_message())
    - Изменен вебсокет клиент (переход с `websockets` на `curl_cffi`)

    1.1.5
    - Библиотека полностью мигрировала на Async реализацию
    - Добавлены ****** для получения атрибутов аккаунта
    - Исправлен транспорт
    - Почищены зависимости
    - Обновлена документация
     
Loading...