Skip to main content

Прослойка между aioFunPayAPI и клиентом.

Project description

aioFunPayAPI

Полностью асинхронный форк оригинальной библиотеки FunPayAPI от LIMBODS, переписанный на asyncio и aiohttp для легкого написания неблокирующих ботов FunPay.

Установка

pip install aioFunPayAPI

Быстрый старт

Пример простого асинхронного бота, который отвечает на сообщение с текстом «привет»:

import asyncio
from aioFunPayAPI import Account, Runner
from aioFunPayAPI.enums import EventTypes

async def main():
    # Создаем класс аккаунта и асинхронно получаем его данные.
    acc = await Account(golden_key="YOUR_GOLDEN_KEY").get()
    print(f"Авторизован как {acc.username} (ID: {acc.id})")

    # Создаем прослушиватель событий.
    runner = Runner(acc)

    # Асинхронно прослушиваем события
    async for event in runner.listen(requests_delay=6.0):
        # Если событие — новое сообщение
        if event.type == EventTypes.NEW_MESSAGE:
            # Если текст сообщения "привет" и оно отправлено не нами
            if event.message.text and event.message.text.lower() == "привет" and event.message.author_id != acc.id:
                # Отправляем ответное сообщение асинхронно
                await acc.send_message(event.message.chat_id, "Ну привет...")
                runner.mark_as_by_bot(event.message.chat_id, event.message.id)

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

Выдача товара при новом заказе

Пример асинхронного бота, который выдает товар при новом оплаченном заказе:

import asyncio
from aioFunPayAPI import Account, Runner
from aioFunPayAPI.enums import EventTypes, OrderStatuses

async def main():
    acc = await Account(golden_key="YOUR_GOLDEN_KEY").get()
    runner = Runner(acc)

    async for event in runner.listen(requests_delay=6.0):
        # Если событие — новый заказ
        if event.type == EventTypes.NEW_ORDER:
            # Обязательно очищаем ID от знака '#'
            clean_id = event.order.id.replace("#", "")
            
            if event.order.status == OrderStatuses.PAID:
                order_info = await acc.get_order(clean_id)
                # Отправляем товар в чат покупателю
                await acc.send_message(
                    order_info.chat_id,
                    f"Привет, {event.order.buyer_username}!\nВот твой товар: ..."
                )

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

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

aiofunpayapi-1.1.3.tar.gz (46.8 kB view details)

Uploaded Source

Built Distribution

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

aiofunpayapi-1.1.3-py3-none-any.whl (49.4 kB view details)

Uploaded Python 3

File details

Details for the file aiofunpayapi-1.1.3.tar.gz.

File metadata

  • Download URL: aiofunpayapi-1.1.3.tar.gz
  • Upload date:
  • Size: 46.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for aiofunpayapi-1.1.3.tar.gz
Algorithm Hash digest
SHA256 ceec3ebf0c8cb408ced2d18bdefa2c980d2b67d46c7423aed65d0ea6bd9a5d52
MD5 8ea995a795ef15c269688b8dc9c7c114
BLAKE2b-256 998dff229deaec8d03466b285f7a34111b0f53952b722eba5a50b0624ed0ab42

See more details on using hashes here.

File details

Details for the file aiofunpayapi-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: aiofunpayapi-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 49.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for aiofunpayapi-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d82dbdadd90fe544946ac5b22412e6e89182e4a53637d701abca61c45869627d
MD5 e07b48acdcb3732e8e5e848b2dd7979a
BLAKE2b-256 d0f21ec9807439eef94128113ce71ed56e78360758c3aafcc4e6770d67bdc555

See more details on using hashes here.

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