Skip to main content

ITD client for python

Project description

itd-sdk

Клиент ITD для python
Документация (beta): https://firedotguy.github.io/itd-sdk

Установка

pip install itd-sdk

Пример

from itd import ITDClient, Me

c = ITDClient('token')
print(Me())

Получение cookies

Для получения access_token требуются cookies с refresh_token. Как их получить:

  1. Откройте итд.com в браузере
  2. Откройте DevTools (F12)
  3. Перейдите на вкладку Network
  4. Обновите страницу
  5. Найдите запрос к /auth/refresh
  6. Скопируйте значение refresh_token из Cookie из Request Headers

cookie

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')

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

Post('02bcbba4-f365-4b98-9291-d0bc1fb36fe4').poll.vote('тест') # голосования в опросах

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

from itd.request import fetch

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

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

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

Прочее

Star History Chart

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-2.1.2.tar.gz (35.3 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-2.1.2-py3-none-any.whl (49.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: itd_sdk-2.1.2.tar.gz
  • Upload date:
  • Size: 35.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for itd_sdk-2.1.2.tar.gz
Algorithm Hash digest
SHA256 1b9a637b4183ad8795864c328920d1f48e9c8b43c0d825f186f3d333bf9f5b14
MD5 b22230c45db196f05094bcab6ad9d3aa
BLAKE2b-256 71c80d05353509d05a885d5e5d7e356bdc7a928932cb250b33e8a19b06c2c48e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: itd_sdk-2.1.2-py3-none-any.whl
  • Upload date:
  • Size: 49.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for itd_sdk-2.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 98d943b867a0461f3be5176972dd2c49b38c6e8402a24b0f1594e25bb66dfeff
MD5 5c407cb02341d6e824df40a60f887bf6
BLAKE2b-256 9b5f9bf38b2bf5fc7d90f7029f5252579b5c192ed25a04fdeaafbf676eb941b0

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