Посты
Создать пост
post = c.create_post(
content='чиенбурбе круче чем #иванговно',
spans=[],
wall_recipient_id=None,
attachemnt_ids=[],
poll=None
)
spans и wall_recipient_id).
Параметры
content str One of required
Содержание поста.
spans list[Span]
Стилизация.
Example
Для получения этого списка можно использовать парсинг (на данный момент поддерживается только html):
from itd.utils import parse_html
c.create_post(*parse_html('<b>Толстый</b> <i>и</i> тонкий'))
Info
* - символ для "разархивации". parse_html возвращает список, который * разделяет на content (читый контент без тэгов) и spans
wall_recipient_id UUID
ID получателя поста (для постов на стене). Username не работает.
attachment_ids list[UUID] One of required
ID вложений.
poll PollData One of required
Опросник.
Example
from itd.models.post import PollData
c.create_post(
poll=PollData(
'вапро', # (1)
['орешки макадамья', 'мне офень нгахвятся'], # (2)
False # (3)
)
)
- Вопрос опроса
- Варианты ответа
- Можно ли ответить сразу несколько вариантов (по умолчанию -
False)
Ошибки
NotFound- получатель поста не найден.Forbidden- некоторые вложения не принадлежат вам или файл не существует. Вложения должны быть загружены вами черезupload_file.ValidationError- ошибка валидации, скорее всего из-за слишком большого количества символов.RequiresVerification- нельзя загружать видео с неверифицированого аккаунта.
Проголосовать
poll = c.vote(
id=UUID('aa612e16-eb1f-4323-89ce-4eacda133672'),
option_ids=[UUID('f12c70c7-141e-4dff-9e5b-87f039c7ba58')]
)
Параметры
id UUID Required
ID поста.
option_ids list[UUID] Required
ID опций для выбора (даже если в опросе можно выбрать только 1 вариант, все равно пишите как список).
Example
c.vote(
UUID('aa612e16-eb1f-4323-89ce-4eacda133672'),
[UUID('f12c70c7-141e-4dff-9e5b-87f039c7ba58')]
)
c.vote(
UUID('a6135f23-bd75-441b-93b7-cf9cf04ef76c'),
[
UUID('6daf7815-b30a-4f98-8091-7a0e24caba6c'),
UUID('3add69ee-4dae-4a81-9e4a-3e0fe77c7be0'),
UUID('ac758a37-2cb5-45ba-b743-a0a11a2b8d3d')
]
)
Получить посты
posts, pagination = c.get_posts(
cursor=0,
limit=20,
tab=PostsTab.POPULAR
)
Параметры
cursor int
Курсор для пагинации (из pagination.next_cursor).
Example
cursor = None
while True:
posts, pagination = c.get_posts(cursor=cursor)
cursor = pagination.next_cursor
limit int
Лимит постов.
tab PostsTab
Вкладка.
POPULAR: ПопулярныеFOLLOWING: ПодпискиCLAN: Лента кланов
Example
from itd.enums import PostsTab
c.get_posts(tab=PostsTab.FOLLOWING)
Получить пост
post = c.get_post(
id=UUID('c2f443df-61eb-4bfc-b52f-13aacecb9c46')
)
Параметры
id UUID Required
ID поста.
Ошибки
NotFound- пост не найден.
Отредактировать пост
content = c.edit_post(
id=UUID('c2f443df-61eb-4bfc-b52f-13aacecb9c46'),
content='Новое содержимое',
spans=[]
)
Параметры
id UUID Required
ID поста.
content str Required
Новое содержимое.
spans list[Span]
Стилизация. см. Пример заполнения
Ошибки
NotFound- пост не найден.Forbidden- пост не ваш.ValidationError- ошибка валидации.EditExpired- истекло время на редактирование. Редактирвоание разрешено только в первые 48ч после его публикации.
Удалить пост
c.delete_post(
id=UUID('c2f443df-61eb-4bfc-b52f-13aacecb9c46')
)
Параметры
id UUID Required
ID поста.
Ошибки
NotFound- пост не найден.Forbidden- пост не ваш.
Закрепить пост
c.pin_post(
id=UUID('c2f443df-61eb-4bfc-b52f-13aacecb9c46')
)
Параметры
id UUID Required
ID поста.
Ошибки
NotFound- пост не найден.Forbidden- пост не на вашей стене.
Репост
post = c.repost(
id=UUID('c2f443df-61eb-4bfc-b52f-13aacecb9c46'),
content='Содрежимое'
)
Параметры
id UUID Required
ID поста.
content str
Дополнительная подпись.
Ошибки
NotFound- пост не найден.AlreadyReposted- пост уже репостнут.CantRepostYourPost- собственные посты нельзя репостить.ValidationError- ошибка валидации.
Просмотреть пост
c.view_post(
id=UUID('c2f443df-61eb-4bfc-b52f-13aacecb9c46')
)
Параметры
id UUID Required
ID поста.
Ошибки
NotFound- пост не найден.
Получить посты пользователя
from itd.enums import UserPostSorting
posts, pagination = c.get_user_posts(
username_or_id='itd_sdk',
limit=20,
cursor=None,
pinnned_post_id=None,
sort=UserPostSorting.NEW
)
Параметры
id UUID Required
ID или username пользователя.
limit int
Лимит постов.
cursor datetime
Курсор для пагинации (из pagination.next_cursor).
pinned_post_id UUID
ID закрепелнного поста (если cursor=0, то добавится в начало). Можно взять из user.pinned_post_id. Если пост не найден, закрепелнного поста не будет.
sort UserPostSorting
Сортировка.
NEW: НовыеPOPULAR: Популярные
Ошибки
NotFound- пользователь не найден.
Получить лайкнутые посты пользователя
posts, pagination = c.get_liked_posts(
username_or_id='itd_sdk',
limit=20,
cursor=None
)
Параметры
id UUID Required
ID или username пользователя.
limit int
Лимит постов.
cursor datetime
Курсор для пагинации (из pagination.next_cursor).
Ошибки
NotFound- пользователь не найден.