instagram-private-api
Version:
Instagram private API wrapper for full access to instagram
320 lines • 11.9 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.LiveRepository = void 0;
const repository_1 = require("../core/repository");
const Chance = require("chance");
class LiveRepository extends repository_1.Repository {
async muteComment(broadcastId) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/mute_comment/`,
method: 'POST',
form: this.client.request.sign({
_csrftoken: this.client.state.cookieCsrfToken,
_uid: this.client.state.cookieUserId,
_uuid: this.client.state.uuid,
}),
});
return body;
}
async getComment({ broadcastId, commentsRequested = 4, lastCommentTs, }) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/get_comment/`,
method: 'GET',
qs: {
num_comments_requested: commentsRequested,
last_comment_ts: lastCommentTs || 0,
},
});
return body;
}
async heartbeatAndGetViewerCount(broadcastId) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/heartbeat_and_get_viewer_count/`,
form: {
_csrftoken: this.client.state.cookieCsrfToken,
offset_to_video_start: 0,
_uuid: this.client.state.uuid,
},
method: 'POST',
});
return body;
}
async info(broadcastId) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/info/`,
method: 'GET',
});
return body;
}
async getFinalViewerList(broadcastId) {
const { body } = await this.client.request.send({
url: `api/v1/live/${broadcastId}/get_final_viewer_list/`,
method: 'GET',
});
return body;
}
async unmuteComment(broadcastId) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/unmute_comment/`,
method: 'POST',
form: this.client.request.sign({
_csrftoken: this.client.state.cookieCsrfToken,
_uid: this.client.state.cookieUserId,
_uuid: this.client.state.uuid,
}),
});
return body;
}
async create({ previewHeight = 1184, previewWidth = 720, message = '', }) {
const { body } = await this.client.request.send({
url: '/api/v1/live/create/',
method: 'POST',
form: this.client.request.sign({
_csrftoken: this.client.state.cookieCsrfToken,
_uuid: this.client.state.uuid,
preview_width: previewWidth,
preview_height: previewHeight,
broadcast_message: message,
broadcast_type: 'RTMP',
internal_only: 0,
}),
});
return body;
}
async getViewerList(broadcastId) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/get_viewer_list/`,
method: 'GET',
});
return body;
}
async createQuestion(broadcastId, question) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/questions/`,
method: 'POST',
form: {
_csrftoken: this.client.state.cookieCsrfToken,
_uuid: this.client.state.uuid,
text: question,
},
});
return body;
}
async activateQuestion(broadcastId, questionId) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/question/${questionId}/activate/`,
method: 'POST',
form: {
_csrftoken: this.client.state.cookieCsrfToken,
_uuid: this.client.state.uuid,
},
});
return body;
}
async deactivateQuestion(broadcastId, questionId) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/question/${questionId}/deactivate/`,
method: 'POST',
form: {
_csrftoken: this.client.state.cookieCsrfToken,
_uuid: this.client.state.uuid,
},
});
return body;
}
async getQuestions() {
const { body } = await this.client.request.send({
url: '/api/v1/live/get_questions/',
method: 'GET',
});
return body;
}
async wave(broadcastId, viewerId) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/wave/`,
method: 'POST',
form: this.client.request.sign({
viewer_id: viewerId,
_csrftoken: this.client.state.cookieCsrfToken,
_uid: this.client.state.cookieUserId,
_uuid: this.client.state.uuid,
}),
});
return body;
}
async like(broadcastId, likeCount = 1) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/like/`,
method: 'POST',
form: this.client.request.sign({
_csrftoken: this.client.state.cookieCsrfToken,
_uid: this.client.state.cookieUserId,
_uuid: this.client.state.uuid,
user_like_count: likeCount,
}),
});
return body;
}
async getLikeCount(broadcastId, likeTs = 0) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/get_like_count/`,
method: 'GET',
qs: {
like_ts: likeTs,
},
});
return body;
}
async getPostLiveThumbnails(broadcastId) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/get_post_live_thumbnails/`,
method: 'GET',
qs: {
signed_body: this.client.request.sign({}),
},
});
return body;
}
async resumeBroadcastAfterContentMatch(broadcastId) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/resume_broadcast_after_content_match/`,
method: 'POST',
form: this.client.request.sign({
_csrftoken: this.client.state.cookieCsrfToken,
_uid: this.client.state.cookieUserId,
_uuid: this.client.state.uuid,
}),
});
return body;
}
async getJoinRequestCounts({ broadcastId, lastTotalCount = 0, lastSeenTs = 0, lastFetchTs = 0, }) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/get_join_request_counts/`,
method: 'GET',
qs: {
last_total_count: lastTotalCount,
last_seen_ts: lastSeenTs,
last_fetch_ts: lastFetchTs,
},
});
return body;
}
async start(broadcastId, sendNotifications = true) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/start/`,
method: 'POST',
form: this.client.request.sign({
_csrftoken: this.client.state.cookieCsrfToken,
_uuid: this.client.state.uuid,
should_send_notifications: sendNotifications,
}),
});
return body;
}
async addPostLiveToIgtv({ broadcastId, title, description, coverUploadId, igtvSharePreviewToFeed = false, }) {
const { body } = await this.client.request.send({
url: `/api/v1/live/add_post_live_to_igtv/`,
method: 'POST',
form: this.client.request.sign({
_csrftoken: this.client.state.cookieCsrfToken,
_uuid: this.client.state.uuid,
broadcast_id: broadcastId,
cover_upload_id: coverUploadId,
description: description,
title: title,
internal_only: false,
igtv_share_preview_to_feed: igtvSharePreviewToFeed,
}),
});
return body;
}
async endBroadcast(broadcastId, endAfterCopyrightWarning = false) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/end_broadcast/`,
method: 'POST',
form: this.client.request.sign({
_csrftoken: this.client.state.cookieCsrfToken,
_uid: this.client.state.cookieUserId,
_uuid: this.client.state.uuid,
end_after_copyright_warning: endAfterCopyrightWarning,
}),
});
return body;
}
async comment(broadcastId, message) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/comment/`,
method: 'POST',
form: this.client.request.sign({
user_breadcrumb: this.client.request.userBreadcrumb(message.length),
idempotence_token: new Chance().guid(),
comment_text: message,
live_or_vod: '1',
offset_to_video_start: '0',
_csrftoken: this.client.state.cookieCsrfToken,
_uid: this.client.state.cookieUserId,
_uuid: this.client.state.uuid,
}),
});
return body;
}
async pinComment(broadcastId, commentId) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/pin_comment/`,
method: 'POST',
form: this.client.request.sign({
offset_to_video_start: 0,
comment_id: commentId,
_csrftoken: this.client.state.cookieCsrfToken,
_uid: this.client.state.cookieUserId,
_uuid: this.client.state.uuid,
}),
});
return body;
}
async unpinComment(broadcastId, commentId) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/unpin_comment/`,
method: 'POST',
form: this.client.request.sign({
offset_to_video_start: 0,
comment_id: commentId,
_csrftoken: this.client.state.cookieCsrfToken,
_uid: this.client.state.cookieUserId,
_uuid: this.client.state.uuid,
}),
});
return body;
}
async getLiveQuestions(broadcastId) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/questions/`,
method: 'POST',
form: this.client.request.sign({
sources: 'story_and_live',
}),
});
return body;
}
async addToPostLive(broadcastId) {
const { body } = await this.client.request.send({
url: `/api/v1/live/${broadcastId}/add_to_post_live/`,
method: 'POST',
form: this.client.request.sign({
_csrftoken: this.client.state.cookieCsrfToken,
_uid: this.client.state.cookieUserId,
_uuid: this.client.state.uuid,
}),
});
return body;
}
async getLivePresence() {
const { body } = await this.client.request.send({
url: '/api/v1/live/get_live_presence/',
method: 'GET',
});
return body;
}
}
exports.LiveRepository = LiveRepository;
//# sourceMappingURL=live.repository.js.map