itd-api / PostsResource
Interface: PostsResource
Defined in: resources/posts.ts:110
Посты: лента, публикация, реакции, репосты, комментарии.
Доступна как itd.posts.
Extends
BaseResource
Methods
byUser()
byUser(
user,
params?,
options?): Promise<Page<Post>>;Defined in: resources/posts.ts:347
Загружает страницу стены пользователя.
Это не только его собственные посты: сюда попадают и записи, которые другие оставили на его стене — у них author чужой, а wallRecipient указывает на владельца стены. Поэтому число записей обычно больше, чем postsCount из профиля; чтобы получить только авторские посты, отфильтруйте по post.author.id.
Принимает и UUID, и имя пользователя.
Parameters
user
string
params?
UserPostsParams = {}
options?
RequestOptions = {}
Returns
comment()
comment(
postId,
input,
options?): Promise<Comment>;Defined in: resources/posts.ts:414
Комментирует пост.
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?,
options?): Promise<Page<Comment>>;Defined in: resources/posts.ts:388
Загружает страницу комментариев к посту.
У этого эндпоинта курсор и признак продолжения лежат рядом со списком, а не внутри объекта pagination, как у остальных, — разница скрыта внутри.
Parameters
postId
string
params?
CommentsParams = {}
options?
RequestOptions = {}
Returns
create()
create(input, options?): Promise<Post>;Defined in: resources/posts.ts:196
Публикует пост.
Принимает обычный объект, 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:218
Загружает один пост вместе с топовыми комментариями.
В отличие от списков, здесь у поста заполнено поле comments.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<Post>
iterate()
iterate(params?, options?): Paginator<Post>;Defined in: resources/posts.ts:180
Перебирает ленту, сама подставляя курсоры.
Parameters
params?
FeedParams = {}
options?
PaginationOptions = {}
Returns
Example
for await (const post of itd.posts.iterate({ tab: 'following' })) {
console.log(post.author.username, post.content);
}iterateByUser()
iterateByUser(
user,
params?,
options?): Paginator<Post>;Defined in: resources/posts.ts:356
Перебирает стену пользователя. Что именно в неё входит — см. byUser.
Parameters
user
string
params?
UserPostsParams = {}
options?
PaginationOptions = {}
Returns
iterateComments()
iterateComments(
postId,
params?,
options?): Paginator<Comment>;Defined in: resources/posts.ts:397
Перебирает комментарии к посту.
Parameters
postId
string
params?
CommentsParams = {}
options?
PaginationOptions = {}
Returns
iterateLikedByUser()
iterateLikedByUser(
user,
params?,
options?): Paginator<Post>;Defined in: resources/posts.ts:374
Перебирает посты, которые пользователь отметил реакцией.
Parameters
user
string
params?
UserPostsParams = {}
options?
PaginationOptions = {}
Returns
like()
like(postId, options?): Promise<LikeResult>;Defined in: resources/posts.ts:262
Ставит реакцию на пост.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<LikeResult>
likedByUser()
likedByUser(
user,
params?,
options?): Promise<Page<Post>>;Defined in: resources/posts.ts:365
Загружает страницу постов, которые пользователь отметил реакцией.
Parameters
user
string
params?
UserPostsParams = {}
options?
RequestOptions = {}
Returns
list()
list(params?, options?): Promise<Page<Post>>;Defined in: resources/posts.ts:166
Загружает страницу ленты.
Parameters
params?
FeedParams = {}
options?
RequestOptions = {}
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:300
Закрепляет пост в профиле.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<PinPostResult>
remove()
remove(postId, options?): Promise<void>;Defined in: resources/posts.ts:246
Удаляет пост. Восстановить его можно через restore.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<void>
repost()
repost(
postId,
content?,
options?): Promise<Post>;Defined in: resources/posts.ts:283
Делает репост с необязательным комментарием.
Вложения к репосту не поддерживаются: сервер их игнорирует, поэтому параметров для файлов здесь нет.
Parameters
postId
string
content?
string = ''
options?
RequestOptions = {}
Returns
Promise<Post>
restore()
restore(postId, options?): Promise<void>;Defined in: resources/posts.ts:254
Восстанавливает удалённый пост.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<void>
stats()
stats(ids, options?): Promise<PostStats[]>;Defined in: resources/posts.ts:329
Запрашивает счётчики сразу для нескольких постов.
Parameters
ids
string[]
options?
RequestOptions = {}
Returns
Promise<PostStats[]>
unlike()
unlike(postId, options?): Promise<LikeResult>;Defined in: resources/posts.ts:270
Убирает реакцию с поста.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<LikeResult>
unpin()
unpin(postId, options?): Promise<PinPostResult>;Defined in: resources/posts.ts:308
Открепляет пост.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<PinPostResult>
unrepost()
unrepost(postId, options?): Promise<void>;Defined in: resources/posts.ts:292
Отменяет репост.
Parameters
postId
string
options?
RequestOptions = {}
Returns
Promise<void>
update()
update(
postId,
input,
options?): Promise<PostUpdateResult>;Defined in: resources/posts.ts:232
Редактирует текст и разметку поста.
Как и create, принимает объект, готовый PostBuilder или функцию-настройщик. Поля создания поста, которые update endpoint не поддерживает (вложения, опрос и стена), отвергаются до запроса.
Parameters
postId
string
input
options?
RequestOptions = {}
Returns
Promise<PostUpdateResult>
voiceComment()
voiceComment(
postId,
audio,
options?): Promise<Comment>;Defined in: resources/posts.ts:442
Отправляет голосовой комментарий.
Текста у такого комментария нет: сервер ждёт пустой 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:320
Голосует в опросе.
Parameters
postId
string
optionIds
string[]
выбранные варианты; несколько допустимы только при multipleChoice
options?
RequestOptions = {}
Returns
Promise<Poll>