itd-api / PostsResource
Interface: PostsResource
Defined in: resources/posts.ts:83
Посты: лента, публикация, реакции, репосты, комментарии.
Доступна как itd.posts.
Extends
BaseResource
Methods
byUser()
byUser(user, params?): Promise<Page<Post>>;Defined in: resources/posts.ts:331
Загружает страницу стены пользователя.
Это не только его собственные посты: сюда попадают и записи, которые другие оставили на его стене — у них author чужой, а wallRecipient указывает на владельца стены. Поэтому число записей обычно больше, чем postsCount из профиля; чтобы получить только авторские посты, отфильтруйте по post.author.id.
Принимает и UUID, и имя пользователя.
Parameters
user
string
params?
UserPostsParams = {}
Returns
comment()
comment(
postId,
input,
options?): Promise<Comment>;Defined in: resources/posts.ts:374
Комментирует пост.
Parameters
postId
string
input
string | CommentInput
options?
RequestOptions = {}
Returns
Promise<Comment>
Example
await itd.posts.comment(postId, 'согласен');
await itd.posts.comment(postId, (c) => c.content('смотри').attach(blob));comments()
comments(postId, params?): Promise<Page<Comment>>;Defined in: resources/posts.ts:356
Загружает страницу комментариев к посту.
У этого эндпоинта курсор и признак продолжения лежат рядом со списком, а не внутри объекта pagination, как у остальных, — разница скрыта внутри.
Parameters
postId
string
params?
CommentsParams = {}
Returns
create()
create(input, options?): Promise<Post>;Defined in: resources/posts.ts:169
Публикует пост.
Принимает обычный объект, PostBuilder или функцию-настройщик. Файлы из поля files загружаются автоматически, порядок вложений сохраняется.
Parameters
input
options?
RequestOptions = {}
Returns
Promise<Post>
Example
await itd.posts.create({ content: 'привет' });
await itd.posts.create((p) => p.content('привет').attach({ url: 'https://example.com/photo.jpg' }));get()
get(postId, options?): Promise<Post>;Defined in: resources/posts.ts:192
Загружает один пост вместе с топовыми комментариями.
В отличие от списков, здесь у поста заполнено поле comments.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<Post>
iterate()
iterate(params?): Paginator<Post>;Defined in: resources/posts.ts:153
Перебирает ленту, сама подставляя курсоры.
Parameters
params?
FeedParams = {}
Returns
Example
for await (const post of itd.posts.iterate({ tab: 'following' })) {
console.log(post.author.username, post.content);
}iterateByUser()
iterateByUser(user, params?): Paginator<Post>;Defined in: resources/posts.ts:336
Перебирает стену пользователя. Что именно в неё входит — см. byUser.
Parameters
user
string
params?
UserPostsParams = {}
Returns
iterateComments()
iterateComments(postId, params?): Paginator<Comment>;Defined in: resources/posts.ts:361
Перебирает комментарии к посту.
Parameters
postId
string
params?
CommentsParams = {}
Returns
iterateLikedByUser()
iterateLikedByUser(user, params?): Paginator<Post>;Defined in: resources/posts.ts:346
Перебирает посты, которые пользователь отметил реакцией.
Parameters
user
string
params?
UserPostsParams = {}
Returns
like()
like(postId, options?): Promise<LikeResult>;Defined in: resources/posts.ts:236
Ставит реакцию на пост.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<LikeResult>
likedByUser()
likedByUser(user, params?): Promise<Page<Post>>;Defined in: resources/posts.ts:341
Загружает страницу постов, которые пользователь отметил реакцией.
Parameters
user
string
params?
UserPostsParams = {}
Returns
list()
list(params?): Promise<Page<Post>>;Defined in: resources/posts.ts:139
Загружает страницу ленты.
Parameters
params?
FeedParams = {}
Returns
Example
const page = await itd.posts.list({ tab: FeedTab.Following, limit: 20 });
const next = await itd.posts.list({ tab: FeedTab.Following, cursor: page.nextCursor ?? undefined });pin()
pin(postId, options?): Promise<PinPostResult>;Defined in: resources/posts.ts:278
Закрепляет пост в профиле.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<PinPostResult>
remove()
remove(postId, options?): Promise<void>;Defined in: resources/posts.ts:218
Удаляет пост. Восстановить его можно через restore.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<void>
repost()
repost(
postId,
content?,
options?): Promise<Post>;Defined in: resources/posts.ts:259
Делает репост с необязательным комментарием.
Вложения к репосту не поддерживаются: сервер их игнорирует, поэтому параметров для файлов здесь нет.
Parameters
postId
string
content?
string = ''
options?
RequestOptions = {}
Returns
Promise<Post>
restore()
restore(postId, options?): Promise<Post>;Defined in: resources/posts.ts:227
Восстанавливает удалённый пост.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<Post>
stats()
stats(ids, options?): Promise<PostStats[]>;Defined in: resources/posts.ts:310
Запрашивает счётчики сразу для нескольких постов.
Parameters
ids
string[]
options?
RequestOptions = {}
Returns
Promise<PostStats[]>
unlike()
unlike(postId, options?): Promise<LikeResult>;Defined in: resources/posts.ts:245
Убирает реакцию с поста.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<LikeResult>
unpin()
unpin(postId, options?): Promise<PinPostResult>;Defined in: resources/posts.ts:287
Открепляет пост.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<PinPostResult>
unrepost()
unrepost(postId, options?): Promise<void>;Defined in: resources/posts.ts:269
Отменяет репост.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<void>
update()
update(
postId,
input,
options?): Promise<Post>;Defined in: resources/posts.ts:207
Редактирует текст и разметку поста.
Как и create, принимает объект, готовый PostBuilder или функцию-настройщик. Поля создания поста, которые update endpoint не поддерживает (вложения, опрос и стена), отвергаются до запроса.
Parameters
postId
string
input
options?
RequestOptions = {}
Returns
Promise<Post>
voiceComment()
voiceComment(
postId,
audio,
options?): Promise<Comment>;Defined in: resources/posts.ts:403
Отправляет голосовой комментарий.
Текста у такого комментария нет: сервер ждёт пустой content и одно аудиовложение в формате audio/ogg.
Parameters
postId
string
audio
options?
RequestOptions = {}
Returns
Promise<Comment>
Example
import { fromPath } from 'itd-api/node';
await itd.posts.voiceComment(postId, fromPath('./answer.ogg'));vote()
vote(
postId,
optionIds,
options?): Promise<Poll>;Defined in: resources/posts.ts:300
Голосует в опросе.
Parameters
postId
string
optionIds
string[]
выбранные варианты; несколько допустимы только при multipleChoice
options?
RequestOptions = {}
Returns
Promise<Poll>