Skip to main content

Асинхронная Python-библиотека для взаимодействия с API сервиса CheatBot.

Project description

🚀 CheatBot API: Асинхронная Python-библиотека

PyPI - Version CI/CD Pipeline License

cheatbot — это мощная и интуитивно понятная асинхронная Python-библиотека, разработанная для бесшовного взаимодействия с API сервиса CheatBot. Она предоставляет удобный интерфейс для управления задачами, получения информации о сервисах и профиле, а также автоматизации рутинных операций.

✨ Особенности

  • Полностью асинхронная: Построена на asyncio для высокопроизводительных и неблокирующих операций.
  • Типобезопасность: Использует pydantic для строгой валидации данных и автодополнения.
  • Простота использования: Чистый и понятный API, который легко интегрировать в ваши проекты.
  • Надежность: Встроенная обработка ошибок и исключений для стабильной работы.
  • Гибкость: Поддержка всех основных функций CheatBot API.

🚀 Начало работы

Эти инструкции помогут вам быстро запустить проект на вашем локальном компьютере.

📋 Предварительные требования

Для работы с проектом вам понадобится uv — чрезвычайно быстрый установщик и распознаватель пакетов Python.

▶️ Быстрый старт

Чтобы использовать библиотеку в своем проекте, вы можете установить ее прямо из PyPI или GitHub:

Установка из PyPI (рекомендуется):

pip install cheatbot

Установка из GitHub (для последней версии):

pip install git+https://github.com/simonether/cheatbot.git

Вот простой пример использования клиента для получения информации о профиле и сервисах:

import asyncio
import os

from cheatbot import CheatBotClient

async def main():
    # Убедитесь, что переменная окружения CHEATBOT_API_KEY установлена
    api_key = os.getenv("CHEATBOT_API_KEY")
    if not api_key:
        raise ValueError("Переменная окружения CHEATBOT_API_KEY не установлена. Пожалуйста, установите ее.")

    # Инициализация клиента. Используйте async with для автоматического закрытия сессии.
    async with CheatBotClient(api_key) as client:
        print("\n--- Информация о профиле ---")
        profile = await client.get_profile_info()
        print(f"Баланс: {profile.balance} RUB")
        print(f"ID пользователя: {profile.user_id}")

        print("\n--- Доступные сервисы ---")
        # Получение всех сервисов
        services = client.services.get_all()
        print(f"Всего доступных сервисов: {len(services)}")

        # Пример поиска конкретного сервиса по ID
        service_id_to_find = 40 # Пример ID сервиса
        service = client.services.get_by_id(service_id_to_find)
        if service:
            print(f"Найден сервис (ID: {service_id_to_find}): {service.name} (Категория: {service.category_name})")
        else:
            print(f"Сервис с ID {service_id_to_find} не найден.")

        # Пример создания задачи (замените на реальные данные)
        # try:
        #     new_task = await client.create_task(
        #         service_id=1, # Замените на реальный ID сервиса
        #         link="https://example.com/post", # Замените на реальную ссылку
        #         quantity=10 # Замените на желаемое количество
        #     )
        #     print(f"\nЗадача успешно создана! ID задачи: {new_task.id}, Статус: {new_task.status}")
        # except Exception as e:
        #     print(f"\nОшибка при создании задачи: {e}")

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

🧪 Запуск тестов

Для запуска тестов используйте pytest:

uv run pytest

🤝 Участие

Мы приветствуем любой вклад в развитие проекта! Пожалуйста, ознакомьтесь с нашим руководством по участию и кодексом поведения.

📄 Лицензия

Этот проект распространяется под лицензией MIT. Подробности смотрите в файле LICENSE.

❓ Поддержка

Если у вас есть вопросы, предложения или вы столкнулись с проблемой, пожалуйста, создайте Issue на GitHub. Мы постараемся ответить как можно скорее.

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

cheatbot-0.1.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

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

cheatbot-0.1.0-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file cheatbot-0.1.0.tar.gz.

File metadata

  • Download URL: cheatbot-0.1.0.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cheatbot-0.1.0.tar.gz
Algorithm Hash digest
SHA256 33785e0348fb59688d02896297eab18a1eeff4f2cae6395d5cae165eafbf8e2d
MD5 9158d304836c54f5b9d28b91ec1109e6
BLAKE2b-256 f36537a486df44468d44bc94e67a28b6ccadfc4b2d677ee851284a30e88c11d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for cheatbot-0.1.0.tar.gz:

Publisher: release.yml on simonether/cheatbot

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

File details

Details for the file cheatbot-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cheatbot-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for cheatbot-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c98d2b365210e0bad2af932a8c5572157831da2efd63f984e52a181eb77c7b7
MD5 7d8c38e1b4511edb9694611222b9560a
BLAKE2b-256 9496bbb1054ec94554a6b918d7f6b0097fc8715ef81acc5d4ed84b33632e026c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cheatbot-0.1.0-py3-none-any.whl:

Publisher: release.yml on simonether/cheatbot

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