Skip to content

Commit f1d83f5

Browse files
committed
2 parents e0cfccb + 1cc9beb commit f1d83f5

File tree

3 files changed

+109
-917
lines changed

3 files changed

+109
-917
lines changed

README.md

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,19 @@ console.log(resultAllFollowing)
8585
* [.followByUsername(username)](#followByUsername)
8686
* [.unfollowByUsername(username)](#unfollowByUsername)
8787
* [.getStoriesByUsername(username)](#getStoriesByUsername)
88+
* [.likeMediaById(mediaId)](#likeMediaById)
8889
* [.likeMediaByShortCode(shortCode)](#likeMediaByShortCode)
8990
* [.unlikeMediaByShortCode(shortCode)](#unlikeMediaByShortCode)
9091
* [.deleteMediaByShortCode(shortCode)](#deleteMediaByShortCode)
9192
* [.saveImageByShortCode(shortCode)](#saveImageByShortCode)
9293
* [.unsaveImageByShortCode(shortCode)](#saveImageByShortCode)
94+
* [.commentToMediaByMediaId({shortCode, commentText})](#commentToMediaByMediaId)
9395
* [.commentToMediaByShortCode({shortCode, commentText})](#commentToMediaByShortCode)
9496
* [.replyCommentByShortCode({shortCode, commentText, commentId})](#replyCommentByShortCode)
9597
* [.getEmbedMediaByShortCode(shortCode)](#getEmbedMediaByShortCode)
98+
* [.getMediaFeedByHashtag(name)](#getMediaFeedByHashtag)
99+
* [.getUserPostById(userId)](#getUserPostById)
100+
* [.findPeopleByUserId(userid)](#findPeopleByUserId)
96101
* [.findPeopleByUsername(username)](#findPeopleByUsername)
97102
* [.addPost(image, caption)](#addPost)
98103
* [.addStory(image)](#addStory)
@@ -244,6 +249,15 @@ console.log(resultAllFollowing)
244249
> get stories by username.
245250
- `username`: A `String`
246251

252+
### likeMediaById(mediaId)
253+
```js
254+
await InstaClient.useExistingCookie()
255+
const data = await InstaClient.likeMediaById(00000);
256+
console.log(data)
257+
```
258+
> like media by media id
259+
- `mediaId`: A `Number`
260+
247261
### likeMediaByShortCode(shortCode)
248262
```js
249263
await InstaClient.useExistingCookie()
@@ -289,6 +303,21 @@ console.log(resultAllFollowing)
289303
> save media by shortcode
290304
- `shortCode`: A `String`
291305

306+
### commentToMediaByMediaId(params)
307+
```js
308+
await InstaClient.useExistingCookie()
309+
const payload = {
310+
mediaId: 100000,
311+
commentText: 'Your Text Comment'
312+
}
313+
const data = await InstaClient.commentToMediaByMediaId(payload);
314+
console.log(data)
315+
```
316+
> add comment to a media by shortcode
317+
- `params`
318+
- `mediaId`: A `Number`
319+
- `commentText`: A `String`
320+
292321
### commentToMediaByShortCode(params)
293322
```js
294323
await InstaClient.useExistingCookie()
@@ -330,13 +359,40 @@ console.log(resultAllFollowing)
330359
> get embed media by shortCode
331360
- `shortCode`: A `String`
332361

362+
### getMediaFeedByHashtag(name)
363+
```js
364+
await InstaClient.useExistingCookie()
365+
const data = await InstaClient.getMediaFeedByHashtag('berita');
366+
console.log(data)
367+
```
368+
> get post by hastag
369+
- `name`: A `String`
370+
371+
### getUserPostById(userId)
372+
```js
373+
await InstaClient.useExistingCookie()
374+
const data = await InstaClient.getUserPostById(00000);
375+
console.log(data)
376+
```
377+
> get post by user id
378+
- `userId`: A `Number`
379+
380+
### findPeopleByUserId(userid)
381+
```js
382+
await InstaClient.useExistingCookie()
383+
const data = await InstaClient.findPeopleByUserId(00000);
384+
console.log(data)
385+
```
386+
> find people by userid
387+
- `userid`: A `Number`
388+
333389
### findPeopleByUsername(username)
334390
```js
335391
await InstaClient.useExistingCookie()
336392
const data = await InstaClient.findPeopleByUsername('menjadi');
337393
console.log(data)
338394
```
339-
> find people bu username
395+
> find people by username
340396
- `username`: A `String`
341397

342398
### addPost(image, caption)

lib/index.js

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,24 @@ class Instagram{
179179
}
180180
}
181181

182+
async getUserPostById(userId) {
183+
try {
184+
const result = await this.requestNodeFetch.get(`${this.baseUrl}graphql/query/?query_hash=eddbde960fed6bde675388aac39a3657&variables=${encodeURI(`{"id":"${userId}","first":1}`)}`, this.headers)
185+
return (await result.json()).data.user.edge_owner_to_timeline_media.edges
186+
} catch (e) {
187+
throw new Error(e)
188+
}
189+
}
190+
191+
async getMediaFeedByHashtag(tag) {
192+
try {
193+
const result = await this.requestNodeFetch.get(`${this.baseUrl}explore/tags/${tag}/?__a=1`)
194+
return (await result.json()).graphql.hashtag
195+
} catch (e) {
196+
throw new Error(e)
197+
}
198+
}
199+
182200
async getVideoByShortCode(codePage){
183201
try {
184202
const idContent = await this.getIdContentFromShortCode(codePage);
@@ -434,6 +452,16 @@ class Instagram{
434452

435453
}
436454

455+
async likeMediaById(mediaId) {
456+
try {
457+
this.headers.referer = `${this.baseUrl}`
458+
const result = await this.requestNodeFetch.post(`${this.baseUrl}web/likes/${mediaId}/like/`, null, this.headers)
459+
return await result.json()
460+
} catch (e) {
461+
throw new Error(e)
462+
}
463+
}
464+
437465
async likeMediaByShortCode(shortCode){
438466
try{
439467
this.headers.referer = `${this.baseUrl}p/${shortCode}/`;
@@ -494,6 +522,17 @@ class Instagram{
494522
}
495523
}
496524

525+
async commentToMediaByMediaId({ mediaId = '', commentText = '' }) {
526+
try {
527+
this.headers.referer = `${this.baseUrl}p/${mediaId}/`
528+
const payload = `comment_text=${commentText}&replied_to_comment_id=`
529+
const result = await this.requestNodeFetch.post(`${this.baseUrl}web/comments/${mediaId}/add/`, payload, this.headers)
530+
return await result.json()
531+
} catch (e) {
532+
throw new Error(e)
533+
}
534+
}
535+
497536
async commentToMediaByShortCode({shortCode = '', commentText = ''}){
498537
try{
499538
this.headers.referer = `${this.baseUrl}p/${shortCode}/`;
@@ -544,6 +583,16 @@ class Instagram{
544583
}
545584
}
546585

586+
async findPeopleByUserId(userId) {
587+
try {
588+
this.headers.referer = `${this.baseUrl}explore/search/`
589+
const result = await this.requestNodeFetch.get(`https://i.instagram.com/api/v1/users/${userId}/info/`, this.headers)
590+
return (await result.json()).user
591+
} catch (e) {
592+
throw new Error(e)
593+
}
594+
}
595+
547596
async uploadPhotoByPath(photo){
548597
try{
549598
const uploadId = Date.now();

0 commit comments

Comments
 (0)