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.6.0.tar.gz
(47.3 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.6.0-py3-none-any.whl
(63.4 kB
view details)
File details
Details for the file itd_sdk-2.6.0.tar.gz.
File metadata
- Download URL: itd_sdk-2.6.0.tar.gz
- Upload date:
- Size: 47.3 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 |
ad47c1f0f21933692603c188982ceb4ed1baf888e12f70007eb15d61a4fa6838
|
|
| MD5 |
c93345aee1879aedc367fcdb308c28e2
|
|
| BLAKE2b-256 |
d131cb2a095839f4527b5bf2e86676606bde5dae0f995476d8135258aebfb948
|
File details
Details for the file itd_sdk-2.6.0-py3-none-any.whl.
File metadata
- Download URL: itd_sdk-2.6.0-py3-none-any.whl
- Upload date:
- Size: 63.4 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 |
1d9ae9906be532fdce31b0dbf7c0d40ed3a6897a3899335ee547921a068c0931
|
|
| MD5 |
d51574dcbfbb0a92e116d9e52d01eadf
|
|
| BLAKE2b-256 |
1ff056d0a547ace9fc341bf7bde2e73ffb9e269697d97c09b73ccd4d062f83c3
|