Users
UserRef
¶
UserRef(
username_or_id: UUID | str | None = None,
client: Optional[AsyncITDClient] = None,
**data,
)
Bases: ITDBaseModel
follow
¶
follow(**kwargs) -> int
Подписаться на пользователя.
| RETURNS | DESCRIPTION |
|---|---|
int
|
Количество подписчиков пользователя |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пользователь не найден |
ConflictError
|
Вы уже подписаны на этого пользователя |
ValidationError
|
Нельзя подписаться на себя |
UserBlockedError
|
пользователь заблокирован |
unfollow
¶
unfollow(**kwargs) -> int
Отписаться от пользователя.
| RETURNS | DESCRIPTION |
|---|---|
int
|
Количество подписчиков пользователя |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пользователь не найден |
get_followers
¶
get_followers(
page: int = 1, limit: int = 30, **kwargs
) -> tuple[PagePagination, list[UserWithFollowing]]
Получить подписчиков пользователя.
| PARAMETER | DESCRIPTION |
|---|---|
page
|
страница (page >= 1)
TYPE:
|
limit
|
максимальное количество пользователей на странице (1 <= limit <= 100)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[PagePagination, list[UserWithFollowing]]
|
Кортеж (пагинация, список пользователей) |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пользователь не найден |
UserBlockedError
|
пользователь заблокирован |
get_following
¶
get_following(
page: int = 1, limit: int = 30, **kwargs
) -> tuple[PagePagination, list[UserWithFollowing]]
Получить подписки пользователя.
| PARAMETER | DESCRIPTION |
|---|---|
page
|
страница (page >= 1)
TYPE:
|
limit
|
максимальное количество пользователей на странице (1 <= limit <= 100)
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[PagePagination, list[UserWithFollowing]]
|
Кортеж (пагинация, список пользователей) |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пользователь не найден |
UserBlockedError
|
пользователь заблокирован |
block
¶
block(**kwargs) -> None
Заблокировать пользователя.
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
NotFoundError
|
пользователь не найден |
ConflictError
|
пользователь уже заблокирован |
ValidationError
|
нельзя заблокировать себя |
unblock
¶
unblock(**kwargs) -> None
Разблокировать пользователя.
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
неверный access токен |
NotFoundError
|
пользователь не найден |
ConflictError
|
пользователь не заблокирован |
get_full
¶
get_full(
**kwargs,
) -> Union[
FullUser, UserBlockedByMe, UserBlockMe, PrivateUser
]
Получить полные данные пользователя.
| RETURNS | DESCRIPTION |
|---|---|
Union[FullUser, UserBlockedByMe, UserBlockMe, PrivateUser]
|
Данные пользователя в зависимости от статуса (полный профиль, заблокирован, приватный и т.д.) |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
необходима авторизация |
NotFoundError
|
пользователь не найден |
UserBlockedError
|
пользователь заблокирован |
get_posts
¶
get_posts(
cursor: str | None = None,
limit: int = 20,
sort: PostSort | Literal["new", "popular"] = "new",
**kwargs,
) -> tuple[Pagination, list[Post]]
Посты на стене пользователя (включая его собственные).
| PARAMETER | DESCRIPTION |
|---|---|
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(
cursor: str | None = None,
limit: int = 20,
sort: PostSort | Literal["new", "popular"] = "new",
**kwargs,
) -> tuple[Pagination, list[Post]]
Посты, которые лайкнул пользователь.
| PARAMETER | DESCRIPTION |
|---|---|
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(
cursor: str | None = None,
limit: int = 20,
sort: PostSort | Literal["new", "popular"] = "new",
**kwargs,
) -> tuple[Pagination, list[Post]]
Посты на стене пользователя, сделанные другими пользователями.
| PARAMETER | DESCRIPTION |
|---|---|
cursor
|
курсор следующей страницы
TYPE:
|
limit
|
максимальное количество постов (1 <= limit <= 50)
TYPE:
|
sort
|
сортировка ("new" или "popular")
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[Pagination, list[Post]]
|
Кортеж (пагинация, список постов) |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
пользователь не найден |
UserBlockedError
|
пользователь заблокирован |
get_is_following
¶
get_is_following(**kwargs) -> bool
Проверить, подписан ли текущий клиент на этого пользователя.
Требуется, чтобы у пользователя был указан id (UUID).
| RETURNS | DESCRIPTION |
|---|---|
bool
|
Подписан ли |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
report
¶
report(
reason: Reason
| Literal[
"spam",
"violence",
"hate",
"adult",
"misinfo",
"other",
] = "other",
description: str = "",
**kwargs,
) -> Report
Написать донос на пользователя.
Требуется, чтобы у пользователя был указан id (UUID).
| PARAMETER | DESCRIPTION |
|---|---|
reason
|
причина
TYPE:
|
description
|
текст репорта
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Report
|
Донос |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
ValidationError
|
не найден пост, пользователь или комментарий по target_id |
ValidationError
|
нельзя отправить жалобу на один и тот же контент |
create_post
¶
create_post(
content: str = "",
attachment_ids: list[Union[UUID, str, FileRef]]
| 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
Создать пост на стене пользователя.
Требуется, чтобы у пользователя был указан id (UUID).
| PARAMETER | DESCRIPTION |
|---|---|
content
|
Текст поста
TYPE:
|
attachment_ids
|
Прикреплённые файлы (список UUID, можно передавать строки, а также FileRef)
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 |