-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path7_Adhesion.js
134 lines (107 loc) · 5.29 KB
/
7_Adhesion.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
/* adhérer aux groupes, en désactivant les notifications des groupes où l'ambassadeur (prenom) est membre ,
et relever les questions d'adhésion s'elles éxistent.
*/
import puppeteer from 'puppeteer'
import child_process from 'child_process'
import UpdateCookiesAmbassadeur from './src/UpdateCookiesAmbassadeur.js'
import getCookiesAmbassadeur from './src/getCookiesAmbassadeur.js'
import adhererGroupes from './src/adhererGroupes.js'
import getIdAmbassadeur from './src/getIdAmbassadeur.js'
import getLoginAmbassadeur from './src/getLoginAmbassadeur.js'
import login from './src/login.js'
(async function () {
const prenom = process.argv[2]
const nom = process.argv[3]
var id_ambassadeur = 1
var page = null
var rapport = ''
process.stdin.resume();
process.stdin.on('data', async ( chunk) => {
const text = chunk.toString();
if (text.indexOf('quitter') != -1){
var cookies = await page.cookies()
await UpdateCookiesAmbassadeur(id_ambassadeur,JSON.stringify(cookies, null, 2))
await page.waitForTimeout(3000)
console.log(rapport)
console.log('\nAu revoir\n')
process.exit(1)
}
});
process.on('unhandledRejection', async (reason, promise) => {
var cookies = await page.cookies()
if (JSON.stringify(cookies, null, 2).localeCompare('[]') != 0){
await UpdateCookiesAmbassadeur(id_ambassadeur,JSON.stringify(cookies, null, 2))
await page.waitForTimeout(3000)
}
console.log('Unhandled Rejection at:', promise, 'reason:', reason);
const message = 'Il y a une crache. Relancer le script'
await page.evaluate(async message => {
await window.alert(message)
}, message)
const spawn = child_process.spawn
if (OS.indexOf('Linux') != -1){
const fini_spawn = spawn('notify-send', ['Script Craché']);
}else{
const exec = child_process.exec
const fini_exec = exec('start cmd /C "echo Script Craché && pause"')
}
console.log(rapport)
console.log('\nAu revoir\n')
process.exit(1)
});
if (process.argv.length < 4) {
console.log('\nNombre d\'arguments est trop petit !\n')
await AfficherMenu()
}else {
if (prenom && (await getLoginAmbassadeur(prenom)) && nom && (await getIdAmbassadeur(nom))) {
const loginPassword = await getLoginAmbassadeur(prenom)
id_ambassadeur = await getIdAmbassadeur(nom)
console.log('\nDebut Script\n')
const browser = await puppeteer.launch({
headless: false,
args: ["--no-sandbox","--disable-notifications"]
});
page = await browser.newPage()
const cookiestring = await getCookiesAmbassadeur(id_ambassadeur)
if (cookiestring){
var cookies = JSON.parse(cookiestring)
await page.setCookie(...cookies);
}
var OS = await page.evaluate(async message => {
var OS = "OS Inconnu";
if (navigator.appVersion.indexOf("Win")!=-1) OS = "Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OS = "MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OS = "Unix";
if (navigator.appVersion.indexOf("Linux")!=-1) OS = "Linux";
return OS
}, '')
await login(page,prenom,loginPassword)
console.log('\nfacebook')
const Ids = await adhererGroupes(page,id_ambassadeur,rapport)
var cookies = await page.cookies();
await UpdateCookiesAmbassadeur(id_ambassadeur,JSON.stringify(cookies, null, 2))
const message = 'Script Fini'
await page.evaluate(async message => {
await window.alert(message)
}, message)
const spawn = child_process.spawn
if (OS.indexOf('Linux') != -1){
const fini_spawn = spawn('notify-send', ['Script Fini']);
}else{
const exec = child_process.exec
const fini_exec = exec('start cmd /C "echo Script Fini && pause"')
}
await page.waitForTimeout(30000)
}else{
console.log('\nArguments non valides !\n')
await AfficherMenu()
}
}
console.log('\nfini\n')
process.exit(1)
})();
function AfficherMenu(){
console.log('\nHow To Use :\n')
console.log('\nnode adherer.js Prenom nom\n')
console.log('\nPrenom : prenom de l\'ambassadeur à adhérer aux groupes \nnom : nom de l\'ambassadeur à adhérer aux groupes\n')
}