Skip to main content

Автоматизация работы с FunPay

Project description

Python Version License

fpx

fpx - асинхронный фреймворк и библиотека для упрощения взаимодействия с funpay.com, с целью максимальной скорости и простоты входа

GitHub Read the Docs Telegram PyPI


Оригинальный сайт не предоставляет публичного API для разработчиков. Фреймворк написан в качестве исправления данной проблемы.

Особенности

  • В отличие от FunPayAPI фреймворк работает на декораторах, что сильно упрощает разработку
  • Стиль проекта сформирован из популярных фреймворков, таких как aiogram, fastapi, starlette
  • Очень простой код, ниже реализован пример

Установка

Установка библиотеки:

pip install fpx-engine  

Обновление библиотеки:

pip install -U fpx-engine

Пример использования

Получение нового сообщения и автоматический ответ на него:

import asyncio
from fpx import FunPayTools, types

async def main():
    # инициализируем аккаунт (golden_key и golden_seal - куки твоего аккаунта на funpay.com)
    fp = FunPayTools('golden_key', 'golden_seal')
    # ловим сообщение
    @fp.router.on_message()
    async def answer_message(message: types.Message):
        # отвечаем на сообщение
        await message.answer('Привет')
    #запускаем приём событий
    await fp.runner.start_polling(3, is_background=True)
    await fp.runner.idle()

if __name__ == '__main__':
    asyncio.run(main())

Архитектура

Как устроен приём событий

Из-за отсутсвтия вебхуков или подобной технологии на фанпей, fpx работает через polling, раз в заданное кол-во секунд делает несколько запросов на фанпей, а именно отслеживание сообщений, заказов, отзывов, демперов, записывает их в кеш и сравнивает новые данные со старыми, если находит отличие то вызывает хендлер.

Фильтры в хендлерах

Вместо ручной обработки есть возможность использовать множество встроенных фильтров, но при желании всё также можно добавить свой кастомный фильтр.
Пример:

@fp.router.on_message(text='start')
async def cmd_start(message: types.Message):
    await message.answer('На связи')

Отличия от других утилит

В отличие от коллег, fpx полностью асинхронный фреймворк, с максимальной простотой входа. У фреймворка есть полезные встроенные инструменты, в пример можно взять fp.router.message_commands() который регистрирует команды одной строчкой.

Экосистема

Вы можете использовать телеграм бот FunPayX как оболочку над фреймворком с уже встроенными автоматизациями

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fpx_engine-0.7.3.tar.gz (42.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fpx_engine-0.7.3-py3-none-any.whl (56.9 kB view details)

Uploaded Python 3

File details

Details for the file fpx_engine-0.7.3.tar.gz.

File metadata

  • Download URL: fpx_engine-0.7.3.tar.gz
  • Upload date:
  • Size: 42.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fpx_engine-0.7.3.tar.gz
Algorithm Hash digest
SHA256 6cade2acfd3c2753b4006c4d97bae53c1dce1633ba71da61bbcbb8617babecb0
MD5 47e31f42c20a61e21ee31417e497c9c4
BLAKE2b-256 3cab5c4ad6c510c29826955cf485ad2db4f94b53af341f257ede7bc096d8b34b

See more details on using hashes here.

Provenance

The following attestation bundles were made for fpx_engine-0.7.3.tar.gz:

Publisher: publish.yml on bymyforge/fpx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fpx_engine-0.7.3-py3-none-any.whl.

File metadata

  • Download URL: fpx_engine-0.7.3-py3-none-any.whl
  • Upload date:
  • Size: 56.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fpx_engine-0.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 646a3ab076f56de63da84ef634753db2350947fda6c46bafa558e4eca720b4b5
MD5 07a2f8b90aedee63e88efe092285abe1
BLAKE2b-256 3a665f354c01b5d2202d8bb84123b837b9e0a2e170828110c15e1f86eee0bff4

See more details on using hashes here.

Provenance

The following attestation bundles were made for fpx_engine-0.7.3-py3-none-any.whl:

Publisher: publish.yml on bymyforge/fpx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page