Skip to content

Notifications

OptionRef

OptionRef(option_id: UUID | str | None = None, **data)

Bases: ITDBaseModel

id

id: UUID

PostRef

PostRef(
    post_id: UUID | str | None = None,
    client: Optional[AsyncITDClient] = None,
    **data,
)

Bases: ITDBaseModel

id

id: UUID

client

client: Optional[AsyncITDClient] = None

get_full

get_full(**kwargs) -> tuple[list[Comment], Post]

Получить пост с комментариями.

RETURNS DESCRIPTION
tuple[list[Comment], Post]

Кортеж (список комментариев, пост)

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

пост не существует, удалён, владелец поста забанил, пост принадлежит пользователю с is_private=True, на которого вы не подписаны

delete

delete(**kwargs) -> None

Удалить пост.

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

ForbiddenError

Нет прав для удаления поста

NotFoundError

Пост не найден

restore

restore(**kwargs) -> None

Восстановить пост.

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

ForbiddenError

Нет прав для восстановления поста

NotFoundError

Пост не найден

like

like(**kwargs) -> int

Лайкнуть пост.

RETURNS DESCRIPTION
int

Новое количество лайков

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

Пост не найден

unlike

unlike(**kwargs) -> int

Убрать лайк с поста.

RETURNS DESCRIPTION
int

Новое количество лайков

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

Пост не найден

view

view(**kwargs) -> None

Зафиксировать просмотр поста.

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

pin

pin(**kwargs) -> bool

Закрепить пост на своей стене.

RETURNS DESCRIPTION
bool

Успешность операции

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

Пост не найден

ForbiddenError

Можно прикреплять посты только на своей стене

unpin

unpin(**kwargs) -> bool

Открепить пост со своей стены.

RETURNS DESCRIPTION
bool

Успешность операции

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotPinedError

Пост не прикреплён

get_comments

get_comments(
    cursor: str | None = None,
    limit: int = 20,
    sort: CommentSort
    | Literal["popular", "newest", "oldest"] = "popular",
    **kwargs,
) -> tuple[TotalPagination, list[Comment]]

Получить комментарии под постом.

PARAMETER DESCRIPTION
cursor

курсор следующей страницы

TYPE: str | None DEFAULT: None

limit

максимальное количество комментариев (1 <= limit <= 500)

TYPE: int DEFAULT: 20

sort

сортировка ("popular", "newest", "oldest")

TYPE: CommentSort | Literal['popular', 'newest', 'oldest'] DEFAULT: 'popular'

RETURNS DESCRIPTION
tuple[TotalPagination, list[Comment]]

Кортеж (пагинация с общим количеством, список комментариев)

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

Пост не найден

vote

vote(
    option_ids: list[Union[UUID, str, OptionRef]], **kwargs
) -> Poll

Проголосовать в опросе.

PARAMETER DESCRIPTION
option_ids

список выбранных вариантов (можно передавать как UUID, строки или OptionRef)

TYPE: list[Union[UUID, str, OptionRef]]

RETURNS DESCRIPTION
Poll

Обновлённый опрос

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

пост не найден

ValidationError

Один или несколько вариантов не принадлежат этому опросу

ValidationError

В этом опросе можно выбрать только один вариант

ValidationError

len(option_ids) > 0

update

update(
    content: str, spans: list = None, **kwargs
) -> UpdatePostResponse

Изменить текст поста.

PARAMETER DESCRIPTION
content

Новый текст поста

TYPE: str

spans

Форматирование текста (список объектов форматирования)

TYPE: list DEFAULT: None

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

repost(content: str = '', **kwargs) -> Post

Сделать репост этого поста.

PARAMETER DESCRIPTION
content

Текст репоста (необязательно)

TYPE: str DEFAULT: ''

RETURNS DESCRIPTION
Post

Созданный репост

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

Пост не найден

ConflictError

Нельзя репостнуть два раза

ValidationError

Нельзя репостить свои посты

ValidationError

len(content) <= 1_000

comment

comment(
    content: str = "",
    attachment_ids: Union[
        list[Union[UUID, str, FileRef]], None
    ] = None,
    **kwargs,
) -> Comment

Создать комментарий к посту.

PARAMETER DESCRIPTION
content

текст комментария

TYPE: str DEFAULT: ''

attachment_ids

список прикреплённых файлов (можно передавать как UUID, строки или FileRef) (максимум 4)

TYPE: Union[list[Union[UUID, str, FileRef]], None] DEFAULT: None

RETURNS DESCRIPTION
Comment

Созданный комментарий

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

пост не найден

ITDError

файл с указанным UUID не существует

ValidationError

нельзя создать пустой комментарий (без текста и вложений)

ParamsValidationError

len(attachment_ids) <= 4

ParamsValidationError

len(content) <= 1_000

report

report(
    reason: Reason
    | Literal[
        "spam",
        "violence",
        "hate",
        "adult",
        "misinfo",
        "other",
    ] = "other",
    description: str = "",
    **kwargs,
) -> Report

Написать донос на пост.

PARAMETER DESCRIPTION
reason

причина

TYPE: Reason | Literal['spam', 'violence', 'hate', 'adult', 'misinfo', 'other'] DEFAULT: 'other'

description

текст репорта

TYPE: str DEFAULT: ''

RETURNS DESCRIPTION
Report

Донос

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

ValidationError

не найден пост, пользователь или комментарий по target_id

ValidationError

нельзя отправить жалобу на один и тот же контент

ParamsValidationError

len(description) <= 1000