- Nuovi Passi da completare: Leggere le Linee Guida e accettare le condizioni

- Aggiunti i Video e confermare di averli visti
 - In "La tua Lavagna" sono stati aggiunti come requisiti: (Accetto le Linee Guida e Vedo il Video di AYNI)
 - Aggiunto bottone "Invita Persone": apre la pagina dove c'è il messaggio da inviare alle persone.
 - La nuova pagina di registrazione https://test.gifteconomy.app/signup/paoloar77, comprende ora il testo delle Linee Guida + i Video, ed in fondo i campi per registrarsi.
This commit is contained in:
Paolo Arena
2020-02-07 22:08:46 +01:00
parent a8bec7686a
commit eccb5bbb57
20 changed files with 403 additions and 135 deletions

View File

@@ -2,10 +2,14 @@ const tools = require('../tools/general');
const appTelegram = ['7'];
const appTelegramFinti = ['2'];
const appTelegramDest = ['7'];
const printf = require('util').format;
const { User } = require('../models/user');
const { CalZoom } = require('../models/calzoom');
const shared_consts = require('../tools/shared_nodejs');
const emoji = require('node-emoji');
@@ -16,6 +20,9 @@ const Benvenuto = emoji.get('heartbeat') + emoji.get('heartbeat') + emoji.get('h
const emo = {
STARS: emoji.get('stars'),
FIRE: emoji.get('fire'),
TV: emoji.get('tv'),
NEWSPAPER: emoji.get('newspaper'),
PENCIL: emoji.get('pencil2'),
DREAM: emoji.get('beach_with_umbrella'),
EYES: emoji.get('eyes'),
DIZZY: emoji.get('dizzy'),
@@ -73,6 +80,7 @@ const Menu = {
ADMIN: emoji.get('information_desk_person') + ' Admin',
ALTRO: emoji.get('newspaper') + ' Altro',
MSGATUTTI: emoji.get('incoming_envelope') + ' Invia a TUTTI',
MSGSTAFF: emoji.get('incoming_envelope') + ' Invia a STAFF',
INDIETRO: emoji.get('back') + ' Indietro',
SI: emoji.get('thumbsup') + ' SI',
NO: emoji.get('thumbsdown') + ' NO',
@@ -85,8 +93,8 @@ const MenuStandard = [[Menu.LAVAGNA, Menu.LINK_CONDIVIDERE], [Menu.ZOOM, Menu.AS
const MenuPerAdmin = [[Menu.LAVAGNA, Menu.LINK_CONDIVIDERE], [Menu.ZOOM, Menu.ASSISTENZA], [Menu.ADMIN, Menu.ALTRO]];
const MenuYesNo = [[Menu.SI, Menu.NO]];
const MenuAdmin = [[Menu.MSGATUTTI, Menu.INDIETRO], ['', '']];
const MenuYes = [[Menu.MSGATUTTI, Menu.INDIETRO], ['', '']];
const MenuAdmin = [[Menu.MSGSTAFF, Menu.MSGATUTTI, Menu.INDIETRO], ['', '']];
const MenuYes = [[Menu.MSGSTAFF, Menu.INDIETRO], ['', '']];
const Status = {
NONE: 0,
@@ -175,9 +183,11 @@ module.exports = {
if (usersmanagers) {
for (const rec of usersmanagers) {
this.sendMsgTelegramByIdTelegram(idapp, rec.profile.teleg_id, emo.ROBOT_FACE + '[BOT-STAFF]' +emo.ADMIN + ': ' + text)
this.sendMsgTelegramByIdTelegram(idapp, rec.profile.teleg_id, emo.ROBOT_FACE + '[BOT-STAFF]' + emo.ADMIN + ': ' + text)
await tools.snooze(300)
}
}
return true
},
@@ -185,9 +195,10 @@ module.exports = {
const usersall = await User.getUsersTelegALL(idapp);
if (usersall) {
usersall.forEach((rec) => {
this.sendMsgTelegramByIdTelegram(idapp, rec.profile.teleg_id, text)
});
for (const rec of usersall) {
this.sendMsgTelegramByIdTelegram(idapp, rec.profile.teleg_id, text);
await tools.snooze(300)
}
}
},
@@ -277,6 +288,8 @@ class Telegram {
await this.menuAdmin(msg)
} else if (msg.text === Menu.MSGATUTTI) {
await this.menumsgAll(msg)
} else if (msg.text === Menu.MSGSTAFF) {
await this.menumsgStaff(msg)
} else if (msg.text === Menu.INDIETRO) {
await this.msgScegliMenu(msg);
} else {
@@ -332,6 +345,8 @@ class Telegram {
mystr += '\n' + this.getsymb(emo.ENVELOPE, rec.user.verified_email);
mystr += rec.user.verified_email ? tools.get__('EMAIL_VERIF', msg) : tools.get__('EMAIL_NON_VERIF', msg);
mystr += '\n' + '\n' + this.getsymb(emo.PENCIL, tools.isBitActive(rec.user.profile.saw_and_accepted, shared_consts.Accepted.CHECK_READ_GUIDELINES)) + tools.get__('LINEE_GUIDA', msg);
mystr += '\n' + '\n' + this.getsymb(emo.TV, tools.isBitActive(rec.user.profile.saw_and_accepted, shared_consts.Accepted.CHECK_SEE_VIDEO_PRINCIPI)) + tools.get__('VIDEO_INTRO', msg);
mystr += '\n' + '\n' + this.getsymb(emo.EYES, rec.user.profile.saw_zoom_presentation) + tools.get__('ZOOM_PARTECIPATO', msg);
mystr += '\n' + '\n' + this.getsymb(emo.DREAM, this.isdreamset(rec.user)) + tools.get__('SCRITTO_SOGNO', msg);
@@ -366,7 +381,6 @@ class Telegram {
mystr += '\n' + printf(tools.get__('INFO_LAVAGNA_SITO', msg), tools.getHostByIdApp(this.idapp));
}
if (!!mystr)
await this.sendMsg(msg.chat.id, mystr);
@@ -436,16 +450,7 @@ class Telegram {
}
await
this
.sendMsg(msg
.chat
.id
,
mystr
)
;
await this.sendMsg(msg.chat.id, mystr);
}
async menuAdmin(msg) {
@@ -459,6 +464,17 @@ class Telegram {
if (rec.user) {
const mystr = 'Scrivi qui un Messaggio da inviare a TUTTI:';
rec.msgall_status = StatusMSGALL.ASK;
rec.msgall_staff = false;
await this.sendMsg(msg.chat.id, mystr, MenuAdmin);
}
}
async menumsgStaff(msg) {
const rec = this.getRecInMem(msg);
if (rec.user) {
const mystr = 'Scrivi qui un Messaggio da inviare allo STAFF:';
rec.msgall_status = StatusMSGALL.ASK;
rec.msgall_staff = true;
await this.sendMsg(msg.chat.id, mystr, MenuAdmin);
}
}
@@ -596,7 +612,7 @@ class Telegram {
}
}
async sendMsgToAll(rec, msg, texttosend) {
async sendMsgToAll(rec, msg, texttosend, solostaff) {
if (texttosend.length < 3) {
} else {
const usersall = await
@@ -606,8 +622,15 @@ class Telegram {
if (usersall) {
for (const rec of usersall) {
await this.sendMsg(rec.profile.teleg_id, texttosend);
nummsgsent++;
let invia = true;
if (solostaff) {
invia = User.isManager(rec.perm)
}
if (invia) {
await this.sendMsg(rec.profile.teleg_id, texttosend);
nummsgsent++;
tools.snooze(300)
}
// ++Todo: SLEEP ??? sleep(0.03)
}
}
@@ -616,7 +639,6 @@ class Telegram {
this.sendMsg(msg.chat.id, nummsgsent + ' ' + getstr(msg.from.language_code, txt.MSG_MSG_SENT));
}
rec.start_write_msgall = false;
}
selectMenuHelp(msg) {
@@ -654,7 +676,7 @@ class Telegram {
if (msg.text === Menu.SI) {
// Take msg to send to ALL
await
this.sendMsgToAll(rec, msg, rec.msgtosent)
this.sendMsgToAll(rec, msg, rec.msgtosent, rec.msgall_staff)
} else {
this.sendMsg(msg.chat.id, txt.MSG_OPERAZ_ANNULLATA);
}
@@ -664,7 +686,10 @@ class Telegram {
if (msg.text !== Menu.INDIETRO) {
rec.msgtosent = msg.text;
rec.msgall_status = StatusMSGALL.CONFIRM;
const domanda = 'Confermi d\'Inviare questo messaggio a TUTTI ?\n' + rec.msgtosent;
let achi = "TUTTI";
if (rec.msgall_staff)
achi = "STAFF";
const domanda = 'Confermi d\'Inviare questo messaggio a ' + achi + ' ?\n' + rec.msgtosent;
this.ChiediSINO(msg, domanda);
} else {
rec.msgall_status = StatusMSGALL.NONE;
@@ -834,6 +859,14 @@ function getclTelegBytoken(token) {
}
function getclTelegByidapp(idapp) {
// ****************************
if (appTelegramFinti.includes(idapp)) {
const ind = appTelegramFinti.indexOf(idapp);
if (ind >= 0)
idapp = appTelegramDest[ind]; // Invia
}
const rec = arrTelegram.find((rec) => rec.idapp === idapp);
if (!!rec)
return rec.cl;