Posts
Span
¶
Option
¶
Option(option_id: UUID | str | None = None, **data)
Poll
¶
UpdatePostResponse
¶
Bases: ITDBaseModel
SpanType
¶
Mention
¶
HashTagSpan
¶
Monospace
¶
Strike
¶
Underline
¶
Italic
¶
Spoiler
¶
Link
¶
BasePost
¶
BasePost(
post_id: UUID | str | None = None,
client: Optional[AsyncITDClient] = None,
**data,
)
Bases: PostRef
get_full
¶
Получить пост с комментариями.
| 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:
|
limit
|
максимальное количество комментариев (1 <= limit <= 500)
TYPE:
|
sort
|
сортировка ("popular", "newest", "oldest")
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[TotalPagination, list[Comment]]
|
Кортеж (пагинация с общим количеством, список комментариев) |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пост не найден |
vote
¶
Проголосовать в опросе.
| PARAMETER | DESCRIPTION |
|---|---|
option_ids
|
список выбранных вариантов (можно передавать как UUID, строки или OptionRef)
TYPE:
|
| 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:
|
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
¶
repost(content: str = '', **kwargs) -> Post
Сделать репост этого поста.
| PARAMETER | DESCRIPTION |
|---|---|
content
|
Текст репоста (необязательно)
TYPE:
|
| 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:
|
attachment_ids
|
список прикреплённых файлов (можно передавать как UUID, строки или FileRef) (максимум 4)
TYPE:
|
| 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:
|
description
|
текст репорта
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Report
|
Донос |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
ValidationError
|
не найден пост, пользователь или комментарий по target_id |
ValidationError
|
нельзя отправить жалобу на один и тот же контент |
ParamsValidationError
|
len(description) <= 1000 |
OriginalPost
¶
OriginalPost(
post_id: UUID | str | None = None,
client: Optional[AsyncITDClient] = None,
**data,
)
Bases: BasePost
get_full
¶
Получить пост с комментариями.
| 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:
|
limit
|
максимальное количество комментариев (1 <= limit <= 500)
TYPE:
|
sort
|
сортировка ("popular", "newest", "oldest")
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[TotalPagination, list[Comment]]
|
Кортеж (пагинация с общим количеством, список комментариев) |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пост не найден |
vote
¶
Проголосовать в опросе.
| PARAMETER | DESCRIPTION |
|---|---|
option_ids
|
список выбранных вариантов (можно передавать как UUID, строки или OptionRef)
TYPE:
|
| 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:
|
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
¶
repost(content: str = '', **kwargs) -> Post
Сделать репост этого поста.
| PARAMETER | DESCRIPTION |
|---|---|
content
|
Текст репоста (необязательно)
TYPE:
|
| 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:
|
attachment_ids
|
список прикреплённых файлов (можно передавать как UUID, строки или FileRef) (максимум 4)
TYPE:
|
| 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:
|
description
|
текст репорта
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Report
|
Донос |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
ValidationError
|
не найден пост, пользователь или комментарий по target_id |
ValidationError
|
нельзя отправить жалобу на один и тот же контент |
ParamsValidationError
|
len(description) <= 1000 |
Post
¶
Post(
post_id: UUID | str | None = None,
client: Optional[AsyncITDClient] = None,
**data,
)
Bases: BasePost
get_full
¶
Получить пост с комментариями.
| 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:
|
limit
|
максимальное количество комментариев (1 <= limit <= 500)
TYPE:
|
sort
|
сортировка ("popular", "newest", "oldest")
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
tuple[TotalPagination, list[Comment]]
|
Кортеж (пагинация с общим количеством, список комментариев) |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
NotFoundError
|
Пост не найден |
vote
¶
Проголосовать в опросе.
| PARAMETER | DESCRIPTION |
|---|---|
option_ids
|
список выбранных вариантов (можно передавать как UUID, строки или OptionRef)
TYPE:
|
| 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:
|
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
¶
repost(content: str = '', **kwargs) -> Post
Сделать репост этого поста.
| PARAMETER | DESCRIPTION |
|---|---|
content
|
Текст репоста (необязательно)
TYPE:
|
| 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:
|
attachment_ids
|
список прикреплённых файлов (можно передавать как UUID, строки или FileRef) (максимум 4)
TYPE:
|
| 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:
|
description
|
текст репорта
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Report
|
Донос |
| RAISES | DESCRIPTION |
|---|---|
UnauthorizedError
|
ошибка авторизации |
ValidationError
|
не найден пост, пользователь или комментарий по target_id |
ValidationError
|
нельзя отправить жалобу на один и тот же контент |
ParamsValidationError
|
len(description) <= 1000 |