- menu BOT
- verified_by_aportador
This commit is contained in:
@@ -12,6 +12,7 @@ const printf = require('util').format;
|
||||
const { User } = require('../models/user');
|
||||
const { CalZoom } = require('../models/calzoom');
|
||||
const { Nave } = require('../models/nave');
|
||||
const { MyBot } = require('../models/bot');
|
||||
const shared_consts = require('../tools/shared_nodejs');
|
||||
|
||||
const { ListaIngresso } = require('../models/listaingresso');
|
||||
@@ -70,8 +71,6 @@ const emo = {
|
||||
|
||||
|
||||
MsgBot = {
|
||||
MIANAVE: ['Nave'],
|
||||
|
||||
CIAO: ['ciao', 'ciaoo', 'hola', 'holaa', 'hey', 'salve', 'buongiorno', 'buondi', 'ciao ❤️'],
|
||||
CI_SEI: ['ci sei', 'c\'è qualcuno', 'c\'è nessuno'],
|
||||
CHI_SONO_IO: ['chi sono io', 'chi sono'],
|
||||
@@ -92,7 +91,7 @@ MsgBot = {
|
||||
SPOSAMI: ['sposami', 'vuoi sposar', 'sei sposat', 'ci sposiamo', 'ti sposo', 'sei sposat', 'mi sposi'],
|
||||
CHE_TEMPO_FA: ['che tempo'],
|
||||
NON_TROO_INVITATI: ['non trovo invitati', 'non riesco a trovare invitati'],
|
||||
PAROLACCE: ['stronz', 'fanculo'],
|
||||
PAROLACCE: ['stronz', 'fanculo', 'fottiti', 'cagare', 'ammazzat', 'muori', 'cretino', 'stupido'],
|
||||
COME_SI_CHIAMA: ['come si chiama'],
|
||||
PROSSIMO_ZOOM: ['prossimo zoom', 'fare lo zoom', 'gli zoom', 'conferenz', 'zoom'],
|
||||
LAVAGNA: ['lavagna', 'Lavagna', 'LAVAGNA'],
|
||||
@@ -107,11 +106,9 @@ MsgBot = {
|
||||
FARE_DOMANDA: ['fare una domanda', 'posso farti una domanda'],
|
||||
DIVENTERO_RICCA: ['diventerò ricc'],
|
||||
MA_ALLORA: ['ma allora'],
|
||||
CHI_E_VISTAR: ['chi è vistar'],
|
||||
CHI_E_PAOLO: ['chi è paolo'],
|
||||
};
|
||||
|
||||
MsgRisp = {
|
||||
const MsgRisp = {
|
||||
CHAT_EMPOWER: 'Entra nella Chat EMPOWER !!!\n' + 'https://t.me/joinchat/C741mkx5QYXu-kyYCYvA8g ' + emo.PURPLE_HEART + emo.GIFT_HEART + emo.BLUE_HEART
|
||||
};
|
||||
|
||||
@@ -141,8 +138,6 @@ function getemojibynumber(number) {
|
||||
}
|
||||
}
|
||||
|
||||
const strNave = "Nave";
|
||||
|
||||
|
||||
const Menu = {
|
||||
LANG_IT: emoji.get('flag-it') + ' Italiano',
|
||||
@@ -272,28 +267,6 @@ const MenuNoLogin = {
|
||||
// it: { menu: [[Menu.it.LAVAGNA, Menu.it.LINK_CONDIVIDERE], [Menu.it.ZOOM, Menu.it.ASSISTENZA], [Menu.LANG]] },
|
||||
// };
|
||||
|
||||
const MenuStandard = {
|
||||
it: { menu: [[Menu.it.LAVAGNA, Menu.it.LINK_CONDIVIDERE], [Menu.it.ZOOM, Menu.it.ASSISTENZA]] },
|
||||
};
|
||||
|
||||
const MenuPerAdmin = {
|
||||
it: { menu: [[Menu.it.LAVAGNA, Menu.it.LINK_CONDIVIDERE], [Menu.it.ZOOM, Menu.it.ASSISTENZA], [Menu.LANG, Menu.ADMIN]] },
|
||||
es: { menu: [[Menu.es.LAVAGNA, Menu.es.LINK_CONDIVIDERE], [Menu.es.ZOOM, Menu.es.ASSISTENZA], [Menu.LANG, Menu.ADMIN]] },
|
||||
fr: { menu: [[Menu.fr.LAVAGNA, Menu.fr.LINK_CONDIVIDERE], [Menu.fr.ZOOM, Menu.fr.ASSISTENZA], [Menu.LANG, Menu.ADMIN]] },
|
||||
si: { menu: [[Menu.si.LAVAGNA, Menu.si.LINK_CONDIVIDERE], [Menu.si.ZOOM, Menu.si.ASSISTENZA], [Menu.LANG, Menu.ADMIN]] },
|
||||
pt: { menu: [[Menu.pt.LAVAGNA, Menu.pt.LINK_CONDIVIDERE], [Menu.pt.ZOOM, Menu.pt.ASSISTENZA], [Menu.LANG, Menu.ADMIN]] },
|
||||
enUs: { menu: [[Menu.enUs.LAVAGNA, Menu.enUs.LINK_CONDIVIDERE], [Menu.enUs.ZOOM, Menu.enUs.ASSISTENZA], [Menu.LANG, Menu.ADMIN]] },
|
||||
};
|
||||
|
||||
const MenuRedirigi = {
|
||||
it: { menu: [[Menu.it.NUOVOSITO]] },
|
||||
es: { menu: [[Menu.it.NUOVOSITO]] },
|
||||
fr: { menu: [[Menu.it.NUOVOSITO]] },
|
||||
si: { menu: [[Menu.it.NUOVOSITO]] },
|
||||
pt: { menu: [[Menu.it.NUOVOSITO]] },
|
||||
enUs: { menu: [[Menu.it.NUOVOSITO]] },
|
||||
};
|
||||
|
||||
const MenuLang = {
|
||||
it: { menu: [[Menu.LANG_IT, Menu.LANG_EN], [Menu.LANG_ES, Menu.LANG_FR], [Menu.LANG_SI, Menu.LANG_PT, Menu.it.INDIETRO]] },
|
||||
};
|
||||
@@ -308,7 +281,7 @@ const MenuYesNo = {
|
||||
};
|
||||
|
||||
const MenuAdmin = {
|
||||
it: { menu: [[Menu.MSGSTAFF, Menu.MSGATUTTI, Menu.it.INDIETRO], [Menu.MSG_NO_7_REQ, Menu.MSG_NO_9_REQ, Menu.NESSUN_IMBARCO_7REQ], [Menu.MSGPAOLO, Menu.MSG_TO_NAVE, Menu.MSG_SI_INVITATI_NO_7REQ_INVITATI]] },
|
||||
it: { menu: [[Menu.MSGSTAFF, Menu.MSGATUTTI, Menu.it.INDIETRO], [Menu.MSGPAOLO]] },
|
||||
};
|
||||
|
||||
const MenuSend = {
|
||||
@@ -338,6 +311,10 @@ const Status = {
|
||||
WAITFOR_RISPOSTA: 110,
|
||||
};
|
||||
|
||||
const Cmd = {
|
||||
VALIDATE_REGISTRATION: 1,
|
||||
};
|
||||
|
||||
const Destin = {
|
||||
STAFF: 1,
|
||||
TUTTI: 2,
|
||||
@@ -348,6 +325,8 @@ const Destin = {
|
||||
MSG_TO_NAVE: 7,
|
||||
NESSUN_IMBARCO_7REQ: 8,
|
||||
PAOLO: 9,
|
||||
DOMANDA: 10,
|
||||
RISPOSTA: 11,
|
||||
};
|
||||
|
||||
const StatusMSGALL = {
|
||||
@@ -367,10 +346,15 @@ const txt = {
|
||||
MSG_VERIFY_CODE: '1. Ora ritorna sul sito:\n%s\n2. Copia il codice di Autenticazione (di 6 cifre) che troverai scritto in alto\n3. Scrivilo (o incollalo) qui sotto come messaggio:',
|
||||
MSG_ERR_VERIFY_CODE: 'Codice di Verifica Errato!' + emo.EXCLAMATION_MARK + '\nControlla sul sito %s e riscrivi il nuovo codice di 6 cifre.',
|
||||
MSG_VERIFY_OK: emoji.get('grinning') + ' Benvenuto %s! Ti sei correttamente verificato con il BOT. ' + '\nSono il tuo assistente virtuale.\n' +
|
||||
'Continua la guida passo passo tornando sul sito.\n\nQuesta chat ti servirà per vedere velocemente la tua Lavagna e per ricevere Importanti avvisi su come procedere il tuo cammino.\n\nUsa il menu qui sotto per controllare la tua situazione.' + emo.GREEN_HEART,
|
||||
'Questo Bot ti servirà per vedere velocemente la tua Lavagna e per ricevere Importanti avvisi su come procedere il tuo cammino.\n\nUsa il menu qui sotto per controllare la tua situazione.' + emo.GREEN_HEART,
|
||||
MSG_ERR_UNKNOWN_VERIFY_CODE: 'Errore durante il salvataggio sul Server. Riprovare piú tardi',
|
||||
MSG_EXIT_TELEGRAM: 'L\'account è stato ora scollegato da questo Telegram BOT.',
|
||||
MSG_APORTADOR_USER_REGISTERED: emo.FIRE + ' Si è appena Registrato "%s (n. %s)',
|
||||
MSG_APORTADOR_USER_REGISTERED: emo.FIRE + ' Si è appena Registrato "%s',
|
||||
MSG_APORTADOR_ASK_CONFIRM: emo.QUESTION_MARK + ' Si vuole confermare di Conoscere "%s ?',
|
||||
MSG_APORTADOR_CONFIRMED: emo.SUN + ' %s è stato confermato correttamente!',
|
||||
MSG_APORTADOR_DEST_CONFIRMED: emo.SUN + ' Sei stato Verificato correttamente da %s!',
|
||||
MSG_APORTADOR_DEST_NOT_CONFIRMED: emo.EXCLAMATION_MARK + ' Ci dispiace ma non sei stato Verificato correttamente dal tuo invitante %s. Contattalo se lo conosci, oppure trova un altro invitante !',
|
||||
MSG_APORTADOR_NOT_CONFIRMED: emo.EXCLAMATION_MARK + ' %s Non è stato Verificato !',
|
||||
MSG_ISCRITTO_CONACREIS: emo.FIRE + ' Si è appena Iscritto al Conacreis "%s"',
|
||||
MSG_MSG_SENT: emoji.get('envelope') + ' Messaggi Inviati !',
|
||||
MSG_MSG_TOSENT: emoji.get('envelope') + ' Messaggi da Inviare',
|
||||
@@ -480,6 +464,9 @@ const txt_pt = {
|
||||
|
||||
const TelegramBot = require('node-telegram-bot-api');
|
||||
|
||||
const ADMIN_IDTELEGRAM_TEST = 5022837609; //Perseo
|
||||
|
||||
|
||||
module.exports = {
|
||||
|
||||
ADMIN_IDTELEGRAM_SERVER: '12429864', //Paolo
|
||||
@@ -539,17 +526,42 @@ module.exports = {
|
||||
NameFrom = await User.getNameSurnameByUsername(mylocalsconf.idapp, userdest) + aportador;
|
||||
aportador = NameFrom;
|
||||
}
|
||||
text = printf(getstr(langdest, 'MSG_APORTADOR_USER_REGISTERED'), `${mylocalsconf.user.name} ${mylocalsconf.user.surname} (${mylocalsconf.user.username})`, index);
|
||||
text = printf(getstr(langdest, 'MSG_APORTADOR_USER_REGISTERED'), `${mylocalsconf.user.name} ${mylocalsconf.user.surname} (${mylocalsconf.user.username})`);
|
||||
}
|
||||
|
||||
let addtext = "";
|
||||
let rismsg = null;
|
||||
|
||||
|
||||
if (!!mylocalsconf.user.aportador_solidario) {
|
||||
addtext = '[Inviato a ' + NameFrom + ']:' + '\n';
|
||||
await this.sendMsgTelegram(mylocalsconf.idapp, userdest, text);
|
||||
rismsg = await this.sendMsgTelegram(mylocalsconf.idapp, userdest, text);
|
||||
}
|
||||
|
||||
await this.sendMsgTelegramToTheManagers(mylocalsconf.idapp, addtext + text);
|
||||
|
||||
if (phase === this.phase.REGISTRATION) {
|
||||
// Invia richiesta allo Sponsor
|
||||
const domanda = printf(getstr(langdest, 'MSG_APORTADOR_ASK_CONFIRM'),
|
||||
`${mylocalsconf.user.name + ' ' + mylocalsconf.user.surname}`);
|
||||
const msgyes = printf(getstr(langdest, 'MSG_APORTADOR_CONFIRMED'),
|
||||
`${mylocalsconf.user.name + ' ' + mylocalsconf.user.surname}`);
|
||||
const msgNo = printf(getstr(langdest, 'MSG_APORTADOR_NOT_CONFIRMED'),
|
||||
`${mylocalsconf.user.name + ' ' + mylocalsconf.user.surname}`);
|
||||
|
||||
const msgDestyes = printf(getstr(langdest, 'MSG_APORTADOR_DEST_CONFIRMED'),
|
||||
`${mylocalsconf.user.name + ' ' + mylocalsconf.user.surname}`);
|
||||
const msgDestNo = printf(getstr(langdest, 'MSG_APORTADOR_DEST_NOT_CONFIRMED'),
|
||||
`${mylocalsconf.user.name + ' ' + mylocalsconf.user.surname}`);
|
||||
|
||||
const cl = getclTelegByidapp(mylocalsconf.idapp);
|
||||
if (cl) {
|
||||
await cl.createIfNotExist(rismsg);
|
||||
await cl.menumsgDomanda(rismsg, Cmd.VALIDATE_REGISTRATION, Destin.DOMANDA, userdest, '', domanda, msgyes, msgNo, msgDestyes, msgDestNo, mylocalsconf.user.username);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
|
||||
@@ -925,6 +937,15 @@ module.exports = {
|
||||
return await cl.sendMsg(idtelegram, text, null, MyForm, message_id, chat_id, ripr_menuPrec)
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
reloadMenuBot: async function (idapp) {
|
||||
|
||||
const cl = getclTelegByidapp(idapp);
|
||||
if (cl) {
|
||||
return await cl.updateMenuBot();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
@@ -1050,6 +1071,12 @@ class Telegram {
|
||||
this.bot = bot;
|
||||
this.token = bot.token;
|
||||
this.arrUsers = [];
|
||||
this.pagenow = 1;
|
||||
this.pageChange = false;
|
||||
this.menuDb = null;
|
||||
this.menuSaved = {};
|
||||
this.lastid = 0
|
||||
//++
|
||||
}
|
||||
|
||||
async createIfNotExist(msg) {
|
||||
@@ -1104,10 +1131,13 @@ class Telegram {
|
||||
|
||||
let noanswer = false;
|
||||
|
||||
let lang = 'it';
|
||||
|
||||
const rec = this.getRecInMem(msg);
|
||||
let myname = '';
|
||||
if (rec.user) {
|
||||
myname = rec.user.name + ' ' + rec.user.surname + ' (n.' + rec.user.index + ')';
|
||||
lang = rec.user.lang;
|
||||
}
|
||||
|
||||
if (rec.statusmsg === Status.WAITFOR_RISPOSTA) {
|
||||
@@ -1152,8 +1182,13 @@ class Telegram {
|
||||
|
||||
rec.msgcodeprec = '';
|
||||
|
||||
const menusite = await this.isMenuSite(this.idapp, testo, lang, id);
|
||||
|
||||
if (risp === '') {
|
||||
if (MsgBot.CIAO.includes(testo.replace('!', ''))) {
|
||||
if (menusite) {
|
||||
risp = this.getValueMenu(this.idapp, testo, lang);
|
||||
noanswer = true;
|
||||
} else if (MsgBot.CIAO.includes(testo.replace('!', ''))) {
|
||||
risp = 'Ciao ';
|
||||
if (rec)
|
||||
if (rec.user)
|
||||
@@ -1206,7 +1241,7 @@ class Telegram {
|
||||
} else if (MsgBot.TI_AMO.find((rec) => testo.indexOf(rec) > -1)) {
|
||||
risp = ' Anche IO! ' + emo.KISS + emo.SMILE_STAR + emo.GIFT_HEART + emo.BLUE_HEART + emo.GREEN_HEART;
|
||||
} else if (MsgBot.PRINCIPE_AZZURRO.find((rec) => testo.indexOf(rec) > -1)) {
|
||||
risp = 'Chissà... Forse si!\nAnche se meglio averne un\'altro di scorta, nel caso il Principe non sia disponibile.';
|
||||
risp = 'Chissà... Forse si!\nAnche se meglio averne un altro di scorta, nel caso il Principe non sia disponibile.';
|
||||
} else if (MsgBot.AIUTO.find((rec) => testo.indexOf(rec) > -1)) {
|
||||
risp = 'Clicca qui per entrare nella Chat HELP di Supporto\n' + tools.HELP_CHAT + '\n\nI miei colleghi umani ti aiuteranno a risolvere !';
|
||||
} else if (MsgBot.SPOSAMI.find((rec) => testo.indexOf(rec) > -1)) {
|
||||
@@ -1277,13 +1312,13 @@ class Telegram {
|
||||
|
||||
if (risp !== '') {
|
||||
rec.numdomande++;
|
||||
await tools.snooze(600);
|
||||
this._inviaMsg(id, '[BOT' + emo.ROBOT_FACE + ' scrive]:\n' + risp, keyboard);
|
||||
if (!noanswer) {
|
||||
await tools.snooze(600);
|
||||
risp = '[BOT' + emo.ROBOT_FACE + ' scrive]:\n' + risp
|
||||
}
|
||||
this._inviaMsg(id, risp, keyboard);
|
||||
|
||||
let strlog = 'USER [' + myname + ']: ' + testo + '\n';
|
||||
if (!noanswer) {
|
||||
strlog += 'BOT: ' + risp + '\n';
|
||||
}
|
||||
|
||||
tools.writelog(strlog);
|
||||
}
|
||||
@@ -1367,8 +1402,6 @@ class Telegram {
|
||||
|
||||
if (this.isSelMenu(msg, msg.text, 'LAVAGNA') || MsgBot.LAVAGNA.find((rec) => msg.text.indexOf(rec) > -1)) {
|
||||
await this.menuLavagna(msg);
|
||||
} else if (msg.text === Menu.MIANAVE || (cmd2 === strNave) || MsgBot.MIANAVE.find((rec) => msg.text.indexOf(rec) > -1)) {
|
||||
await this.menuNave(msg)
|
||||
} else if (this.isSelMenu(msg, msg.text, 'ACCEDI')) {
|
||||
await this.menuAccedi(msg)
|
||||
} else if (this.isSelMenu(msg, msg.text, 'LINK_CONDIVIDERE')) {
|
||||
@@ -1728,6 +1761,12 @@ class Telegram {
|
||||
else if (destin === Destin.A_UTENTE) {
|
||||
const rec = this.getRecInMem(msg);
|
||||
return rec.msgall_username_specifico
|
||||
} else if (destin === Destin.DOMANDA) {
|
||||
const rec = this.getRecInMem(msg);
|
||||
return rec.msg_username_domanda
|
||||
} else if (destin === Destin.RISPOSTA) {
|
||||
const rec = this.getRecInMem(msg);
|
||||
return rec.msg_username_risposta
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1784,6 +1823,23 @@ class Telegram {
|
||||
}
|
||||
}
|
||||
|
||||
async menumsgDomanda(msg, cmd, dest, username, extraparam, domanda, msgYes, msgNo, destYes, destNo, username_risposta) {
|
||||
const rec = this.getRecInMem(msg);
|
||||
if (rec.user) {
|
||||
rec.msgall_status = StatusMSGALL.CONFIRM;
|
||||
rec.msgall_achi = dest;
|
||||
rec.extraparam = extraparam;
|
||||
rec.cmd_to_set = cmd;
|
||||
rec.msg_username_domanda = username;
|
||||
rec.msg_username_risposta = username_risposta;
|
||||
rec.msgtosent = msgYes;
|
||||
rec.msgNo = msgNo;
|
||||
rec.msg_toDest_yes = destYes;
|
||||
rec.msg_toDest_no = destNo;
|
||||
return this.ChiediSINO(msg, domanda);
|
||||
}
|
||||
}
|
||||
|
||||
getlink(qualelink) {
|
||||
|
||||
if (qualelink === 'website') {
|
||||
@@ -1851,17 +1907,13 @@ class Telegram {
|
||||
}
|
||||
|
||||
getRecInMemById(id) {
|
||||
return this.arrUsers.find((rec) => rec.id === id);
|
||||
return this.arrUsers.find((rec) => rec.id.toString() === id.toString());
|
||||
}
|
||||
|
||||
getRecByUsername(username) {
|
||||
return this.arrUsers.find((rec) => rec.username_bo === username);
|
||||
}
|
||||
|
||||
getRecInMemById(id) {
|
||||
return this.arrUsers.find((rec) => rec.id === id);
|
||||
}
|
||||
|
||||
deleteRecInMem(msg) {
|
||||
this.arrUsers = this.arrUsers.filter((rec) => rec.id !== this.getchatid(msg));
|
||||
}
|
||||
@@ -2000,14 +2052,31 @@ class Telegram {
|
||||
}
|
||||
|
||||
|
||||
async setCmdToUsername(rec, username, cmd_to_set, valuebool) {
|
||||
if (cmd_to_set === Cmd.VALIDATE_REGISTRATION) {
|
||||
return await User.setVerifiedByAportador(rec.user.idapp, username, valuebool);
|
||||
}
|
||||
}
|
||||
|
||||
async sendMsgToAll(rec, msg, texttosend, destin) {
|
||||
try {
|
||||
if ((texttosend.length < 3) && (destin !== Destin.A_UTENTE)) {
|
||||
// NOTHING
|
||||
} else {
|
||||
|
||||
let usersall = null;
|
||||
if (destin === Destin.A_UTENTE)
|
||||
usersall = await User.getUsersTelegALL(rec.user.idapp, rec.msgall_username_specifico);
|
||||
|
||||
let myusername = '';
|
||||
if (destin === Destin.A_UTENTE) {
|
||||
myusername = rec.msgall_username_specifico;
|
||||
} else if (destin === Destin.DOMANDA) {
|
||||
myusername = rec.msg_username_domanda;
|
||||
} else if (destin === Destin.RISPOSTA) {
|
||||
myusername = rec.msg_username_risposta;
|
||||
}
|
||||
|
||||
if (myusername)
|
||||
usersall = await User.getUsersTelegALL(rec.user.idapp, myusername);
|
||||
else
|
||||
usersall = await User.getUsersTelegALL(rec.user.idapp);
|
||||
|
||||
@@ -2058,6 +2127,10 @@ class Telegram {
|
||||
invia = utente.username === 'paoloar77';
|
||||
} else if (destin === Destin.A_UTENTE) {
|
||||
invia = utente.username === rec.msgall_username_specifico;
|
||||
} else if (destin === Destin.DOMANDA) {
|
||||
invia = utente.username === rec.msg_username_domanda;
|
||||
} else if (destin === Destin.RISPOSTA) {
|
||||
invia = utente.username === rec.msg_username_risposta;
|
||||
} else if (destin === Destin.NO_7_REQ) {
|
||||
invia = !await User.isUserQualified7(this.idapp, utente.username);
|
||||
} else if (destin === Destin.NO_9_REQ) {
|
||||
@@ -2150,7 +2223,9 @@ class Telegram {
|
||||
await this.sendMsg(msg.chat.id, msgris);
|
||||
msgris = preparatesto;
|
||||
} else {
|
||||
msgris = nummsgsent + ' ' + getstr(this.getlang(msg), 'MSG_MSG_SENT');
|
||||
if (destin !== Destin.DOMANDA && destin !== Destin.RISPOSTA) {
|
||||
msgris = nummsgsent + ' ' + getstr(this.getlang(msg), 'MSG_MSG_SENT');
|
||||
}
|
||||
}
|
||||
|
||||
if (destin === Destin.A_UTENTE) {
|
||||
@@ -2161,8 +2236,10 @@ class Telegram {
|
||||
await this.sendMsg(msg.chat.id, 'Utente ' + rec.msgall_username_specifico + ' non presente sul BOT !');
|
||||
}
|
||||
} else {
|
||||
tools.writeEventsLog(msgris);
|
||||
await this.sendMsg(msg.chat.id, msgris);
|
||||
if (msgris) {
|
||||
tools.writeEventsLog(msgris);
|
||||
await this.sendMsg(msg.chat.id, msgris);
|
||||
}
|
||||
}
|
||||
}
|
||||
rec.start_write_msgall = false;
|
||||
@@ -2219,7 +2296,24 @@ class Telegram {
|
||||
// Take msg to send to ALL
|
||||
await this.sendMsgToAll(rec, msg, rec.msgtosent, rec.msgall_achi)
|
||||
} else {
|
||||
this.sendMsg(msg.chat.id, getstr(this.getlang(msg), 'MSG_OPERAZ_ANNULLATA'));
|
||||
let msgout = rec.msgNo;
|
||||
if (!msgout)
|
||||
msgout = getstr(this.getlang(msg), 'MSG_OPERAZ_ANNULLATA');
|
||||
this.sendMsg(msg.chat.id, msgout);
|
||||
}
|
||||
if (rec.msgall_achi === Destin.DOMANDA) {
|
||||
if (rec.msg_toDest_yes) {
|
||||
rec.msgall_achi = Destin.RISPOSTA;
|
||||
if (this.isSelMenu(msg, msg.text, 'SI')) {
|
||||
const ris = await this.setCmdToUsername(rec, rec.msg_username_risposta, rec.cmd_to_set, true);
|
||||
if (ris) {
|
||||
await this.sendMsgToAll(rec, msg, rec.msg_toDest_yes, rec.msgall_achi);
|
||||
}
|
||||
} else if (this.isSelMenu(msg, msg.text, 'NO')) {
|
||||
const ris = await this.setCmdToUsername(rec, rec.msg_username_risposta, rec.cmd_to_set, false);
|
||||
await this.sendMsgToAll(rec, msg, rec.msg_toDest_no, rec.msgall_achi);
|
||||
}
|
||||
}
|
||||
}
|
||||
rec.msgall_status = StatusMSGALL.NONE;
|
||||
normale = false;
|
||||
@@ -2230,17 +2324,25 @@ class Telegram {
|
||||
const cmd = rec.msgtosent.toLowerCase();
|
||||
let achi = this.getDestinStr(msg, rec.msgall_achi, rec);
|
||||
let domanda = '';
|
||||
if (cmd === CONTA_SOLO)
|
||||
domanda = 'Confermi di vedere a quante persone arriverebbe questo messaggio, a ' + achi + ' ?\n' + rec.msgtosent;
|
||||
else if (cmd === RICEVI_EMAIL)
|
||||
domanda = 'Confermi di vedere la lista delle email di ' + achi + '?';
|
||||
else if (cmd === NOME_COGNOME)
|
||||
domanda = 'Confermi di vedere la lista di persone ' + achi + '?';
|
||||
else {
|
||||
if (rec.msgall_achi === Destin.A_UTENTE)
|
||||
domanda = 'Confermi d\'Iniziare una Chat messaggi con ' + achi + ' ?\n' + rec.msgtosent;
|
||||
else
|
||||
domanda = 'Confermi d\'Inviare questo messaggio a ' + achi + ' ?\n' + rec.msgtosent;
|
||||
if (rec.msgall_domanda) {
|
||||
domanda = rec.msgall_domanda;
|
||||
} else {
|
||||
if (cmd === CONTA_SOLO)
|
||||
domanda = 'Confermi di vedere a quante persone arriverebbe questo messaggio, a ' +
|
||||
achi + ' ?\n' + rec.msgtosent;
|
||||
else if (cmd === RICEVI_EMAIL)
|
||||
domanda = 'Confermi di vedere la lista delle email di ' + achi +
|
||||
'?';
|
||||
else if (cmd === NOME_COGNOME)
|
||||
domanda = 'Confermi di vedere la lista di persone ' + achi + '?';
|
||||
else {
|
||||
if (rec.msgall_achi === Destin.A_UTENTE)
|
||||
domanda = 'Confermi d\'Iniziare una Chat messaggi con ' + achi +
|
||||
' ?\n' + rec.msgtosent;
|
||||
else
|
||||
domanda = 'Confermi d\'Inviare questo messaggio a ' + achi +
|
||||
' ?\n' + rec.msgtosent;
|
||||
}
|
||||
}
|
||||
|
||||
this.ChiediSINO(msg, domanda);
|
||||
@@ -2326,6 +2428,12 @@ class Telegram {
|
||||
return !!rec
|
||||
}
|
||||
|
||||
updateMenuBot() {
|
||||
for (let rec of this.arrUsers) {
|
||||
rec.datemenu_updated = null;
|
||||
}
|
||||
}
|
||||
|
||||
addUser(msg) {
|
||||
const lang = this.getlang(msg);
|
||||
const code = 100000 + Math.round(Math.random() * 899999);
|
||||
@@ -2342,12 +2450,20 @@ class Telegram {
|
||||
retry: 0,
|
||||
username_bo: '',
|
||||
msgall_status: StatusMSGALL.NONE,
|
||||
msgall_domanda: '',
|
||||
msgall_achi: 0,
|
||||
msgall_username_specifico: '',
|
||||
cmd_to_set: 0,
|
||||
msg_username_domanda: '',
|
||||
msg_username_risposta: '',
|
||||
extraparam: '',
|
||||
msgtosent: '',
|
||||
msgNo: '',
|
||||
msg_toDest_yes: '',
|
||||
msg_toDest_no: '',
|
||||
msg_wait: false,
|
||||
lastmenu: null,
|
||||
datemenu_updated: null,
|
||||
};
|
||||
|
||||
this.arrUsers.push(rec);
|
||||
@@ -2362,21 +2478,129 @@ class Telegram {
|
||||
|
||||
}
|
||||
|
||||
async getKeyboard(id, menu, lang) {
|
||||
let keyb = MenuStandard;
|
||||
async loadMenuFromDb(idapp, id) {
|
||||
try {
|
||||
let load = false;
|
||||
const check = true;
|
||||
|
||||
if (this.idapp === tools.AYNI) {
|
||||
keyb = MenuRedirigi
|
||||
}
|
||||
// Check if you are Admin
|
||||
const ismanager = await User.isAdminByIdTeleg(this.idapp, id);
|
||||
if (ismanager && menu !== MenuChat)
|
||||
keyb = MenuPerAdmin;
|
||||
if (this.idapp === tools.AYNI) {
|
||||
keyb = MenuRedirigi
|
||||
const recuser = this.getRecInMemById(id);
|
||||
if (recuser) {
|
||||
if (!recuser.datemenu_updated)
|
||||
load = true
|
||||
}
|
||||
if (check) {
|
||||
if (!(this.menuSaved[idapp]))
|
||||
load = true;
|
||||
}
|
||||
if (load || !this.menuDb || this.pageChange) {
|
||||
|
||||
// Check if you are Admin
|
||||
const user = await User.UserByIdTelegram(idapp, id);
|
||||
let isAdmin = user ? user.profile.manage_telegram && user.username === 'paoloar77' : false
|
||||
const isManager = user ? user.profile.manage_telegram : false
|
||||
const isVerified = user ? user.profile.teleg_id > 0 && user.verified_email && user.verified_by_aportador : false;
|
||||
|
||||
this.menuDb = await MyBot.findAllIdApp(idapp);
|
||||
|
||||
let arrlang = {}
|
||||
|
||||
let riga = 0;
|
||||
let arrtemp = [];
|
||||
let lang = '';
|
||||
|
||||
for (const rec of this.menuDb) {
|
||||
if (rec.active && rec.main && rec.page === this.pagenow
|
||||
&& ((isAdmin && tools.isBitActive(rec.visibility, shared_consts.VISIB_ONLY_ADMIN))
|
||||
|| (isManager && tools.isBitActive(rec.visibility, shared_consts.VISIB_ONLY_MANAGER))
|
||||
|| (isVerified && tools.isBitActive(rec.visibility, shared_consts.VISIB_ONLYIF_LOGGED))
|
||||
|| (rec.visibility === 0))
|
||||
) {
|
||||
lang = rec.lang;
|
||||
if (!arrlang[rec.lang])
|
||||
arrlang[rec.lang] = {menu: []}
|
||||
|
||||
if (riga !== rec.riga) {
|
||||
if (arrtemp.length > 0)
|
||||
arrlang[rec.lang].menu.push(arrtemp);
|
||||
|
||||
riga = rec.riga;
|
||||
arrtemp = []
|
||||
}
|
||||
|
||||
arrtemp.push(rec.label);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (arrtemp.length > 0)
|
||||
arrlang[lang].menu.push(arrtemp);
|
||||
|
||||
if (recuser)
|
||||
recuser.datemenu_updated = new Date();
|
||||
|
||||
this.pageChange = false;
|
||||
this.menuSaved[idapp] = arrlang;
|
||||
}
|
||||
return this.menuSaved[idapp];
|
||||
} catch (e) {
|
||||
console.log('Err loadMenuFromDb: ' + e);
|
||||
}
|
||||
}
|
||||
|
||||
async isMenuSite(idapp, testo, lang, id) {
|
||||
try {
|
||||
// Check if Reload
|
||||
const recuser = await this.getRecInMemById(id);
|
||||
if (recuser) {
|
||||
if (!recuser.datemenu_updated) {
|
||||
await this.loadMenuFromDb(this.idapp, id)
|
||||
}
|
||||
}
|
||||
|
||||
for (const rec of this.menuDb) {
|
||||
if (rec.idapp === idapp && rec.lang === lang && rec.label.toLowerCase() === testo) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
getValueMenu(idapp, testo, lang) {
|
||||
try {
|
||||
for (const rec of this.menuDb) {
|
||||
if (rec.idapp === idapp && rec.lang === lang && rec.label.toLowerCase() === testo) {
|
||||
if (rec.type === shared_consts.BOTTYPE_TEXT) {
|
||||
return rec.value;
|
||||
}
|
||||
if (rec.type === shared_consts.BOTTYPE_PAGE) {
|
||||
if (tools.isNumber(rec.value)) {
|
||||
this.pagenow = parseInt(rec.value);
|
||||
this.pageChange = true;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return '';
|
||||
} catch (e) {
|
||||
return '';
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
async getKeyboard(id, menu, lang) {
|
||||
let keyb = null;
|
||||
|
||||
this.lastid = id
|
||||
|
||||
if (menu) {
|
||||
keyb = menu
|
||||
} else {
|
||||
keyb = await this.loadMenuFromDb(this.idapp, id);
|
||||
}
|
||||
|
||||
let mykeyb = undefined;
|
||||
@@ -2405,7 +2629,8 @@ class Telegram {
|
||||
return 0;
|
||||
|
||||
if (process.env.LOCALE === "1") {
|
||||
id = '12429864';
|
||||
if (id !== ADMIN_IDTELEGRAM_TEST)
|
||||
id = '12429864';
|
||||
}
|
||||
|
||||
if (!!msg_id) {
|
||||
@@ -2461,7 +2686,7 @@ class Telegram {
|
||||
}
|
||||
};
|
||||
}
|
||||
const res = await this.bot.sendMessage(id, text, form)
|
||||
return this.bot.sendMessage(id, text, form)
|
||||
.catch((e) => {
|
||||
let blocked = false;
|
||||
if ((e.message.indexOf('Forbidden') > 0) || (e.message.indexOf('chat not found') > 0)) {
|
||||
@@ -2476,8 +2701,6 @@ class Telegram {
|
||||
}
|
||||
return 0;
|
||||
});
|
||||
|
||||
return res;
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
return 0
|
||||
@@ -2520,7 +2743,8 @@ class Telegram {
|
||||
try {
|
||||
mymenuout = mymenu[lang].menu;
|
||||
} catch (e) {
|
||||
mymenuout = mymenu['it'].menu;
|
||||
if (!!mymenu['it'])
|
||||
mymenuout = mymenu['it'].menu;
|
||||
}
|
||||
|
||||
return mymenuout;
|
||||
|
||||
Reference in New Issue
Block a user