cheatbot — это мощная и интуитивно понятная асинхронная Python-библиотека, разработанная для бесшовного взаимодействия с API сервиса CheatBot. Она предоставляет удобный интерфейс для управления задачами, получения информации о сервисах и профиле, а также автоматизации рутинных операций.
- Полностью асинхронная: Построена на
asyncioдля высокопроизводительных и неблокирующих операций. - Типобезопасность: Использует
pydanticдля строгой валидации данных и автодополнения. - Простота использования: Чистый и понятный API, который легко интегрировать в ваши проекты.
- Надежность: Встроенная обработка ошибок и исключений для стабильной работы.
- Гибкость: Поддержка всех основных функций CheatBot API.
Эти инструкции помогут вам быстро запустить проект на вашем локальном компьютере.
Для работы с проектом вам понадобится uv — чрезвычайно быстрый установщик и распознаватель пакетов Python.
Чтобы использовать библиотеку в своем проекте, вам понадобится API-ключ от сервиса CheatBot. Вы можете получить его в личном кабинете после регистрации.
Установка из 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():
# Получите ваш API-ключ из переменной окружения
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("--- Информация о профиле ---")
profile = await client.get_profile_info()
print(f"Баланс: {profile.balance} RUB")
print(f"ID пользователя: {profile.user_id}")
print("\n--- Доступные сервисы ---")
# Получение всех сервисов
all_services = client.services.get_all()
print(f"Всего доступных сервисов: {len(all_services)}")
# Пример поиска конкретного сервиса по ID (например, ID 40)
service_id_to_find = 40
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} не найден.")
if __name__ == "__main__":
asyncio.run(main())Для запуска тестов используйте pytest:
uv run pytestМы приветствуем любой вклад в развитие проекта! Пожалуйста, ознакомьтесь с нашим руководством по участию и кодексом поведения.
Этот проект распространяется под лицензией MIT. Подробности смотрите в файле LICENSE.
Если у вас есть вопросы, предложения или вы столкнулись с проблемой, пожалуйста, создайте Issue на GitHub. Мы постараемся ответить как можно скорее.