itdirr
Posts
Модуль posts позволяет:
- получать посты
- создавать посты
- обновлять посты
- удалять посты
- ставить лайки
- делать репосты
- просматривать посты
Получить список постов
client.get_posts(limit=20, tab="popular")
Параметры
limit— количество постов (от 20 до 50)tab— сортировка:"popular"/"newest"/"oldest"cursor— курсор пагинации
Возвращает модель Posts подробнее
Получить один пост
post = client.get_post(post_id)
print("Лайков:", post.likes_count)
print("Просмотров:", post.views_count)
print("Комментариев:", post.comments_count)
print("Репостов:", post.reposts_count)
Возвращает модель Post подробнее
Создать пост
post = client.create_post("Привет!")
Параметры
content— текст постаattachment_ids— список ID медиафайловwall_recipient_id— ID пользователя для поста на стенуpoll— опросparse_html=True— HTML форматирование
С HTML
post = client.create_post("<b>Жирный</b> и <i>курсив</i>", parse_html=True)
С опросом
post = client.create_post(
content="Голосуем!",
poll={"question": "Лучший язык?", "options": ["Python", "Go", "Rust"]}
)
С медиафайлом
file = client.upload_file("photo.jpg")
post = client.create_post("Фото!", attachment_ids=[file.id])
Обновить пост
client.update_post(post_id, "Новый текст")
Удалить пост
client.delete_post(post_id) # True при успехе
Реакции
client.like_post(post_id) # лайк
client.unlike_post(post_id) # убрать лайк
Репост
# content обязателен — API не принимает пустую строку
client.repost_post(post_id, content="Мой комментарий")
Просмотр
client.view_post(post_id) # один пост
client.view_posts([id1, id2, id3]) # несколько
Посты пользователя
posts = client.get_user_posts("gam5510", limit=20, sort="new")
Пример
posts = client.get_posts(limit=20, tab="popular")
print("Всего:", len(posts))
for post in posts:
print(f"@{post.author.username}: {post.content[:50]}")
print(f" ❤️ {post.likes_count} 👁 {post.views_count} 💬 {post.comments_count}")