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.4.tar.gz (43.0 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.4-py3-none-any.whl (57.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fpx_engine-0.7.4.tar.gz
  • Upload date:
  • Size: 43.0 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.4.tar.gz
Algorithm Hash digest
SHA256 94e9cf334facff2c5e513c53570ffcbdc9e5e2b5d34127251945d8d24169f741
MD5 0bf3f80bb39f9f6b3cc3ed654cac26f2
BLAKE2b-256 08610f2c68315709a575e2242ebcf4ac55a1d6463b299bdfa28a885216c20417

See more details on using hashes here.

Provenance

The following attestation bundles were made for fpx_engine-0.7.4.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.4-py3-none-any.whl.

File metadata

  • Download URL: fpx_engine-0.7.4-py3-none-any.whl
  • Upload date:
  • Size: 57.1 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6192d5ce4879332e8219107db0fc793fe66b58fa32163a0a00a2195755e9d77d
MD5 9522abc32edab29204bfe3c4cce9e94f
BLAKE2b-256 8af5226e86d138988ca42c578d0d9f95382e6b34eaafbf80fd3e5e457bcc45b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for fpx_engine-0.7.4-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