AsyncITDClient
| PARAMETER | DESCRIPTION |
|---|---|
refresh_token
|
refresh токен, если не указан, можно отправить запрос только на ендпоинты, не требующие авторизации
TYPE:
|
timeout
|
таймаут запросов
TYPE:
|
file_upload_timeout
|
таймаут на загрузку файла
TYPE:
|
client
|
Если нужно создать несколько
TYPE:
|
domain
|
Домен запросов
TYPE:
|
Examples:
refresh_token = "ВАШ ТОКЕН"
async with AsyncITDClient(refresh_token) as client:
await client.get_posts()
has_more, notifications = await client.get_notifications()
Без токена:
async with AsyncITDClient() as client:
hashtags = await client.search_hashtags('1')
Без with:
client = AsyncITDClient("ВАШ ТОКЕН")
...
await client.close()
close
¶
close() -> None
Закрывает httpx сессию.
Examples:
client = AsyncITDClient(...)
...
await client.close()
refresh
¶
refresh(**kwargs) -> None
Обновить access_token
| RAISES | DESCRIPTION |
|---|---|
TokenNotFoundError
|
Такого токена не существует |
TokenRevokedError
|
Токен отозван |
TokenMissingError
|
Токен не указан (равен пустой строке) |
TokenExpiredError
|
Токен истёк |
logout
¶
logout(**kwargs) -> None
Выйти из аккаунта, отозвать refresh токен. Работает при любом токене: просроченном, не существующим, пустой строкой.
change_password
¶
change_password(
old_password: str, new_password: str, **kwargs
) -> None
Поменять пароль. При успешной смене пароля refresh_token отзывается.
| PARAMETER | DESCRIPTION |
|---|---|
old_password
|
старый пароль
TYPE:
|
new_password
|
новый пароль
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
InvalidPasswordError
|
Пароль не подходит под условия |
InvalidOldPasswordError
|
Указан неверный старый пароль |
SomePasswordError
|
Новый пароль должен отличать от старого |
search_hashtags
¶
search_hashtags(
query: str, limit: int = 20, **kwargs
) -> list[Hashtag]
Поиск хештегов.
| PARAMETER | DESCRIPTION |
|---|---|
query
|
текст запроса (len(query) <= 100)
TYPE:
|
limit
|
максимальное количество выданных хештегов (1 <= limit <= 100)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Hashtag]
|
Список найденных хештегов |
get_trending_hashtags
¶
get_trending_hashtags(
limit: int = 10, **kwargs
) -> list[Hashtag]
Получить самые популярные хештеги.
| PARAMETER | DESCRIPTION |
|---|---|
limit
|
максимальное количество выданных хештегов (1 <= limit <= 50)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Hashtag]
|
Список самых популярных хештегов |
get_posts_by_hashtag
¶
get_posts_by_hashtag(
hashtag_name: Union[str, HashtagRef],
cursor: str | None = None,
limit: int = 20,
**kwargs,
) -> tuple[
Hashtag, Pagination, list[tuple[list[Comment], Post]]
]
Посты по хештегу.
| PARAMETER | DESCRIPTION |
|---|---|
hashtag_name
|
текст хештега или HashtagRef
TYPE:
|
cursor
|
next_cursor предыдущей страницы
TYPE:
|
limit
|
максимальное количество выданных постов (1 <= limit <= 50)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[Hashtag, Pagination, list[tuple[list[Comment], Post]]]
|
хештег, пагинация, список из постов и их комментариев |
| RAISES | DESCRIPTION |
|---|---|
NotFoundError
|
Хештег не найден |
get_notifications
¶
get_notifications(
offset: int = 0, limit: int = 30, **kwargs
) -> tuple[bool, list[Notification]]
Получить уведомления.
| PARAMETER | DESCRIPTION |
|---|---|
offset
|
сдвиг
TYPE:
|
limit
|
максимально количество уведомлений в ответе
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[bool, list[Notification]]
|
bool есть ли ещё уведомления, list[Notification] список уведомлений |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
ITDError
|
offset >= 0 |
read_batch_notifications
¶
read_batch_notifications(
notifications_ids: list[
Union[UUID, str, NotificationRef]
],
**kwargs,
) -> int
Пометить прочитанными несколько уведомлений.
| PARAMETER | DESCRIPTION |
|---|---|
notifications_ids
|
список UUID уведомлений (можно передавать как UUID, так и строки, а также NotificationRef) (len(notifications_ids) <= 20)
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
| RETURNS | DESCRIPTION |
|---|---|
int
|
Количество прочитанных уведомлений |
read_notification
¶
read_notification(
notification_id: Union[UUID, str, NotificationRef],
**kwargs,
) -> bool
Пометить сообщение прочитанным.
| PARAMETER | DESCRIPTION |
|---|---|
notification_id
|
UUID уведомления (можно передавать как UUID, так и строку, а также NotificationRef)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
Успешна ли операция |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
get_notifications_count
¶
get_notifications_count(**kwargs) -> int
Получить количество непрочитанных уведомлений.
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
| RETURNS | DESCRIPTION |
|---|---|
int
|
Количество непрочитанных уведомлений. |
read_all_notifications
¶
read_all_notifications(**kwargs) -> bool
Пометить все уведомления прочитанными.
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
| RETURNS | DESCRIPTION |
|---|---|
bool
|
Успешна ли операция |
get_notification_settings
¶
get_notification_settings(
**kwargs,
) -> NotificationsSettings
Получить настройки уведомлений.
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
| RETURNS | DESCRIPTION |
|---|---|
NotificationsSettings
|
Настройки уведомлений |
update_notification_settings
¶
update_notification_settings(
comments: bool | None = None,
enabled: bool | None = None,
follows: bool | None = None,
mentions: bool | None = None,
sound: bool | None = None,
likes: bool | None = None,
wall_posts: bool | None = None,
**kwargs,
) -> NotificationsSettings
Настроить уведомления
| PARAMETER | DESCRIPTION |
|---|---|
comments
|
комментарии
TYPE:
|
enabled
|
включены ли уведомления
TYPE:
|
follows
|
подписки
TYPE:
|
mentions
|
упоминания
TYPE:
|
sound
|
звуки при уведомлениях
TYPE:
|
likes
|
лайки
TYPE:
|
wall_posts
|
посты на стене
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
NotificationsSettings
|
Новые настройки уведомлений |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
get_file
¶
upload_file
¶
upload_file(file: IO[bytes], **kwargs) -> File
Загрузить файл.
| PARAMETER | DESCRIPTION |
|---|---|
file
|
файл
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
File
|
Файл |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
ValidationError
|
недопустимый тип файла |
TooLargeError
|
размер запроса слишком большой |
UploadError
|
ошибка загрузки файла |
ContentModerationError
|
Не удалось проверить файл |
delete_file
¶
delete_file(
file_id: Union[UUID, str, FileRef], **kwargs
) -> None
Удалить файл.
| PARAMETER | DESCRIPTION |
|---|---|
file_id
|
UUID файла (можно передавать как UUID, так и строку, а также FileRef)
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Файл не найден, или нет прав доступа к нему |
report
¶
report(
target_id: Union[
UUID, str, PostRef, CommentRef, UserRef
],
target_type: ReportTargetType
| Literal["post", "comment", "user"] = USER,
reason: Reason
| Literal[
"spam",
"violence",
"hate",
"adult",
"misinfo",
"other",
] = OTHER,
description: str = "",
**kwargs,
) -> Report
Пожаловаться
| PARAMETER | DESCRIPTION |
|---|---|
target_id
|
UUID цели (можно передавать как UUID, так и строку, а также PostRef/CommentRef/UserRef в котором указан id)
TYPE:
|
target_type
|
тип цели
TYPE:
|
reason
|
причина
TYPE:
|
description
|
текст репорта
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Report
|
Донос |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
ValidationError
|
не найден пост, пользователь или комментарий по target_id |
ValidationError
|
нельзя отправить жалобу на один и тот же контент |
search
¶
search(
query: str,
user_limit: int | None = 20,
hashtag_limit: int | None = 20,
**kwargs,
) -> tuple[list[Hashtag], list[UserWithFollowersCount]]
Поиск
| PARAMETER | DESCRIPTION |
|---|---|
query
|
запрос
TYPE:
|
user_limit
|
максимальное количество выданных пользователей (1 <= user_limit <= 20)
TYPE:
|
hashtag_limit
|
максимальное количество выданных хештегов (1 <= hashtag_limit <= 20)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[list[Hashtag], list[UserWithFollowersCount]]
|
найденные хештеги, найденные пользователи |
get_verification_status
¶
get_verification_status(**kwargs) -> str
Получить статус верификации
| RETURNS | DESCRIPTION |
|---|---|
str
|
Статус верификации |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
submit_verification
¶
submit_verification(video_url: str, **kwargs) -> dict
Подать запрос на галочку
| PARAMETER | DESCRIPTION |
|---|---|
video_url
|
url видео, загруженного на itd
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
get_user
¶
get_user(
username_or_id: Union[str, UUID, UserRef], **kwargs
) -> FullUser | UserBlockedByMe | UserBlockMe | PrivateUser
Получить данные пользователя.
| PARAMETER | DESCRIPTION |
|---|---|
username_or_id
|
имя пользователя или его UUID, или UserRef
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
необходима авторизация |
NotFoundError
|
пользователь не найден |
UserBlockedError
|
пользователь заблокирован |
get_me
¶
follow
¶
follow(
username_or_id: Union[str, UUID, UserRef], **kwargs
) -> int
Подписаться на пользователя
| PARAMETER | DESCRIPTION |
|---|---|
username_or_id
|
имя пользователя или его UUID, или UserRef
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пользователь не найден |
ConflictError
|
Вы уже подписаны на этого пользователя |
ValidationError
|
Нельзя подписаться на себя |
UserBlockedError
|
пользователь заблокирован |
| RETURNS | DESCRIPTION |
|---|---|
int
|
Количество подписчиков пользователя |
unfollow
¶
unfollow(
username_or_id: Union[str, UUID, UserRef], **kwargs
) -> int
Отписаться от пользователя
| PARAMETER | DESCRIPTION |
|---|---|
username_or_id
|
имя пользователя или его UUID, или UserRef
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пользователь не найден |
| RETURNS | DESCRIPTION |
|---|---|
int
|
Количество подписчиков пользователя |
get_followers
¶
get_followers(
username_or_id: Union[str, UUID, UserRef],
page: int = 1,
limit: int = 30,
**kwargs,
) -> tuple[PagePagination, list[UserWithFollowing]]
Получить подписчиков пользователя.
| PARAMETER | DESCRIPTION |
|---|---|
username_or_id
|
имя пользователя или его UUID, или UserRef
TYPE:
|
page
|
страница (page >= 1)
TYPE:
|
limit
|
максимальное количество пользователей на странице (1 <= limit <= 100)
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пользователь не найден |
UserBlockedError
|
пользователь заблокирован |
get_following
¶
get_following(
username_or_id: Union[str, UUID, UserRef],
page: int = 1,
limit: int = 30,
**kwargs,
) -> tuple[PagePagination, list[UserWithFollowing]]
Получить подписки пользователя.
| PARAMETER | DESCRIPTION |
|---|---|
username_or_id
|
имя пользователя или его UUID, или UserRef
TYPE:
|
page
|
страница (page >= 1)
TYPE:
|
limit
|
максимальное количество пользователей на странице (1 <= limit <= 100)
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пользователь не найден |
UserBlockedError
|
пользователь заблокирован |
get_top_clans
¶
get_top_clans(**kwargs) -> list[Clan]
Получить топ кланов.
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
get_who_to_follow
¶
get_who_to_follow(**kwargs) -> list[UserWithFollowersCount]
Получить топ по подпискам (кого можно подписаться).
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
search_users
¶
search_users(
query: str, limit: int = 20, **kwargs
) -> list[UserWithFollowersCount]
Поиск пользователей.
| PARAMETER | DESCRIPTION |
|---|---|
query
|
текст запроса
TYPE:
|
limit
|
максимальное количество выданных пользователей (1 <= limit <= 50)
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
get_pins
¶
get_pins(
**kwargs,
) -> tuple[PinSlug | None, list[PinWithDate]]
Получить список пинов и текущий пин.
| RETURNS | DESCRIPTION |
|---|---|
tuple[PinSlug | None, list[PinWithDate]]
|
(активный пин, список доступных пинов) Если пина нет в enum PinSlug, то его в списке не будет |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
set_pin
¶
Изменить пин.
| PARAMETER | DESCRIPTION |
|---|---|
pin_slug
|
slug пина
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
PinNotOwnedError
|
вы не обладаете этим пином |
delete_pin
¶
delete_pin(**kwargs) -> None
Убрать пин.
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
get_privacy
¶
get_privacy(**kwargs) -> Privacy
Получить настройки приватности текущего пользователя.
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
update_privacy
¶
update_privacy(
is_private: bool | None = None,
likes_visibility: Visibility | None = None,
wall_access: Visibility | None = None,
show_last_seen: bool | None = None,
**kwargs,
) -> Privacy
Изменить настройки приватности текущего пользователя.
| PARAMETER | DESCRIPTION |
|---|---|
is_private
|
приватный ли пользователь
TYPE:
|
likes_visibility
|
кто может видеть лайкнутые посты
TYPE:
|
wall_access
|
кто может писать на стене
TYPE:
|
show_last_seen
|
показывать время последнего посещения
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
get_profile
¶
get_profile(
**kwargs,
) -> Profile | BannedProfile | NotCreatedProfile
Профиль текущего пользователя.
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
update_profile
¶
update_profile(
bio: str | None = None,
display_name: str | None = None,
username: str | None = None,
banner_id: Union[UUID, str, FileRef] | None = None,
**kwargs,
) -> Me
Обновить профиль.
| PARAMETER | DESCRIPTION |
|---|---|
bio
|
о себе
TYPE:
|
display_name
|
имя
TYPE:
|
username
|
имя пользователя
TYPE:
|
banner_id
|
UUID файла нового баннера (можно передавать как UUID, так и строку, а также FileRef)
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
ITDError
|
Био максимум 160 символов |
ITDError
|
Имя от 1 до 50 символов |
ITDError
|
Юзернейм 3-50 символов, только буквы, цифры и _ |
ForbiddenError
|
На баннер можно поставить только свой файл |
ValidationError
|
Баннер может быть только изображением |
UsernameTakenError
|
Имя пользователя уже занято |
GIFRequiresVerificationError
|
Только верефицированные пользователи могут поставить гифку на баннер |
create_profile
¶
create_profile(
avatar: str, display_name: str, username: str, **kwargs
) -> CreateUserResponse
Создать профиль
| PARAMETER | DESCRIPTION |
|---|---|
avatar
|
эмоджи профиля
TYPE:
|
display_name
|
имя
TYPE:
|
username
|
имя пользователя
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
InvalidAAvatarError
|
Неправильный эмоджи |
UsernameTakenError
|
имя пользователя занято |
ParamsValidationError
|
Неправильное имя пользователя |
delete_banner
¶
delete_banner(**kwargs) -> Me
Удалить баннер.
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
block
¶
block(
username_or_id: Union[str, UUID, UserRef], **kwargs
) -> None
Заблокировать пользователя.
| PARAMETER | DESCRIPTION |
|---|---|
username_or_id
|
имя пользователя или UUID, или UserRef
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
NotFoundError
|
пользователь не найден |
ConflictError
|
пользователь уже заблокирован |
ValidationError
|
нельзя заблокировать себя |
unblock
¶
unblock(
username_or_id: Union[str, UUID, UserRef], **kwargs
) -> None
Разблокировать пользователя.
| PARAMETER | DESCRIPTION |
|---|---|
username_or_id
|
имя пользователя или UUID, или UserRef
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
NotFoundError
|
пользователь не найден |
ConflictError
|
пользователь не заблокирован |
get_blocked
¶
get_blocked(
page: int = 1, limit: int = 20, **kwargs
) -> tuple[PagePagination, list[BlockedAuthor]]
Получить заблокированных пользователей.
| PARAMETER | DESCRIPTION |
|---|---|
page
|
страница (page >= 1)
TYPE:
|
limit
|
максимальное количество пользователей на странице (1 <= limit <= 100)
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
get_follow_status
¶
get_follow_status(
user_ids: list[Union[UUID, str, UserRef]], **kwargs
) -> dict[UUID, bool]
Подписаны ли вы на пользователей.
| PARAMETER | DESCRIPTION |
|---|---|
user_ids
|
список UUID пользователей (можно передавать как UUID, так и строки, а также UserRef, в котором указан id) (len(user_ids) <= 20)
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
delete_account
¶
delete_account(**kwargs) -> datetime
Удалить аккаунт. После удаления аккаунта все остальные эндпоинт, требущие авторизации будут выбрасывать AccountDeletedError, кроме get_me и get_me_uuid
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
| RETURNS | DESCRIPTION |
|---|---|
datetime
|
Время, до которого можно восстановить аккаунт |
restore_account
¶
restore_account(**kwargs) -> bool
Восстановать аккаунт
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
NotDeletedError
|
аккаунт не удалён |
| RETURNS | DESCRIPTION |
|---|---|
bool
|
Успешна ли операция |
check_username
¶
check_username(username: str, **kwargs) -> bool
Не зянято ли это имя
| PARAMETER | DESCRIPTION |
|---|---|
username
|
имя пользовтеля
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
InvalidInputError
|
len(username) >= 1 |
| RETURNS | DESCRIPTION |
|---|---|
bool
|
Не зянято ли это имя |
get_post
¶
Получить пост.
| PARAMETER | DESCRIPTION |
|---|---|
post_id
|
UUID поста (можно передавать как UUID, так и строку, а также PostRef)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[list[Comment], Post]
|
Кортеж (список комментариев, пост) |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
пост не существует, удалён, владелец поста забанил, пост принадлежит пользователю с is_private=True, на которого вы не подписаны |
delete_post
¶
delete_post(
post_id: Union[UUID, str, PostRef], **kwargs
) -> None
Удалить пост.
| PARAMETER | DESCRIPTION |
|---|---|
post_id
|
UUID поста (можно передавать как UUID, так и строку, а также PostRef)
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
ForbiddenError
|
Нет прав для удаления поста |
NotFoundError
|
Пост не найден |
restore_post
¶
restore_post(
post_id: Union[UUID, str, PostRef], **kwargs
) -> None
Восстановить пост.
| PARAMETER | DESCRIPTION |
|---|---|
post_id
|
UUID поста (можно передавать как UUID, так и строку, а также PostRef)
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
ForbiddenError
|
Нет прав для восстановления поста |
NotFoundError
|
Пост не найден |
like_post
¶
like_post(
post_id: Union[UUID, str, PostRef], **kwargs
) -> int
Лайкнуть пост.
| PARAMETER | DESCRIPTION |
|---|---|
post_id
|
UUID поста (можно передавать как UUID, так и строку, а также PostRef)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Новое количество лайков |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пост не найден |
unlike_post
¶
unlike_post(
post_id: Union[UUID, str, PostRef], **kwargs
) -> int
Убрать лайк с поста.
| PARAMETER | DESCRIPTION |
|---|---|
post_id
|
UUID поста (можно передавать как UUID, так и строку, а также PostRef)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Новое количество лайков |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пост не найден |
view_post
¶
view_post(
post_id: Union[UUID, str, PostRef], **kwargs
) -> None
Зафиксировать просмотр поста.
| PARAMETER | DESCRIPTION |
|---|---|
post_id
|
UUID поста (можно передавать как UUID, так и строку, а также PostRef)
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
pin_post
¶
pin_post(
post_id: Union[UUID, str, PostRef], **kwargs
) -> bool
Закрепить пост на своей стене.
| PARAMETER | DESCRIPTION |
|---|---|
post_id
|
UUID поста (можно передавать как UUID, так и строку, а также PostRef)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
Успешность операции |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пост не найден |
ForbiddenError
|
Можно прикреплять посты только на своей стене |
unpin_post
¶
unpin_post(
post_id: Union[UUID, str, PostRef], **kwargs
) -> bool
Открепить пост со своей стены.
| PARAMETER | DESCRIPTION |
|---|---|
post_id
|
UUID поста (можно передавать как UUID, так и строку, а также PostRef)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
Успешность операции |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotPinedError
|
Пост не прикреплён |
get_posts_by_user
¶
get_posts_by_user(
username_or_id: Union[str, UUID, UserRef],
cursor: str | None = None,
limit: int = 20,
sort: PostSort | Literal["new", "popular"] = NEW,
**kwargs,
) -> tuple[Pagination, list[Post]]
Посты на стене пользователя (включая его собственные).
| PARAMETER | DESCRIPTION |
|---|---|
username_or_id
|
имя пользователя или его UUID, или UserRef
TYPE:
|
cursor
|
курсор следующей страницы (из предыдущего ответа)
TYPE:
|
limit
|
максимальное количество постов (1 <= limit <= 50)
TYPE:
|
sort
|
сортировка ("new" или "popular")
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[Pagination, list[Post]]
|
Кортеж (пагинация, список постов) |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
пользователь не найден |
UserBlockedError
|
пользователь заблокирован |
get_liked_posts
¶
get_liked_posts(
username_or_id: Union[str, UUID, UserRef],
cursor: str | None = None,
sort: PostSort | Literal["new", "popular"] = NEW,
limit: int = 20,
**kwargs,
) -> tuple[Pagination, list[Post]]
Посты, которые лайкнул пользователь.
| PARAMETER | DESCRIPTION |
|---|---|
username_or_id
|
имя пользователя или его UUID, или UserRef
TYPE:
|
cursor
|
курсор следующей страницы
TYPE:
|
limit
|
максимальное количество постов (1 <= limit <= 50)
TYPE:
|
sort
|
сортировка ("new" или "popular")
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[Pagination, list[Post]]
|
Кортеж (пагинация, список постов) |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
пользователь не найден |
UserBlockedError
|
пользователь заблокирован |
get_wall_posts
¶
get_wall_posts(
username_or_id: Union[str, UUID, UserRef],
cursor: str | None = None,
limit: int = 20,
sort: PostSort | Literal["new", "popular"] = NEW,
**kwargs,
) -> tuple[Pagination, list[Post]]
Посты на стене пользователя, сделанные другими пользователями.
| PARAMETER | DESCRIPTION |
|---|---|
username_or_id
|
имя пользователя или его UUID, или UserRef
TYPE:
|
cursor
|
курсор следующей страницы
TYPE:
|
limit
|
максимальное количество постов (1 <= limit <= 50)
TYPE:
|
sort
|
сортировка ("new" или "popular")
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[Pagination, list[Post]]
|
Кортеж (пагинация, список постов) |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
пользователь не найден |
UserBlockedError
|
пользователь заблокирован |
get_posts
¶
get_posts(
cursor: str | None = None,
limit: int = 20,
tab: Tab
| Literal["popular", "following", "clan"] = POPULAR,
**kwargs,
) -> tuple[Pagination, list[Post]]
Лента постов.
| PARAMETER | DESCRIPTION |
|---|---|
cursor
|
курсор следующей страницы
TYPE:
|
limit
|
максимальное количество постов (1 <= limit <= 50)
TYPE:
|
tab
|
вкладка ("popular", "following", "clan")
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[Pagination, list[Post]]
|
Кортеж (пагинация, список постов) |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
get_post_comments
¶
get_post_comments(
post_id: Union[UUID, str, PostRef],
cursor: str | None = None,
limit: int = 20,
sort: CommentSort
| Literal["popular", "newest", "oldest"] = POPULAR,
**kwargs,
) -> tuple[TotalPagination, list[Comment]]
Получить комментарии под постом.
| PARAMETER | DESCRIPTION |
|---|---|
post_id
|
UUID поста (можно передавать как UUID, так и строку, а также PostRef)
TYPE:
|
cursor
|
курсор следующей страницы
TYPE:
|
sort
|
сортировка ("popular", "newest", "oldest")
TYPE:
|
limit
|
максимальное количество комментариев (1 <= limit <= 500)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[TotalPagination, list[Comment]]
|
Кортеж (пагинация с общим количеством, список комментариев) |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пост не найден |
vote_poll
¶
vote_poll(
post_id: Union[UUID, str, PostRef],
option_ids: list[Union[UUID, str, OptionRef]],
**kwargs,
) -> Poll
Проголосовать в опросе.
| PARAMETER | DESCRIPTION |
|---|---|
post_id
|
UUID поста (можно передавать как UUID, так и строку, а также PostRef)
TYPE:
|
option_ids
|
список UUID выбранных вариантов (можно передавать как UUID, так и строки, а также OptionRef)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Poll
|
Обновлённый опрос |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
пост не найден |
ValidationError
|
Один или несколько вариантов не принадлежат этому опросу |
ValidationError
|
В этом опросе можно выбрать только один вариант |
ValidationError
|
len(option_ids) > 0 |
create_post
¶
create_post(
content: str = "",
attachment_ids: list[Union[UUID, str, FileRef]]
| None = None,
wall_recipient_id: Union[UUID, str, UserRef]
| None = None,
multiple_choice: bool = False,
question: str | None = None,
options: list[str] | None = None,
spans: list[
Monospace
| Strike
| Underline
| Bold
| Italic
| Spoiler
| Link
]
| None = None,
**kwargs,
) -> Post
Создать пост.
| PARAMETER | DESCRIPTION |
|---|---|
content
|
Текст поста
TYPE:
|
attachment_ids
|
Прикреплённые файлы (список UUID, можно передавать строки, а также FileRef)
TYPE:
|
wall_recipient_id
|
ID пользователя, на чью стену публикуется пост (если не указан, пост идёт на свою стену) (можно передавать UUID, строку, UserRef)
TYPE:
|
multiple_choice
|
Возможен ли множественный выбор в опросе
TYPE:
|
question
|
Заголовок опроса
TYPE:
|
options
|
Варианты ответов (список строк)
TYPE:
|
spans
|
Форматирование текста (список объектов форматирования)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Post
|
Созданный пост |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
ValidationError
|
Нельзя создать пост content="", attachment_ids=[], question=None |
ParamsValidationError
|
len(content) <= 1_000 |
VideoRequiresVerificationError
|
Загрузка видео доступна только верифицированным пользователям |
ValidationError
|
len(attachments_ids) <= 10 |
ForbiddenError
|
Некоторые файлы из attachment_ids не существуют |
ParamsValidationError
|
len(spans) <= 100 |
ValidationError
|
1 <= len(question) <= 128 |
ValidationError
|
2 <= len(options) <= 10 |
ValidationError
|
1 <= len(options[i]) <= 32 |
ParamsValidationError
|
span[i].offset >= 0 |
ParamsValidationError
|
span[i].length > 0 |
ParamsValidationError
|
len(span[i].url) <= 2048 |
update_post
¶
update_post(
post_id: Union[UUID, str, PostRef],
content: str,
spans: list[
Monospace
| Strike
| Underline
| Bold
| Italic
| Spoiler
| Link
]
| None = None,
**kwargs,
) -> UpdatePostResponse
Изменить текст поста.
| PARAMETER | DESCRIPTION |
|---|---|
post_id
|
UUID поста (можно передавать как UUID, так и строку, а также PostRef)
TYPE:
|
content
|
Новый текст поста
TYPE:
|
spans
|
Форматирование текста (список объектов форматирования)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
UpdatePostResponse
|
Обновлённый пост (содержит дату редактирования) |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пост не найден |
ValidationError
|
1 <= len(content) <= 1_000 |
ForbiddenError
|
Нет прав для редактирования этого поста |
EditWindowExpiredError
|
пост нельзя изменять спустя несколько дней |
ParamsValidationError
|
span[i].offset >= 0 |
ParamsValidationError
|
span[i].length > 0 |
ParamsValidationError
|
len(span[i].url) <= 2048 |
repost
¶
Сделать репост.
| PARAMETER | DESCRIPTION |
|---|---|
post_id
|
UUID оригинального поста (можно передавать как UUID, так и строку, а также PostRef)
TYPE:
|
content
|
Текст репоста (необязательно)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Post
|
Созданный репост |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пост не найден |
ConflictError
|
Нельзя репостнуть два раза |
ValidationError
|
Нельзя репостить свои посты |
ValidationError
|
len(content) <= 1_000 |
comment
¶
comment(
post_id: Union[UUID, str, PostRef],
content: str = "",
attachment_ids: list[Union[UUID, str, FileRef]]
| None = None,
**kwargs,
) -> Comment
Создать комментарий к посту.
| PARAMETER | DESCRIPTION |
|---|---|
post_id
|
UUID поста (можно передавать как UUID, так и строку, а также PostRef)
TYPE:
|
content
|
текст комментария
TYPE:
|
attachment_ids
|
список UUID прикреплённых файлов (максимум 4) (можно передавать как UUID, строку, FileRef)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Comment
|
Созданный комментарий |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
пост не найден |
ITDError
|
файл с указанным UUID не существует |
ValidationError
|
нельзя создать пустой комментарий (без текста и вложений) |
ParamsValidationError
|
len(attachment_ids) <= 4 |
ParamsValidationError
|
len(content) <= 1_000 |
replies
¶
replies(
comment_id: Union[UUID, str, CommentRef],
content: str = "",
replay_to_user_id: Union[UUID, str, UserRef]
| None = None,
attachment_ids: list[Union[UUID, str, FileRef]]
| None = None,
**kwargs,
) -> Reply
Ответить на комментарий.
| PARAMETER | DESCRIPTION |
|---|---|
comment_id
|
UUID комментария, на который отвечаем (можно передавать как UUID, так и строку, а также CommentRef)
TYPE:
|
content
|
текст ответа
TYPE:
|
replay_to_user_id
|
UUID пользователя, которому адресован ответ (для упоминания) (можно передавать UUID, строку, UserRef)
TYPE:
|
attachment_ids
|
список UUID прикреплённых файлов (максимум 4) (можно передавать UUID, строку, FileRef)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Reply
|
Созданный ответ |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
комментарий не найден |
ValidationError
|
нельзя создать пустой ответ (без текста и вложений) |
ITDError
|
файл с указанным UUID не существует |
ParamsValidationError
|
len(attachment_ids) <= 4 |
ParamsValidationError
|
len(content) <= 1_000 |
edit_comment
¶
edit_comment(
comment_id: Union[UUID, str, CommentRef],
content: str,
**kwargs,
) -> UpdateCommentResponse
Редактировать комментарий.
| PARAMETER | DESCRIPTION |
|---|---|
comment_id
|
UUID комментария (можно передавать как UUID, так и строку, а также CommentRef)
TYPE:
|
content
|
новый текст комментария
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
UpdateCommentResponse
|
Обновлённый комментарий (содержит дату редактирования) |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
комментарий не найден |
ForbiddenError
|
нет прав на редактирование этого комментария |
ParamsValidationError
|
1 <= len(content) <= 1_000 |
delete_comment
¶
delete_comment(
comment_id: Union[UUID, str, CommentRef], **kwargs
) -> None
Удалить комментарий.
| PARAMETER | DESCRIPTION |
|---|---|
comment_id
|
UUID комментария (можно передавать как UUID, так и строку, а также CommentRef)
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
комментарий не найден |
ForbiddenError
|
нет прав на удаление комментария |
restore_comment
¶
restore_comment(
comment_id: Union[UUID, str, CommentRef], **kwargs
) -> None
Восстановить удалённый комментарий.
| PARAMETER | DESCRIPTION |
|---|---|
comment_id
|
UUID комментария (можно передавать как UUID, так и строку, а также CommentRef)
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
комментарий не найден |
ForbiddenError
|
нет прав на восстановление комментария |
like_comment
¶
like_comment(
comment_id: Union[UUID, str, CommentRef], **kwargs
) -> int
Поставить лайк на комментарий.
| PARAMETER | DESCRIPTION |
|---|---|
comment_id
|
UUID комментария (можно передавать как UUID, так и строку, а также CommentRef)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Обновлённое количество лайков |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
комментарий не найден |
unlike_comment
¶
unlike_comment(
comment_id: Union[UUID, str, CommentRef], **kwargs
) -> int
Убрать лайк с комментария.
| PARAMETER | DESCRIPTION |
|---|---|
comment_id
|
UUID комментария (можно передавать как UUID, так и строку, а также CommentRef)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Обновлённое количество лайков |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
комментарий не найден |
get_comment_replies
¶
get_comment_replies(
comment_id: UUID | str | CommentRef,
limit: int = 100,
page: int = 1,
**kwargs,
) -> tuple[PagePagination, list[Reply]]
Получить ответы на комментарий.
| PARAMETER | DESCRIPTION |
|---|---|
comment_id
|
UUID комментария
TYPE:
|
limit
|
максимальное количество ответов на странице (1 <= limit <= 100)
TYPE:
|
page
|
номер страницы (page >= 1)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[PagePagination, list[Reply]]
|
Ответы на комментарий |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
комментарий не найден |
connect_notifications
¶
connect_notifications(
**kwargs,
) -> AsyncGenerator[
AsyncIterator[
ConnectedEvent | NotificationEvent | SSEEvent
],
None,
]
Подключиться к SEE стриму уведомлений.
| RAISES | DESCRIPTION |
|---|---|
SSEError
|
ошибка SSE |
Examples:
refresh_token = "ВАШ ТОКЕН"
async with AsyncITDClient(refresh_token) as client:
async with client.connect_notifications() as events:
async for event in events:
print(event)
break