forked from Nicuz/Nodeliad
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbot.js
100 lines (87 loc) · 4.62 KB
/
bot.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
const Telegraf = require('telegraf')
const nodeliad = require('./nodeliad')
const config = process.env.TG_TOKEN || require('./config.json');
const BOT = new Telegraf(process.env.TG_TOKEN || config.telegram.token);
var intestatario, credito, rinnovo, chiamate, sms, mms, dati, datiExtra;
nodeliad.Login(function (html) {
if (html == "Errore durante il login. ID utente o password non corretto.") {
console.log(">", html, "\n> Il bot NON verrà avviato.");
process.exit();
} else {
console.log("> Bot avviato.");
}
});
BOT.on('text', (ctx) => {
if (ctx.message.from.username && (process.env.TG_USERNAME === ctx.message.from.username || config.telegram.username === ctx.message.from.username)) {
switch (ctx.message.text) {
case '/start':
nodeliad.Login(function (html) {
intestatario = nodeliad.InfoLinea(html).intestatario;
ctx.replyWithMarkdown(`Ciao *${intestatario}*, hai effettuato con successo il login al sito di Iliad! 😄\n\nCon questo bot potrai controllare tutti i consumi relativi alla tua tariffa, ecco la lista dei comandi disponibili:\n💰 /info per conoscere il credito residuo\n🇮🇹 /consumi per conoscere i consumi effettuati in Italia\n🌎 /consumiestero per conoscere i consumi effettuati all'estero\n💶 /costiextra per controllare i costi extra in Italia\n💵 /costiextraestero per controllare consumi e costi extra all'estero`);
});
break
case '/all':
nodeliad.Login(function (html) {
credito = nodeliad.InfoLinea(html).credito;
rinnovo = nodeliad.InfoLinea(html).rinnovo;
minuti = nodeliad.ConsumiItalia(html).chiamateEffettuateMinuti;
sms = nodeliad.ConsumiItalia(html).smsInviati;
mms = nodeliad.ConsumiItalia(html).mmsInviati;
dati = nodeliad.ConsumiItalia(html).datiUtilizzati;
ctx.replyWithMarkdown(`Hai un credito residuo di ${credito}\n\n${rinnovo}\n\n📞 *${minuti}*\n💬 *${sms}* SMS\n✉️ *${mms}* MMS\n📶 *${dati}*`)
});
break
case '/info':
nodeliad.Login(function (html) {
credito = nodeliad.InfoLinea(html).credito;
rinnovo = nodeliad.InfoLinea(html).rinnovo;
ctx.replyWithMarkdown(`Hai un credito residuo di ${credito}\n\n${rinnovo}`);
});
break
case '/consumi':
nodeliad.Login(function (html) {
minuti = nodeliad.ConsumiItalia(html).chiamateEffettuateMinuti;
sms = nodeliad.ConsumiItalia(html).smsInviati;
mms = nodeliad.ConsumiItalia(html).mmsInviati;
dati = nodeliad.ConsumiItalia(html).datiUtilizzati;
ctx.replyWithMarkdown(`📞 *${minuti}*\n💬 *${sms}* SMS\n✉️ *${mms}* MMS\n📶 *${dati}*`)
});
break
case '/consumiestero':
nodeliad.Login(function (html) {
minuti = nodeliad.ConsumiEstero(html).chiamateEffettuateMinuti;
sms = nodeliad.ConsumiEstero(html).smsInviati;
mms = nodeliad.ConsumiEstero(html).mmsInviati;
dati = nodeliad.ConsumiEstero(html).datiUtilizzati;
ctx.replyWithMarkdown(`📞 *${minuti}*\n💬 *${sms}* SMS\n✉️ *${mms}* MMS\n📶 *${dati}*`)
});
break
case '/costiextra':
nodeliad.Login(function (html) {
minuti = nodeliad.ConsumiItalia(html).chiamateCostiExtra;
sms = nodeliad.ConsumiItalia(html).smsCostiExtra;
mms = nodeliad.ConsumiItalia(html).mmsCostiExtra;
dati = nodeliad.ConsumiItalia(html).datiCostiExtra;
ctx.replyWithMarkdown(`📞 *${minuti}*\n💬 *${sms}* (SMS)\n✉️ *${mms}* (MMS)\n📶 *${dati}*`)
});
break
case '/costiextraestero':
nodeliad.Login(function (html) {
minuti = nodeliad.ConsumiEstero(html).chiamateCostiExtra;
sms = nodeliad.ConsumiEstero(html).smsCostiExtra;
mms = nodeliad.ConsumiEstero(html).mmsCostiExtra;
dati = nodeliad.ConsumiEstero(html).datiCostiExtra;
datiExtra = nodeliad.ConsumiEstero(html).datiUtilizzatiExtra;
ctx.replyWithMarkdown(`📞 *${minuti}*\n💬 *${sms}* (SMS)\n✉️ *${mms}* (MMS)\n📶 *${dati}*\n📶 *${datiExtra}*`)
});
break
default:
ctx.reply('Comando non riconosciuto');
}
console.log(`Processed ${ctx.message.text} command from ${ctx.message.from.username || ctx.message.from.first_name}`)
} else {
console.log(`Received unauthorized command from ${ctx.message.from.username || ctx.message.from.first_name}`)
ctx.reply('Utente non autorizzato ad eseguire comandi.\nCrea il tuo bot iliad con https://github.com/albertoxamin/Nodeliad');
}
});
BOT.startPolling();