forked from ericet/monaco
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathautoFollowAndLike.js
More file actions
102 lines (92 loc) · 2.71 KB
/
autoFollowAndLike.js
File metadata and controls
102 lines (92 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
const axios = require('axios');
const uid = '';//Enter your uid here
const token = '';//Enter your token here
const INTERVAL= 1;//Runs every 1 minute
autoFollowAndLike();
setInterval(() => {
autoFollowAndLike();
}, INTERVAL * 60 * 1000);
async function autoFollowAndLike() {
let list = await getFollowersList();
for (let data of list) {
if (data.follow == false) {
let result = await follow(data.uid);
if (result.code == 0) {
console.log(`Followed ${data.uid}`);
await sleep(10000);
let post = await getLatestPost(data.uid);
if (post && !post.liked) {
let result = await likePost(post.id);
if (result.code === 0) {
console.log(`Liked post ID:${post.id} by ${post.uid}`)
} else {
console.log(`Error liking ${post.id}:${result.msg}`);
}
}
} else {
console.log(`Error following ${data.uid}:${result.msg}`);
}
await sleep(10000);
}
}
}
function follow(uid) {
return new Promise(async (resolve, reject) => {
axios.post('https://api.monaconft.io/api/user/follow', {
uid,
type: 1
}, {
headers: {
token
}
}).then(result => {
resolve(result.data)
}).catch(err => {
reject(err)
})
});
}
function getFollowersList() {
return new Promise(async (resolve, reject) => {
axios.get(`https://api.monaconft.io/api/user/getFollowersList?uid=${uid}`, {
headers: {
token
}
}).then(result => {
resolve(result.data.data)
}).catch(err => {
reject(err.response)
})
});
}
function getLatestPost(uid) {
return new Promise(async (resolve, reject) => {
axios.get(`https://api.monaconft.io/api/account/getPosts?uid=${uid}`, {
headers: {
token
}
}).then(result => {
resolve(result.data.data[0])
}).catch(err => {
reject(err.response)
})
});
}
function likePost(postId) {
return new Promise(async (resolve, reject) => {
axios.post('https://api.monaconft.io/api/post/likePost', {
post_id: postId
}, {
headers: {
token
}
}).then(result => {
resolve(result.data)
}).catch(err => {
reject(err.response)
})
});
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}