ver 0.5.71:
- Info Conto - Admin: poter modificare Fido e QtaMax.
This commit is contained in:
@@ -1032,247 +1032,273 @@ const MyTelegramBot = {
|
||||
|
||||
},
|
||||
|
||||
sendMsgTelegramToTheManagersAndZoomeri: async function (
|
||||
idapp, text, onlyintofile, MyForm = null) {
|
||||
sendMsgTelegramToTheAdminsOfCircuit: async function (
|
||||
idapp, circuitpath, text, onlyintofile = false, MyForm = null, nottousername = '') {
|
||||
|
||||
tools.writeManagersLog(text);
|
||||
|
||||
if (!onlyintofile) {
|
||||
// const usersmanagers = await User.getusersManagersAndZoomeri(idapp);
|
||||
const usersmanagers = await User.getusersManagers(idapp);
|
||||
if (usersmanagers) {
|
||||
for (const rec of usersmanagers) {
|
||||
await this.sendMsgTelegramByIdTelegram(idapp, rec.profile.teleg_id,
|
||||
emo.ROBOT_FACE + ': ' + text, undefined, undefined, true, MyForm);
|
||||
await tools.snooze(100);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
},
|
||||
getMsgByTipoMsg: async function (mydata, lang, user, sonosognatore) {
|
||||
if (!!mydata.msgextra) {
|
||||
return { body: mydata.msgextra, title: '' };
|
||||
}
|
||||
|
||||
let title = '';
|
||||
let msg = '';
|
||||
|
||||
if (mydata.tipomsg === tools.TipoMsg.SEND_LINK_CHAT_DONATORI) {
|
||||
if (sonosognatore)
|
||||
msg = printf(tools.gettranslate('SEND_LINK_CHAT_SOGNATORE', lang),
|
||||
user.name,
|
||||
mydata.navemediatore.riga + '.' + mydata.navemediatore.col,
|
||||
mydata.msgpar1);
|
||||
else
|
||||
msg = printf(tools.gettranslate('SEND_LINK_CHAT_DONATORI', lang),
|
||||
user.name,
|
||||
mydata.navemediatore.riga + '.' + mydata.navemediatore.col,
|
||||
mydata.msgpar1);
|
||||
} else if (mydata.tipomsg === tools.TipoMsg.SEND_MSG || mydata.tipomsg ===
|
||||
tools.TipoMsg.SEND_MSG_SINGOLO) {
|
||||
if (!!mydata.username_mitt) {
|
||||
msg = '[' + tools.gettranslate('MSG_SEND_FROM', lang) + ' ' +
|
||||
mydata.username_mitt + ']:' + tools.ACAPO;
|
||||
}
|
||||
msg += mydata.msgpar1;
|
||||
} else if (mydata.tipomsg >= 1000) {
|
||||
const ris = await MsgTemplate.getMsgByLang(user.idapp, user, mydata.tipomsg,
|
||||
lang);
|
||||
msg = ris.body;
|
||||
title = ris.title;
|
||||
}
|
||||
|
||||
const cl = getclTelegByidapp(user.idapp);
|
||||
if (cl) {
|
||||
msg = await tools.convertSpecialTags(rec.user, msg);
|
||||
}
|
||||
|
||||
if (!!mydata.flotta) {
|
||||
// SOSTITUISCI LE PAROLE CHIAVI
|
||||
if (!!mydata.flotta.date_start)
|
||||
msg = msg.replace('{date_start}',
|
||||
tools.getstrDateLongTot(new Date(mydata.flotta.date_start),
|
||||
user.lang));
|
||||
if (!!mydata.flotta.date_close)
|
||||
msg = msg.replace('{date_close}',
|
||||
tools.getstrDateLongTot(new Date(mydata.flotta.date_close),
|
||||
user.lang));
|
||||
if (!!mydata.flotta.link_superchat)
|
||||
msg = msg.replace('{link_superchat}', mydata.flotta.link_superchat);
|
||||
if (!!mydata.flotta.tutor1)
|
||||
msg = msg.replace('{tutor1}', mydata.flotta.tutor1);
|
||||
if (!!mydata.flotta.tutor2)
|
||||
msg = msg.replace('{tutor2}', mydata.flotta.tutor2);
|
||||
if (!!mydata.flotta.tutor3)
|
||||
msg = msg.replace('{tutor3}', mydata.flotta.tutor3);
|
||||
if (!!mydata.flotta.tutorslo)
|
||||
msg = msg.replace('{tutorslo}', mydata.flotta.tutorslo);
|
||||
if (!!mydata.flotta.sognatore_nomecognome)
|
||||
msg = msg.replace('{sognatore}', mydata.flotta.sognatore_nomecognome);
|
||||
if (!!mydata.flotta.sognatore_nomecognome)
|
||||
msg = msg.replace('{flotta}',
|
||||
mydata.flotta.riga + '.' + Math.ceil(mydata.flotta.col_prima / 8) +
|
||||
' - ' + mydata.flotta.riga + '.' +
|
||||
Math.ceil(mydata.flotta.col_ultima / 8));
|
||||
}
|
||||
|
||||
return { body: msg, title };
|
||||
},
|
||||
|
||||
sendMsgTelegramToTheAdminAllSites: async function (text, senzaintestazione) {
|
||||
for (const idapp of this.getAppTelegram()) {
|
||||
text = text.replace('{appname}', tools.getNomeAppByIdApp(idapp));
|
||||
await this.sendMsgTelegramToTheAdmin(idapp, text, senzaintestazione);
|
||||
}
|
||||
},
|
||||
|
||||
sendMsgTelegramToTheAdmin: async function (idapp, text, senzaintestazione) {
|
||||
const usersmanagers = await User.getusersManagers(idapp);
|
||||
|
||||
let intestaz = emo.ROBOT_FACE + '[BOT-ADMIN]' + emo.ADMIN + ': ';
|
||||
if (senzaintestazione)
|
||||
intestaz = '';
|
||||
tools.writeManagersLog(text);
|
||||
let teleg_id = 0;
|
||||
|
||||
if (!onlyintofile) {
|
||||
const usersmanagers = await Circuit.getListAdminsByCircuitPath(idapp, circuitpath);
|
||||
if (usersmanagers) {
|
||||
for (const rec of usersmanagers) {
|
||||
if (User.isAdmin(rec.perm)) {
|
||||
this.sendMsgTelegramByIdTelegram(idapp, rec.profile.teleg_id,
|
||||
intestaz + text, undefined, undefined, true);
|
||||
await tools.snooze(300);
|
||||
if (rec.username !== nottousername) {
|
||||
teleg_id = await User.TelegIdByUsername(idapp, rec.username);
|
||||
if (teleg_id) {
|
||||
await this.sendMsgTelegramByIdTelegram(idapp, teleg_id,
|
||||
emo.ROBOT_FACE + ': ' + text, undefined, undefined, true,
|
||||
MyForm);
|
||||
await tools.snooze(100);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
|
||||
},
|
||||
},
|
||||
|
||||
sendMsgTelegramToALL: async function (idapp, text) {
|
||||
const usersall = await User.getUsersTelegALL(idapp);
|
||||
sendMsgTelegramToTheManagersAndZoomeri: async function (
|
||||
idapp, text, onlyintofile, MyForm = null) {
|
||||
|
||||
if (usersall) {
|
||||
for (const rec of usersall) {
|
||||
this.sendMsgTelegramByIdTelegram(idapp, rec.profile.teleg_id, text);
|
||||
tools.writeManagersLog(text);
|
||||
|
||||
if (!onlyintofile) {
|
||||
// const usersmanagers = await User.getusersManagersAndZoomeri(idapp);
|
||||
const usersmanagers = await User.getusersManagers(idapp);
|
||||
if (usersmanagers) {
|
||||
for (const rec of usersmanagers) {
|
||||
await this.sendMsgTelegramByIdTelegram(idapp, rec.profile.teleg_id,
|
||||
emo.ROBOT_FACE + ': ' + text, undefined, undefined, true, MyForm);
|
||||
await tools.snooze(100);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
},
|
||||
getMsgByTipoMsg: async function (mydata, lang, user, sonosognatore) {
|
||||
if (!!mydata.msgextra) {
|
||||
return { body: mydata.msgextra, title: '' };
|
||||
}
|
||||
|
||||
let title = '';
|
||||
let msg = '';
|
||||
|
||||
if (mydata.tipomsg === tools.TipoMsg.SEND_LINK_CHAT_DONATORI) {
|
||||
if (sonosognatore)
|
||||
msg = printf(tools.gettranslate('SEND_LINK_CHAT_SOGNATORE', lang),
|
||||
user.name,
|
||||
mydata.navemediatore.riga + '.' + mydata.navemediatore.col,
|
||||
mydata.msgpar1);
|
||||
else
|
||||
msg = printf(tools.gettranslate('SEND_LINK_CHAT_DONATORI', lang),
|
||||
user.name,
|
||||
mydata.navemediatore.riga + '.' + mydata.navemediatore.col,
|
||||
mydata.msgpar1);
|
||||
} else if (mydata.tipomsg === tools.TipoMsg.SEND_MSG || mydata.tipomsg ===
|
||||
tools.TipoMsg.SEND_MSG_SINGOLO) {
|
||||
if (!!mydata.username_mitt) {
|
||||
msg = '[' + tools.gettranslate('MSG_SEND_FROM', lang) + ' ' +
|
||||
mydata.username_mitt + ']:' + tools.ACAPO;
|
||||
}
|
||||
msg += mydata.msgpar1;
|
||||
} else if (mydata.tipomsg >= 1000) {
|
||||
const ris = await MsgTemplate.getMsgByLang(user.idapp, user, mydata.tipomsg,
|
||||
lang);
|
||||
msg = ris.body;
|
||||
title = ris.title;
|
||||
}
|
||||
|
||||
const cl = getclTelegByidapp(user.idapp);
|
||||
if (cl) {
|
||||
msg = await tools.convertSpecialTags(rec.user, msg);
|
||||
}
|
||||
|
||||
if (!!mydata.flotta) {
|
||||
// SOSTITUISCI LE PAROLE CHIAVI
|
||||
if (!!mydata.flotta.date_start)
|
||||
msg = msg.replace('{date_start}',
|
||||
tools.getstrDateLongTot(new Date(mydata.flotta.date_start),
|
||||
user.lang));
|
||||
if (!!mydata.flotta.date_close)
|
||||
msg = msg.replace('{date_close}',
|
||||
tools.getstrDateLongTot(new Date(mydata.flotta.date_close),
|
||||
user.lang));
|
||||
if (!!mydata.flotta.link_superchat)
|
||||
msg = msg.replace('{link_superchat}', mydata.flotta.link_superchat);
|
||||
if (!!mydata.flotta.tutor1)
|
||||
msg = msg.replace('{tutor1}', mydata.flotta.tutor1);
|
||||
if (!!mydata.flotta.tutor2)
|
||||
msg = msg.replace('{tutor2}', mydata.flotta.tutor2);
|
||||
if (!!mydata.flotta.tutor3)
|
||||
msg = msg.replace('{tutor3}', mydata.flotta.tutor3);
|
||||
if (!!mydata.flotta.tutorslo)
|
||||
msg = msg.replace('{tutorslo}', mydata.flotta.tutorslo);
|
||||
if (!!mydata.flotta.sognatore_nomecognome)
|
||||
msg = msg.replace('{sognatore}', mydata.flotta.sognatore_nomecognome);
|
||||
if (!!mydata.flotta.sognatore_nomecognome)
|
||||
msg = msg.replace('{flotta}',
|
||||
mydata.flotta.riga + '.' + Math.ceil(mydata.flotta.col_prima / 8) +
|
||||
' - ' + mydata.flotta.riga + '.' +
|
||||
Math.ceil(mydata.flotta.col_ultima / 8));
|
||||
}
|
||||
|
||||
return { body: msg, title };
|
||||
},
|
||||
|
||||
sendMsgTelegramToTheAdminAllSites: async function (text, senzaintestazione) {
|
||||
for (const idapp of this.getAppTelegram()) {
|
||||
text = text.replace('{appname}', tools.getNomeAppByIdApp(idapp));
|
||||
await this.sendMsgTelegramToTheAdmin(idapp, text, senzaintestazione);
|
||||
}
|
||||
},
|
||||
|
||||
sendMsgTelegramToTheAdmin: async function (idapp, text, senzaintestazione) {
|
||||
const usersmanagers = await User.getusersManagers(idapp);
|
||||
|
||||
let intestaz = emo.ROBOT_FACE + '[BOT-ADMIN]' + emo.ADMIN + ': ';
|
||||
if (senzaintestazione)
|
||||
intestaz = '';
|
||||
|
||||
if (usersmanagers) {
|
||||
for (const rec of usersmanagers) {
|
||||
if (User.isAdmin(rec.perm)) {
|
||||
this.sendMsgTelegramByIdTelegram(idapp, rec.profile.teleg_id,
|
||||
intestaz + text, undefined, undefined, true);
|
||||
await tools.snooze(300);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
},
|
||||
},
|
||||
|
||||
sendMsgTelegram: async function (
|
||||
idapp, username, text, alsotomanagers = false, username_mitt = '') {
|
||||
const { User } = require('../models/user');
|
||||
sendMsgTelegramToALL: async function (idapp, text) {
|
||||
const usersall = await User.getUsersTelegALL(idapp);
|
||||
|
||||
const teleg_id = await User.TelegIdByUsername(idapp, username);
|
||||
const cl = getclTelegByidapp(idapp);
|
||||
let ris = null;
|
||||
if (cl && teleg_id) {
|
||||
ris = await cl.sendMsg(teleg_id, text);
|
||||
if (usersall) {
|
||||
for (const rec of usersall) {
|
||||
this.sendMsgTelegramByIdTelegram(idapp, rec.profile.teleg_id, text);
|
||||
await tools.snooze(300);
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
sendMsgTelegram: async function (
|
||||
idapp, username, text, alsotomanagers = false, username_mitt = '') {
|
||||
const { User } = require('../models/user');
|
||||
|
||||
const teleg_id = await User.TelegIdByUsername(idapp, username);
|
||||
const cl = getclTelegByidapp(idapp);
|
||||
let ris = null;
|
||||
if (cl && teleg_id) {
|
||||
ris = await cl.sendMsg(teleg_id, text);
|
||||
}
|
||||
|
||||
if (cl && teleg_id) {
|
||||
if (alsotomanagers) {
|
||||
await this.sendMsgTelegramToTheManagers(idapp, text);
|
||||
}
|
||||
if (!!username_mitt) {
|
||||
const rec = cl.getRecByUsername(username);
|
||||
if (rec) {
|
||||
rec.msgall_username_specifico = username_mitt;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ris;
|
||||
},
|
||||
|
||||
sendMsgTelegramByIdTelegram: async function (
|
||||
idapp, idtelegram, text, message_id, chat_id, ripr_menuPrec,
|
||||
MyForm = null) {
|
||||
|
||||
console.log('sendMsgTelegramByIdTelegram', text);
|
||||
|
||||
if (!idtelegram)
|
||||
return;
|
||||
|
||||
const cl = getclTelegByidapp(idapp);
|
||||
if (cl && idtelegram) {
|
||||
let myform = null;
|
||||
|
||||
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 cl.updateMenuBot();
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
reloadSites: async function () {
|
||||
|
||||
tools.loadApps();
|
||||
|
||||
},
|
||||
|
||||
sendMsgFromSite: async function (idapp, user, params) {
|
||||
|
||||
try {
|
||||
let ris = {
|
||||
numrec: 0,
|
||||
nummsgsent: 0,
|
||||
text: '',
|
||||
};
|
||||
|
||||
let invia = false;
|
||||
let content = '';
|
||||
|
||||
let tipomsgtempl = 0;
|
||||
|
||||
params.sendreally = true;
|
||||
|
||||
if (params.typemsg === shared_consts.TypeMsg.SEND_TO_MYSELF) {
|
||||
params.usernameDest = user.username;
|
||||
}
|
||||
|
||||
if (cl && teleg_id) {
|
||||
if (alsotomanagers) {
|
||||
await this.sendMsgTelegramToTheManagers(idapp, text);
|
||||
}
|
||||
if (!!username_mitt) {
|
||||
const rec = cl.getRecByUsername(username);
|
||||
if (rec) {
|
||||
rec.msgall_username_specifico = username_mitt;
|
||||
}
|
||||
}
|
||||
if (params.cmd === shared_consts.MsgTeleg.SHARE_MSGREG) {
|
||||
tipomsgtempl = shared_consts.TypeMsgTemplate.MS_SHARE_LINK;
|
||||
invia = true;
|
||||
} else if (params.cmd === shared_consts.MsgTeleg.SHARE_TEXT) {
|
||||
invia = !!params.content;
|
||||
}
|
||||
|
||||
if (tipomsgtempl > 0) {
|
||||
const rismsg = await MsgTemplate.getMsgByLang(idapp, user, tipomsgtempl, user.lang);
|
||||
params.content = rismsg.body;
|
||||
params.title = rismsg.title;
|
||||
}
|
||||
|
||||
if (invia) {
|
||||
ris = await globalTables.SendMsgToParam(idapp, params);
|
||||
}
|
||||
|
||||
return ris;
|
||||
},
|
||||
|
||||
sendMsgTelegramByIdTelegram: async function (
|
||||
idapp, idtelegram, text, message_id, chat_id, ripr_menuPrec,
|
||||
MyForm = null) {
|
||||
} catch (e) {
|
||||
console.error('sendMsgFromSite', e);
|
||||
}
|
||||
},
|
||||
|
||||
console.log('sendMsgTelegramByIdTelegram', text);
|
||||
sendMsgFromSiteToBotTelegram: async function (idapp, user, params) {
|
||||
|
||||
if (!idtelegram)
|
||||
return;
|
||||
if (!params.typesend) {
|
||||
params.typesend = shared_consts.TypeSend.TELEGRAM;
|
||||
}
|
||||
|
||||
const cl = getclTelegByidapp(idapp);
|
||||
if (cl && idtelegram) {
|
||||
let myform = null;
|
||||
return this.sendMsgFromSite(idapp, user, params);
|
||||
|
||||
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 cl.updateMenuBot();
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
reloadSites: async function () {
|
||||
|
||||
tools.loadApps();
|
||||
|
||||
},
|
||||
|
||||
sendMsgFromSite: async function (idapp, user, params) {
|
||||
|
||||
try {
|
||||
let ris = {
|
||||
numrec: 0,
|
||||
nummsgsent: 0,
|
||||
text: '',
|
||||
};
|
||||
|
||||
let invia = false;
|
||||
let content = '';
|
||||
|
||||
let tipomsgtempl = 0;
|
||||
|
||||
params.sendreally = true;
|
||||
|
||||
if (params.typemsg === shared_consts.TypeMsg.SEND_TO_MYSELF) {
|
||||
params.usernameDest = user.username;
|
||||
}
|
||||
|
||||
if (params.cmd === shared_consts.MsgTeleg.SHARE_MSGREG) {
|
||||
tipomsgtempl = shared_consts.TypeMsgTemplate.MS_SHARE_LINK;
|
||||
invia = true;
|
||||
} else if (params.cmd === shared_consts.MsgTeleg.SHARE_TEXT) {
|
||||
invia = !!params.content;
|
||||
}
|
||||
|
||||
if (tipomsgtempl > 0) {
|
||||
const rismsg = await MsgTemplate.getMsgByLang(idapp, user, tipomsgtempl, user.lang);
|
||||
params.content = rismsg.body;
|
||||
params.title = rismsg.title;
|
||||
}
|
||||
|
||||
if (invia) {
|
||||
ris = await globalTables.SendMsgToParam(idapp, params);
|
||||
}
|
||||
|
||||
return ris;
|
||||
|
||||
} catch (e) {
|
||||
console.error('sendMsgFromSite', e);
|
||||
}
|
||||
},
|
||||
|
||||
sendMsgFromSiteToBotTelegram: async function (idapp, user, params) {
|
||||
|
||||
if (!params.typesend) {
|
||||
params.typesend = shared_consts.TypeSend.TELEGRAM;
|
||||
}
|
||||
|
||||
return this.sendMsgFromSite(idapp, user, params);
|
||||
|
||||
},
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
@@ -2342,7 +2368,7 @@ class Telegram {
|
||||
if (process.env.NODE_ENV === 'test') {
|
||||
file = '~/batch/test_restart_server.sh';
|
||||
}
|
||||
|
||||
|
||||
const ris = await tools.execScript(this.idapp, msg, file,
|
||||
this.chisono(rec) + ' Restart il Server (Node.Js) : ' + process.version);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user