Skip to main content

Python библиотека для автоматизации работы с API сайта kaalition.ru

Project description

Kaalition API Library — это Python библиотека с объектно-ориентированным интерфейсом для работы с API сайта kaalition.ru. Библиотека упрощает взаимодействие с API, беря на себя обработку HTTP-запросов, аутентификацию и управление ошибками.

Установка

Требования

  • Python 3.8+
  • requests
  • faker

pip (рекомендуется)

pip install kaalition-lib

Из исходного кода

git clone https://github.com/Dima-programmer/KAALITION_API_LIB/kaalition-lib.git

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

from kaalition_lib import KaalitionClient

# Создание клиента и регистрация аккаунта
client = KaalitionClient()
account = client.register()

print(f"Аккаунт создан: {account.username}")

# Поиск пользователей
users = account.search_users("никнейм")

if users:
    # Отправка сообщения
    account.send_message(users[0], "Привет!")

API Reference

KaalitionClient

Базовый клиент для операций без авторизации.

from kaalition_lib import KaalitionClient

client = KaalitionClient(
    base_url="https://kaalition.ru",
    accounts_file="accounts.json"
)

Методы:

Метод Описание
register() Регистрация нового аккаунта
login(email, password) Вход в аккаунт
create_from_token(token) Создание аккаунта из токена
load_accounts() Загрузка сохранённых аккаунтов
get_projects() Получение списка проектов
get_members() Получение списка участников
get_news() Получение списка новостей

Account

Аккаунт с авторизацией.

account = client.register()

Методы:

Метод Описание
search_users(query) Поиск пользователей
send_message(user, message) Отправка личного сообщения
create_support_ticket(subject, message) Создание тикета поддержки
send_to_support(message) Отправка в чат поддержки
update_profile(...) Обновление профиля
refresh() Синхронизация с сервером
is_active() Проверка активности
save() Сохранение аккаунта

User

@dataclass
class User:
    id: int
    username: str
    nickname: str
    photo: str
    avatar_emoji: Optional[str]
    is_verified: bool

Project

@dataclass
class Project:
    id: int
    title: str
    description: str
    image: Optional[str]
    button_text: str
    link: str
    order: int
    is_active: bool
    created_at: str
    updated_at: str

Member

@dataclass
class Member:
    id: int
    nickname: str
    photo: Optional[str]
    group: str
    telegram: str
    itd: str
    order: int
    is_active: bool
    created_at: str
    updated_at: str

News

@dataclass
class News:
    id: int
    title: str
    content: str
    subtitle: Optional[str]
    image: Optional[str]
    is_published: bool
    views: int
    created_at: str
    updated_at: str

Примеры

Работа с коллекцией аккаунтов

from kaalition_lib import load_accounts, clean_accounts_file

# Загрузка активных аккаунтов
accounts = load_accounts("accounts.json", active_only=True)

# Проверка активности
for acc in accounts:
    if acc.is_active():
        acc.update_profile(bio="Обновлено")
        acc.save()

# Очистка неактивных
clean_accounts_file("accounts.json")

Массовая рассылка

from kaalition_lib import KaalitionClient
import time

client = KaalitionClient()
account = client.login("email@mail.ru", "password")

users = account.search_users("аудитория")

for user in users:
    if account.is_active():
        account.send_message(user, "Ваше сообщение")
        time.sleep(1)

Получение проектов, участников и новостей

from kaalition_lib import KaalitionClient

client = KaalitionClient()

# Проекты
projects = client.get_projects()
for project in projects:
    print(f"{project.title}: {project.link}")

# Участники
members = client.get_members()
for member in members:
    print(f"{member.nickname} ({member.group})")

# Новости
news = client.get_news()
for item in news:
    print(f"{item.title}: {item.content[:100]}...")

Исключения

from kaalition_lib import (
    KaalitionError,
    RegistrationError,
    LoginError,
    TokenError,
)

try:
    account = client.register()
except RegistrationError:
    print("Ошибка регистрации")
except LoginError:
    print("Ошибка входа")
except TokenError:
    print("Ошибка токена")

Константы

from kaalition_lib import (
    DEFAULT_BASE_URL,
    DEFAULT_ACCOUNTS_FILE,
    DEFAULT_USER_AGENT,
    DEFAULT_DELAY,
    DEFAULT_EMAIL_DOMAINS,
)

Поддержка проекта

Если библиотека оказалась полезной, вы можете:

  • Поставить звезду на GitHub
  • Сообщить об ошибке через Issues
  • Предложить улучшения через Pull Requests

Ваша обратная связь помогает делать библиотеку лучше.

Лицензия

MIT License. Подробности в файле LICENSE.

Автор

Dima-Programmer

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

kaalition_lib-1.1.0.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

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

kaalition_lib-1.1.0-py2.py3-none-any.whl (12.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file kaalition_lib-1.1.0.tar.gz.

File metadata

  • Download URL: kaalition_lib-1.1.0.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kaalition_lib-1.1.0.tar.gz
Algorithm Hash digest
SHA256 50e7a860399bbe65ab456d501f458fb41e1d7deba97445481ba7173f6f6e077c
MD5 77caf4bfb37c02ca6e00ab99cfe538ea
BLAKE2b-256 1f5d8e5a6667c54159bd7d873212dde33f4554afb1476c48d5280bf41f7892cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for kaalition_lib-1.1.0.tar.gz:

Publisher: publish.yml on Dima-programmer/KAALITION_API_LIB

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

File details

Details for the file kaalition_lib-1.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: kaalition_lib-1.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kaalition_lib-1.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 de847311439ffcd36c0976b50b6102b6c4eb0360a044b6eb9126daca951d5451
MD5 c1747d8fa6b19f7d21ed3f5066cece77
BLAKE2b-256 0c3290da636c452abb6153278f4e55ce71cc555fb04a52b66d1d77a447d9affd

See more details on using hashes here.

Provenance

The following attestation bundles were made for kaalition_lib-1.1.0-py2.py3-none-any.whl:

Publisher: publish.yml on Dima-programmer/KAALITION_API_LIB

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