ITD client for python
Project description
itd-sdk
SDK для работы с https://xn--d1ah4a.com на python.
Документация: https://itdsdk.qzz.io/docs (wip)
Установка
uv add itd-sdk
или через pip:
pip install itd-sdk
Вход
Сейчас есть 3 способа авторизации в SDK:
- Без авторизации. Доступен поиск и хэштэги.
- Авторизация через
access_token. Доступны все запросы кроме тех, которые связаны с авторизацией. Токен действует 15 минут. - Авторизация через
refresh_token. Доступны все запросы. Токен действует 7 дней.
Получение refresh_token
- Откройте итд.com в браузере
- Откройте DevTools (F12)
- Перейдите на вкладку "Network" \ "Сеть"
- Обновите страницу
- Найдите запрос к
/v1/auth/refresh - Скопируйте значение refresh_token из Cookies \ Куки
Получение access_token
- Откройте итд.com в браузере
- Откройте DevTools (F12)
- Перейдите на вкладку "Network" \ "Сеть"
- Откройте любой запрос (если запросов нету, подождите 1-3сек - итд постоянно посылает запросы на обновление статистики постов)
- Скопируйте значение authozation из Request headers \ Заголовки запроса
API
from itd import Me, User, Post, Posts, File, Hashtag, Notifications
me = Me() # получить себя
me.privacy.update(is_private=True)
user = User('itd_sdk') # получить пользователя
user.follow()
post = Post('725681ba-2aaa-42d8-87fb-490c0f44e162') # получить пост
post.like()
post.add_comment('тест комент 6 7')
Post('02bcbba4-f365-4b98-9291-d0bc1fb36fe4').poll.vote('тест') # голосования в опросах
posts = Posts() # получить посты из ленты
for i, post in enumerate(Posts()):
post.like() # встроенные защиты, из-за которых рейт-лимит будет получить сложнее + авто ожидание окончания рейт лимита
if i > 10:
break
post = user.posts[5] # индексация, авто-получение до нужного значения
post.repost()
file = File.from_path('1.jpg') # загрузка файлов
Post.new('всем привет!', attachments=file) # attachments может быть списком, файлом, или UUID
hashtag = Hashtag('тестапи') # получить данные хэштэга
print(hashtag.posts_count)
hashtag.posts[0].like()
notifications = Notifications() # получить уведы
notifications[30].read()
notifications.read_all()
for notification in notifications.stream(): # SSE уведомлений
print(notification.type.value)
break
def on_like(notification):
print('лайк от', notification.actor.username)
notifications.stop_stream()
notifications.on_like = on_like
stream = notifications.stream_bg() # background SSE
Весь API - https://itdsdk.qzz.io/docs/
Прочее
Project details
Release history Release notifications | RSS feed
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-2.5.2.tar.gz
(45.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
itd_sdk-2.5.2-py3-none-any.whl
(61.3 kB
view details)
File details
Details for the file itd_sdk-2.5.2.tar.gz.
File metadata
- Download URL: itd_sdk-2.5.2.tar.gz
- Upload date:
- Size: 45.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86fef8832582564bb0b608ed08d53968e1895380375d648bfca97809a8f4faee
|
|
| MD5 |
22cf03438f5200ea34d965f4c8304539
|
|
| BLAKE2b-256 |
93d48050c767610d76d8a2c4d84cbe802402994c172502620f107f701033491e
|
File details
Details for the file itd_sdk-2.5.2-py3-none-any.whl.
File metadata
- Download URL: itd_sdk-2.5.2-py3-none-any.whl
- Upload date:
- Size: 61.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
882a4d9e7d94a27e02530a62ef84777563c87fc1b67a4c0c2fc2aae7fc9b829a
|
|
| MD5 |
6d0bb699cc3594a27115876c5b8f792f
|
|
| BLAKE2b-256 |
caa3a2a0b22d909d93335bdd2f48f7e0d2ffbee006c181dba44030560cb1a071
|