Skip to main content

ITD client for python

Project description

itd-sdk

Клиент ITD для python

Установка

pip install itd-sdk

Пример

from itd import ITDClient

c = ITDClient('TOKEN', 'refresh_token=...; __ddg1_=...; __ddgid_=...; is_auth=1; __ddg2_=...; ddg_last_challenge=...; __ddg8_=...; __ddg10_=...; __ddg9_=...')
# можно указать только токен, тогда после просрочки перестанет работать, либо только куки чтобы токен сразу подтянулся, либо оба сразу

print(c.get_me())

[!NOTE] Берите куки из запроса /auth/refresh. В остальных запросах нету refresh_token cookie


Скрипт на обновление имени

Этот код сейчас работает на @itd_sdk (обновляется имя и пост)

from itd import ITDClient
from time import sleep
from random import randint
from datetime import datetime
from datetime import timezone

c = ITDClient(None, '...')

while True:
    c.update_profile(display_name=f'PYTHON ITD SDK | Рандом: {randint(1, 100)} | {datetime.now().strftime("%m.%d %H:%M:%S")}')
    # редактирование поста
    # c.edit_post('82ea8a4f-a49e-485e-b0dc-94d7da9df990', f'рил ща {datetime.now(timezone.utc).isoformat(" ")} по UTC (обновляется каждую секунду)')
    sleep(1)

Скрипт на смену баннера

from itd import ITDClient

c = ITDClient(None, 'Ваши cookies')

c.update_banner('имя-файла.png')
print('баннер обновлен')

Встроенные запросы

Существуют встроенные эндпоинты для комментариев, хэштэгов, уведомлений, постов, репортов, поиска, пользователей, итд.

c.get_user('ITD_API') # получение данных пользователя
c.get_me() # получение своих данных (me)
c.update_profile(display_name='22:26') # изменение данных профиля, например имя, био итд
c.create_post('тест1') # создание постов
# итд

SSE - прослушивание уведомлений в реальном времени

from itd import ITDClient, StreamConnect, StreamNotification

# Используйте cookies для автоматического обновления токена
c = ITDClient(cookies='refresh_token=...; __ddg1_=...; is_auth=1')

for event in c.stream_notifications():
    if isinstance(event, StreamConnect):
        print(f'! Подключено к SSE: {event.user_id}')
    elif isinstance(event, StreamNotification):
        print(f'-- {event.type.value}: {event.actor.display_name} (@{event.actor.username})')

[!NOTE] SSE автоматически переподключается при истечении токена

Типы уведомлений:

  • like - лайк на пост
  • follow - новый подписчик
  • wall_post - пост на вашей стене
  • comment - комментарий к посту
  • reply - ответ на комментарий
  • repost - репост вашего поста

Кастомные запросы

from itd.request import fetch

fetch(c.token, 'метод', 'эндпоинт', {'данные': 'данные'})

Из методов поддерживается get, post, put итд, которые есть в requests К названию эндпоинта добавляется домен итд и api, то есть в этом примере отпарвится https://xn--d1ah4a.com/api/эндпоинт.

[!NOTE] xn--d1ah4a.com - punycode от "итд.com"

Планы

  • Форматированные сообщения об ошибках
  • Логирование (через logging)
  • Добавление ООП (отдеьные классы по типу User или Post вместо обычного JSON)
  • Голосовые сообщения

Прочее

Лицезия: MIT Идея (и часть эндпоинтов): https://github.com/FriceKa/ITD-SDK-js

  • По сути этот проект является реворком, просто на другом языке

Автор: itd_sdk (в итд) @desicars (в тг)

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

itd_sdk-1.2.0.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

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

itd_sdk-1.2.0-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

Details for the file itd_sdk-1.2.0.tar.gz.

File metadata

  • Download URL: itd_sdk-1.2.0.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for itd_sdk-1.2.0.tar.gz
Algorithm Hash digest
SHA256 f7446a6d47276b584df396b9fe31c9d77575faf8bdcef5bd4654d7165ab4323f
MD5 48b5e883c7ead02d878957cbd7634024
BLAKE2b-256 31af9956d7b54755e0883a3261074b8306287c0d3d3a1493a0457be7baaef7d2

See more details on using hashes here.

File details

Details for the file itd_sdk-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: itd_sdk-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 26.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for itd_sdk-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8efac1638e5ebaf0506b9b531bfb17e7cccd400e0db61a621babf00427b39be
MD5 bda07e8954e17147b97ba6a7bd120aae
BLAKE2b-256 251bf84459b0a71a7d2c23c1215330b2e9958c9d84f61cfd7732a982ac8e752a

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