-
Notifications
You must be signed in to change notification settings - Fork 3
/
dellallphoto.js
140 lines (122 loc) · 3.65 KB
/
dellallphoto.js
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
'use strict'
const Client = require('instagram-private-api').V1;
const delay = require('delay');
const chalk = require('chalk');
const _ = require('lodash');
const inquirer = require('inquirer');
const User = [
{
type:'input',
name:'username',
message:'[>] Insert Username:',
validate: function(value){
if(!value) return 'Can\'t Empty';
return true;
}
},
{
type:'password',
name:'password',
message:'[>] Insert Password:',
mask:'*',
validate: function(value){
if(!value) return 'Can\'t Empty';
return true;
}
},
{
type:'input',
name:'sleep',
message:'[>] Insert Sleep (MiliSeconds):',
validate: function(value){
value = value.match(/[0-9]/);
if (value) return true;
return 'Delay is number';
}
}
]
const Login = async function(User){
const Device = new Client.Device(User.username);
const Storage = new Client.CookieMemoryStorage();
const session = new Client.Session(Device, Storage);
try {
await Client.Session.create(Device, Storage, User.username, User.password)
const account = await session.getAccount();
return Promise.resolve({session,account});
} catch (err) {
return Promise.reject(err);
}
}
const Media = async function(session, id){
const Media = new Client.Feed.UserMedia(session, id);
try {
const Poto = [];
var cursor;
do {
if (cursor) Media.setCursor(cursor);
const getPoto = await Media.get();
await Promise.all(getPoto.map(async(poto) => {
Poto.push({
id:poto.id,
link:poto.params.webLink
});
}))
cursor = await Media.getCursor()
} while (Media.isMoreAvailable());
return Promise.resolve(Poto);
} catch (err){
return Promise.reject(err);
}
}
const Delete = async function(session, id){
try {
await Client.Media.delete(session,id);
return true;
} catch (err) {
return false;
}
}
const Excute = async function(User,sleep){
try {
/** TRY TO LOGIN **/
console.log('\n [?] Try to Login . . .');
const doLogin = await Login(User);
console.log(chalk`{bold.green [!] Login Succsess!}`);
/** TRY TO GET ALL MEDIA **/
console.log('[?] Try to get Media . . .')
var getMedia = await Media(doLogin.session, doLogin.account.id);
console.log(chalk`{bold.green [!] Succsess to get Media. Media Length : ${getMedia.length}}\n`);
getMedia = _.chunk(getMedia, 10);
/** TRY TO DELETE ALL MEDIA **/
for (let i = 0; i < getMedia.length; i++) {
console.log('[?] Try to Delete 10 Photo/Delay \n')
await Promise.all(getMedia[i].map(async(media) => {
const doDelete = await Delete(doLogin.session, media.id);
const PrintOut = chalk`> ${media.link} => ${doDelete ? chalk`{bold.green Sukses}` : chalk`{bold.red Gagal}`}`
console.log(PrintOut);
}))
console.log(chalk`{yellow \n [#][>] Delay For ${sleep} MiliSeconds [<][#] \n}`)
await delay(sleep)
}
} catch (err) {
console.log(err);
}
}
console.log(chalk`
{bold.cyan
—————————————————— [INFORMATION] ————————————————————
[?] {bold.green MASS DELETE ALL PHOTO IG *SET SLEEP!}
—————————————————— [THANKS TO] ————————————————————
[✓] CODE BY CYBER SCREAMER CCOCOT ([email protected])
[✓] FIXING & TESTING BY SYNTAX (@teamsyntaxid)
[✓] CCOCOT.CO | BC0DE.NET | NAONLAH.NET | WingkoColi
[✓] SGB TEAM REBORN | Zerobyte.id | [email protected]
—————————————————————————————————————————————————————}
`);
inquirer.prompt(User)
.then(answers => {
Excute({
username:answers.username,
password:answers.password
},answers.sleep);
})