diff --git a/src/server/models/msg_template.js b/src/server/models/msg_template.js
index c10a282..128a19d 100755
--- a/src/server/models/msg_template.js
+++ b/src/server/models/msg_template.js
@@ -86,6 +86,24 @@ MsgTemplateSchema.statics.getMsgByLang = async function (idapp, typemsg, lang) {
return { body: '', title: '' };
+};
+
+MsgTemplateSchema.statics.getMsgByTitleAndLang = async function (idapp, title, lang) {
+ const MsgTemplate = this;
+
+ try {
+ const mymsg = await MsgTemplate.findOne({ idapp, title });
+ if (!!mymsg) {
+ if ((!!mymsg["msg_" + lang]) && (!!mymsg["title_" + lang])) {
+ return { body: mymsg["msg_" + lang], title: mymsg["title_" + lang] }
+ }
+ }
+ } catch (e) {
+ return { body: '', title: '' };
+ }
+
+ return { body: '', title: '' };
+
};
MsgTemplateSchema.statics.findAllIdApp = async function (idapp) {
const MsgTemplate = this;
diff --git a/src/server/models/province.js b/src/server/models/province.js
index 47c2a65..6f2c640 100755
--- a/src/server/models/province.js
+++ b/src/server/models/province.js
@@ -21,14 +21,20 @@ const ProvinceSchema = new Schema({
_id: {
type: Number,
},
+ reg: {
+ type: String,
+ },
prov: {
type: String,
- unique: true,
+ // unique: true,
maxlength: 3,
},
descr: {
type: String,
},
+ link_grp: {
+ type: String,
+ },
}, { _id : false });
@@ -75,7 +81,7 @@ ProvinceSchema.statics.executeQueryPickup = async function(idapp, params) {
ProvinceSchema.statics.findAllIdApp = async function(idapp) {
const myfind = {};
- return Province.find(myfind);
+ return Province.find(myfind).sort({reg: 1, prov: 1});
};
const Province = mongoose.model('Province', ProvinceSchema);
diff --git a/src/server/models/user.js b/src/server/models/user.js
index ead0b48..5027a32 100755
--- a/src/server/models/user.js
+++ b/src/server/models/user.js
@@ -2076,9 +2076,17 @@ UserSchema.statics.SetTelegramIdSuccess = async function(idapp, id, teleg_id) {
idapp,
_id: id,
}, {$set: fields_to_update}, {new: false}).lean().then((record) => {
- return record;
+
+ if (record) {
+ return User.findOne({
+ idapp,
+ _id: id
+ }).lean();
+ }
});
+ return null;
+
};
UserSchema.statics.setUsernameTelegram = async function(
diff --git a/src/server/populate/populate.js b/src/server/populate/populate.js
index 1a609fd..f2ffa9f 100644
--- a/src/server/populate/populate.js
+++ b/src/server/populate/populate.js
@@ -2,6 +2,8 @@
const tools = require('../tools/general');
const Path = require('path');
+const mongoose = require('mongoose').set('debug', false)
+
const shared_consts = require('../tools/shared_nodejs');
const globalTables = require('../tools/globalTables');
@@ -124,10 +126,13 @@ module.exports = {
}
if (mytab) {
- console.log('Delete ', table);
- await mytab.deleteMany({});
+ await mytab.collection.drop();
+ // mongoose.connection.db.dropCollection(table, function(err) {
+ console.log('Delete ', table);
+ // await mytab.remove({});
- await this.insertIntoDb_NoDuplicate(false, table, mytab, field);
+ this.insertIntoDb_NoDuplicate(false, table, mytab, field);
+// });
}
return true;
} catch (e) {
diff --git a/src/server/populate/provinces.js b/src/server/populate/provinces.js
index e9532f4..a722786 100644
--- a/src/server/populate/provinces.js
+++ b/src/server/populate/provinces.js
@@ -1,117 +1,124 @@
module.exports = {
list: [
- {_id: 1, reg: 'SIC', prov: 'AG', descr: 'Agrigento'},
- {_id: 2, reg: 'PIE', prov: 'AL', descr: 'Alessandria'},
- {_id: 3, reg: 'MAR', prov: 'AN', descr: 'Ancona'},
- {_id: 4, reg: 'VDA', prov: 'AO', descr: 'Aosta'},
- {_id: 5, reg: 'TOS', prov: 'AR', descr: 'Arezzo'},
- {_id: 6, reg: 'MAR', prov: 'AP', descr: 'Ascoli Piceno'},
- {_id: 7, reg: 'PIE', prov: 'AT', descr: 'Asti'},
- {_id: 8, reg: 'CAM', prov: 'AV', descr: 'Avellino'},
- {_id: 9, reg: 'PUG', prov: 'BA', descr: 'Bari'},
- {_id: 10, reg: 'PUG', prov: 'BT', descr: 'Barletta-Andria-Trani'},
- {_id: 11, reg: 'VEN', prov: 'BL', descr: 'Belluno'},
- {_id: 12, reg: 'CAM', prov: 'BN', descr: 'Benevento'},
- {_id: 13, reg: 'LOM', prov: 'BG', descr: 'Bergamo'},
- {_id: 14, reg: 'PIE', prov: 'BI', descr: 'Biella'},
- {_id: 15, reg: 'EMR', prov: 'BO', descr: 'Bologna'},
- {_id: 16, reg: 'TAA', prov: 'BZ', descr: 'Bolzano'},
- {_id: 17, reg: 'LOM', prov: 'BS', descr: 'Brescia'},
- {_id: 18, reg: 'PUG', prov: 'BR', descr: 'Brindisi'},
- {_id: 19, reg: 'SAR', prov: 'CA', descr: 'Cagliari'},
- {_id: 20, reg: 'SIC', prov: 'CL', descr: 'Caltanissetta'},
- {_id: 21, reg: 'MOL', prov: 'CB', descr: 'Campobasso'},
- {_id: 22, reg: 'SAR', prov: 'CI', descr: 'Carbonia-Iglesias'},
- {_id: 23, reg: 'CAM', prov: 'CE', descr: 'Caserta'},
- {_id: 24, reg: 'SIC', prov: 'CT', descr: 'Catania'},
- {_id: 25, reg: 'CAL', prov: 'CZ', descr: 'Catanzaro'},
- {_id: 26, reg: 'ABR', prov: 'CH', descr: 'Chieti'},
- {_id: 27, reg: 'LOM', prov: 'CO', descr: 'Como'},
- {_id: 28, reg: 'CAL', prov: 'CS', descr: 'Cosenza'},
- {_id: 29, reg: 'LOM', prov: 'CR', descr: 'Cremona'},
- {_id: 30, reg: 'CAL', prov: 'KR', descr: 'Crotone'},
- {_id: 31, reg: 'PIE', prov: 'CN', descr: 'Cuneo'},
- {_id: 32, reg: 'SIC', prov: 'EN', descr: 'Enna'},
- {_id: 33, reg: 'MAR', prov: 'FM', descr: 'Fermo'},
- {_id: 34, reg: 'EMR', prov: 'FE', descr: 'Ferrara'},
- {_id: 35, reg: 'TOS', prov: 'FI', descr: 'Firenze'},
- {_id: 36, reg: 'PUG', prov: 'FG', descr: 'Foggia'},
- {_id: 37, reg: 'EMR', prov: 'FC', descr: 'Forli-Cesena'},
- {_id: 38, reg: 'LAZ', prov: 'FR', descr: 'Frosinone'},
- {_id: 39, reg: 'LIG', prov: 'GE', descr: 'Genova'},
- {_id: 40, reg: 'FVG', prov: 'GO', descr: 'Gorizia'},
- {_id: 41, reg: 'TOS', prov: 'GR', descr: 'Grosseto'},
- {_id: 42, reg: 'LIG', prov: 'IM', descr: 'Imperia'},
- {_id: 43, reg: 'MOL', prov: 'IS', descr: 'Isernia'},
- {_id: 44, reg: 'LIG', prov: 'SP', descr: 'La Spezia'},
- {_id: 45, reg: 'ABR', prov: 'AQ', descr: 'L\'Aquila'},
- {_id: 46, reg: 'LAZ', prov: 'LT', descr: 'Latina'},
- {_id: 47, reg: 'PUG', prov: 'LE', descr: 'Lecce'},
- {_id: 48, reg: 'LOM', prov: 'LC', descr: 'Lecco'},
- {_id: 49, reg: 'TOS', prov: 'LI', descr: 'Livorno'},
- {_id: 50, reg: 'LOM', prov: 'LO', descr: 'Lodi'},
- {_id: 51, reg: 'TOS', prov: 'LU', descr: 'Lucca'},
- {_id: 52, reg: 'MAR', prov: 'MC', descr: 'Macerata'},
- {_id: 53, reg: 'LOM', prov: 'MN', descr: 'Mantova'},
- {_id: 54, reg: 'TOS', prov: 'MS', descr: 'Massa-Carrara'},
- {_id: 55, reg: 'BAS', prov: 'MT', descr: 'Matera'},
- {_id: 56, reg: 'SIC', prov: 'ME', descr: 'Messina'},
- {_id: 57, reg: 'LOM', prov: 'MI', descr: 'Milano'},
- {_id: 58, reg: 'EMR', prov: 'MO', descr: 'Modena'},
- {_id: 59, reg: 'LOM', prov: 'MB', descr: 'Monza e della Brianza'},
- {_id: 60, reg: 'CAM', prov: 'NA', descr: 'Napoli'},
- {_id: 61, reg: 'PIE', prov: 'NO', descr: 'Novara'},
- {_id: 62, reg: 'SAR', prov: 'NU', descr: 'Nuoro'},
- {_id: 63, reg: 'SAR', prov: 'OT', descr: 'Olbia-Tempio'},
- {_id: 64, reg: 'SAR', prov: 'OR', descr: 'Oristano'},
- {_id: 65, reg: 'VEN', prov: 'PD', descr: 'Padova'},
- {_id: 66, reg: 'SIC', prov: 'PA', descr: 'Palermo'},
- {_id: 67, reg: 'EMR', prov: 'PR', descr: 'Parma'},
- {_id: 68, reg: 'LOM', prov: 'PV', descr: 'Pavia'},
- {_id: 69, reg: 'UMB', prov: 'PG', descr: 'Perugia'},
- {_id: 70, reg: 'MAR', prov: 'PU', descr: 'Pesaro e Urbino'},
- {_id: 71, reg: 'ABR', prov: 'PE', descr: 'Pescara'},
- {_id: 72, reg: 'EMR', prov: 'PC', descr: 'Piacenza'},
- {_id: 73, reg: 'TOS', prov: 'PI', descr: 'Pisa'},
- {_id: 74, reg: 'TOS', prov: 'PT', descr: 'Pistoia'},
- {_id: 75, reg: 'FVG', prov: 'PN', descr: 'Pordenone'},
- {_id: 76, reg: 'BAS', prov: 'PZ', descr: 'Potenza'},
- {_id: 77, reg: 'TOS', prov: 'PO', descr: 'Prato'},
- {_id: 78, reg: 'SIC', prov: 'RG', descr: 'Ragusa'},
- {_id: 79, reg: 'EMR', prov: 'RA', descr: 'Ravenna'},
- {_id: 80, reg: 'CAL', prov: 'RC', descr: 'Reggio CAL'},
- {_id: 81, reg: 'EMR', prov: 'RE', descr: 'Reggio Emilia'},
- {_id: 82, reg: 'LAZ', prov: 'RI', descr: 'Rieti'},
- {_id: 83, reg: 'EMR', prov: 'RN', descr: 'Rimini'},
- {_id: 84, reg: 'LAZ', prov: 'RM', descr: 'Roma'},
- {_id: 85, reg: 'VEN', prov: 'RO', descr: 'Rovigo'},
- {_id: 86, reg: 'CAM', prov: 'SA', descr: 'Salerno'},
- {_id: 87, reg: 'SAR', prov: 'VS', descr: 'Medio Campidano'},
- {_id: 88, reg: 'SAR', prov: 'SS', descr: 'Sassari'},
- {_id: 89, reg: 'LIG', prov: 'SV', descr: 'Savona'},
- {_id: 90, reg: 'TOS', prov: 'SI', descr: 'Siena'},
- {_id: 91, reg: 'SIC', prov: 'SR', descr: 'Siracusa'},
- {_id: 92, reg: 'LOM', prov: 'SO', descr: 'Sondrio'},
- {_id: 93, reg: 'PUG', prov: 'TA', descr: 'Taranto'},
- {_id: 94, reg: 'ABR', prov: 'TE', descr: 'Teramo'},
- {_id: 95, reg: 'UMB', prov: 'TR', descr: 'Terni'},
- {_id: 96, reg: 'PIE', prov: 'TO', descr: 'Torino'},
- {_id: 97, reg: 'SAR', prov: 'OG', descr: 'Ogliastra'},
- {_id: 98, reg: 'SIC', prov: 'TP', descr: 'Trapani'},
- {_id: 99, reg: 'TAA', prov: 'TN', descr: 'Trento'},
- {_id: 100, reg: 'VEN', prov: 'TV', descr: 'Treviso'},
- {_id: 101, reg: 'FVG', prov: 'TS', descr: 'Trieste'},
- {_id: 102, reg: 'FVG', prov: 'UD', descr: 'Udine'},
- {_id: 103, reg: 'LOM', prov: 'VA', descr: 'Varese'},
- {_id: 104, reg: 'VEN', prov: 'VE', descr: 'Venezia'},
- {_id: 105, reg: 'PIE', prov: 'VB', descr: 'Verbano-Cusio-Ossola'},
- {_id: 106, reg: 'PIE', prov: 'VC', descr: 'Vercelli'},
- {_id: 107, reg: 'VEN', prov: 'VR', descr: 'Verona'},
- {_id: 108, reg: 'CAL', prov: 'VV', descr: 'Vibo Valentia'},
- {_id: 109, reg: 'VEN', prov: 'VI', descr: 'Vicenza'},
- {_id: 110, reg: 'LAZ', prov: 'VT', descr: 'Viterbo'},
- {_id: 111, reg: 'RSM', prov: 'RSM', descr: 'Repubblica di San Marino'},
- {_id: 112, reg: 'EST', prov: 'EST', descr: 'Estero'},
- {_id: 113, reg: 'ONL', prov: 'ONL', descr: 'On Line'},
+ {_id: 1, reg: 'SIC', prov: 'AG', descr: 'Agrigento', link_grp: 'https://t.me/c/1614195634/562?thread=553'},
+ {_id: 2, reg: 'PIE', prov: 'AL', descr: 'Alessandria', link_grp: 'https://t.me/c/1614195634/513?thread=504'},
+ {_id: 3, reg: 'MAR', prov: 'AN', descr: 'Ancona', link_grp: 'https://t.me/c/1614195634/450?thread=446'},
+ {_id: 4, reg: 'VDA', prov: 'AO', descr: 'Aosta', link_grp: 'https://t.me/c/1614195634/521?thread=520'},
+ {_id: 5, reg: 'TOS', prov: 'AR', descr: 'Arezzo', link_grp: 'https://t.me/c/1614195634/583?thread=572'},
+ {_id: 6, reg: 'MAR', prov: 'AP', descr: 'Ascoli Piceno', link_grp: 'https://t.me/c/1614195634/451?thread=447'},
+ {_id: 7, reg: 'PIE', prov: 'AT', descr: 'Asti', link_grp: 'https://t.me/c/1614195634/514?thread=505'},
+ {_id: 8, reg: 'CAM', prov: 'AV', descr: 'Avellino', link_grp: 'https://t.me/c/1614195634/413?thread=409'},
+ {_id: 9, reg: 'PUG', prov: 'BA', descr: 'Bari', link_grp: 'https://t.me/c/1614195634/534?thread=528'},
+ {_id: 10, reg: 'PUG', prov: 'BT', descr: 'Barletta-Andria-Trani', link_grp: 'https://t.me/c/1614195634/535?thread=529'},
+ {_id: 11, reg: 'VEN', prov: 'BL', descr: 'Belluno', link_grp: 'https://t.me/c/1614195634/608?thread=599'},
+ {_id: 12, reg: 'CAM', prov: 'BN', descr: 'Benevento', link_grp: 'https://t.me/c/1614195634/415?thread=411'},
+ {_id: 13, reg: 'LOM', prov: 'BG', descr: 'Bergamo', link_grp: 'https://t.me/c/1614195634/491?thread=477'},
+ {_id: 14, reg: 'PIE', prov: 'BI', descr: 'Biella', link_grp: 'https://t.me/c/1614195634/515?thread=506'},
+ {_id: 15, reg: 'EMR', prov: 'BO', descr: 'Bologna', link_grp: 'https://t.me/c/1614195634/428?thread=419'},
+ {_id: 16, reg: 'TAA', prov: 'BZ', descr: 'Bolzano', link_grp: 'https://t.me/c/1614195634/596?thread=594'},
+ {_id: 17, reg: 'LOM', prov: 'BS', descr: 'Brescia', link_grp: 'https://t.me/c/1614195634/490?thread=478'},
+ {_id: 18, reg: 'PUG', prov: 'BR', descr: 'Brindisi', link_grp: 'https://t.me/c/1614195634/536?thread=530'},
+ {_id: 19, reg: 'SAR', prov: 'CA', descr: 'Cagliari', link_grp: 'https://t.me/c/1614195634/546?thread=541'},
+ {_id: 20, reg: 'SIC', prov: 'CL', descr: 'Caltanissetta', link_grp: 'https://t.me/c/1614195634/563?thread=554'},
+ {_id: 21, reg: 'MOL', prov: 'CB', descr: 'Campobasso', link_grp: 'https://t.me/c/1614195634/398?thread=396'},
+ {_id: 22, reg: 'SAR', prov: 'CI', descr: 'Carbonia-Iglesias', link_grp: ''},
+ {_id: 23, reg: 'CAM', prov: 'CE', descr: 'Caserta', link_grp: 'https://t.me/c/1614195634/414?thread=410'},
+ {_id: 24, reg: 'SIC', prov: 'CT', descr: 'Catania', link_grp: 'https://t.me/c/1614195634/564?thread=555'},
+ {_id: 25, reg: 'CAL', prov: 'CZ', descr: 'Catanzaro', link_grp: 'https://t.me/c/1614195634/378?thread=377'},
+ {_id: 26, reg: 'ABR', prov: 'CH', descr: 'Chieti', link_grp: 'https://t.me/c/1614195634/366?thread=365'},
+ {_id: 27, reg: 'LOM', prov: 'CO', descr: 'Como', link_grp: 'https://t.me/c/1614195634/492?thread=479'},
+ {_id: 28, reg: 'CAL', prov: 'CS', descr: 'Cosenza', link_grp: 'https://t.me/c/1614195634/381?thread=379'},
+ {_id: 29, reg: 'LOM', prov: 'CR', descr: 'Cremona', link_grp: 'https://t.me/c/1614195634/493?thread=480'},
+ {_id: 30, reg: 'CAL', prov: 'KR', descr: 'Crotone', link_grp: 'https://t.me/c/1614195634/382?thread=380'},
+ {_id: 31, reg: 'PIE', prov: 'CN', descr: 'Cuneo', link_grp: 'https://t.me/c/1614195634/516?thread=507'},
+ {_id: 32, reg: 'SIC', prov: 'EN', descr: 'Enna', link_grp: 'https://t.me/c/1614195634/565?thread=556'},
+ {_id: 33, reg: 'MAR', prov: 'FM', descr: 'Fermo', link_grp: 'https://t.me/c/1614195634/453?thread=448'},
+ {_id: 34, reg: 'EMR', prov: 'FE', descr: 'Ferrara', link_grp: 'https://t.me/c/1614195634/429?thread=420'},
+ {_id: 35, reg: 'TOS', prov: 'FI', descr: 'Firenze', link_grp: 'https://t.me/c/1614195634/584?thread=573'},
+ {_id: 36, reg: 'PUG', prov: 'FG', descr: 'Foggia', link_grp: 'https://t.me/c/1614195634/537?thread=531'},
+ {_id: 37, reg: 'EMR', prov: 'FC', descr: 'Forli-Cesena', link_grp: 'https://t.me/c/1614195634/430?thread=421'},
+ {_id: 38, reg: 'LAZ', prov: 'FR', descr: 'Frosinone', link_grp: 'https://t.me/c/1614195634/48?thread=44'},
+ {_id: 39, reg: 'LIG', prov: 'GE', descr: 'Genova', link_grp: 'https://t.me/c/1614195634/392?thread=388'},
+ {_id: 40, reg: 'FVG', prov: 'GO', descr: 'Gorizia', link_grp: 'https://t.me/c/1614195634/469?thread=465'},
+ {_id: 41, reg: 'TOS', prov: 'GR', descr: 'Grosseto', link_grp: 'https://t.me/c/1614195634/585?thread=574'},
+ {_id: 42, reg: 'LIG', prov: 'IM', descr: 'Imperia', link_grp: 'https://t.me/c/1614195634/393?thread=389'},
+ {_id: 43, reg: 'MOL', prov: 'IS', descr: 'Isernia', link_grp: 'https://t.me/c/1614195634/399?thread=397'},
+ {_id: 44, reg: 'LIG', prov: 'SP', descr: 'La Spezia', link_grp: 'https://t.me/c/1614195634/394?thread=390'},
+ {_id: 45, reg: 'ABR', prov: 'AQ', descr: 'L\'Aquila', link_grp: 'https://t.me/c/1614195634/364?thread=363'},
+ {_id: 46, reg: 'LAZ', prov: 'LT', descr: 'Latina', link_grp: 'https://t.me/c/1614195634/60?thread=46'},
+ {_id: 47, reg: 'PUG', prov: 'LE', descr: 'Lecce', link_grp: 'https://t.me/c/1614195634/538?thread=532'},
+ {_id: 48, reg: 'LOM', prov: 'LC', descr: 'Lecco', link_grp: 'https://t.me/c/1614195634/494?thread=482'},
+ {_id: 49, reg: 'TOS', prov: 'LI', descr: 'Livorno', link_grp: 'https://t.me/c/1614195634/586?thread=575'},
+ {_id: 50, reg: 'LOM', prov: 'LO', descr: 'Lodi', link_grp: 'https://t.me/c/1614195634/495?thread=483'},
+ {_id: 51, reg: 'TOS', prov: 'LU', descr: 'Lucca', link_grp: 'https://t.me/c/1614195634/587?thread=576'},
+ {_id: 52, reg: 'MAR', prov: 'MC', descr: 'Macerata', link_grp: 'https://t.me/c/1614195634/300?thread=162'},
+ {_id: 53, reg: 'LOM', prov: 'MN', descr: 'Mantova', link_grp: 'https://t.me/c/1614195634/497?thread=484'},
+ {_id: 54, reg: 'TOS', prov: 'MS', descr: 'Massa-Carrara', link_grp: 'https://t.me/c/1614195634/588?thread=577'},
+ {_id: 55, reg: 'BAS', prov: 'MT', descr: 'Matera', link_grp: 'https://t.me/c/1614195634/374?thread=373'},
+ {_id: 56, reg: 'SIC', prov: 'ME', descr: 'Messina', link_grp: 'https://t.me/c/1614195634/566?thread=557'},
+ {_id: 57, reg: 'LOM', prov: 'MI', descr: 'Milano', link_grp: 'https://t.me/c/1614195634/214?thread=173'},
+ {_id: 58, reg: 'EMR', prov: 'MO', descr: 'Modena', link_grp: 'https://t.me/c/1614195634/431?thread=422'},
+ {_id: 59, reg: 'LOM', prov: 'MB', descr: 'Monza e della Brianza', link_grp: 'https://t.me/c/1614195634/498?thread=485'},
+ {_id: 60, reg: 'CAM', prov: 'NA', descr: 'Napoli', link_grp: 'https://t.me/c/1614195634/407?thread=406'},
+ {_id: 61, reg: 'PIE', prov: 'NO', descr: 'Novara', link_grp: 'https://t.me/c/1614195634/517?thread=508'},
+ {_id: 62, reg: 'SAR', prov: 'NU', descr: 'Nuoro', link_grp: 'https://t.me/c/1614195634/548?thread=542'},
+ {_id: 63, reg: 'SAR', prov: 'OT', descr: 'Olbia-Tempio', link_grp: ''},
+ {_id: 64, reg: 'SAR', prov: 'OR', descr: 'Oristano', link_grp: 'https://t.me/c/1614195634/550?thread=543'},
+ {_id: 65, reg: 'VEN', prov: 'PD', descr: 'Padova', link_grp: 'https://t.me/c/1614195634/610?thread=600'},
+ {_id: 66, reg: 'SIC', prov: 'PA', descr: 'Palermo', link_grp: 'https://t.me/c/1614195634/568?thread=558'},
+ {_id: 67, reg: 'EMR', prov: 'PR', descr: 'Parma', link_grp: 'https://t.me/c/1614195634/432?thread=423'},
+ {_id: 68, reg: 'LOM', prov: 'PV', descr: 'Pavia', link_grp: 'https://t.me/c/1614195634/499?thread=486'},
+ {_id: 69, reg: 'UMB', prov: 'PG', descr: 'Perugia', link_grp: 'https://t.me/c/1614195634/403?thread=401'},
+ {_id: 70, reg: 'MAR', prov: 'PU', descr: 'Pesaro e Urbino', link_grp: 'https://t.me/c/1614195634/454?thread=449'},
+ {_id: 71, reg: 'ABR', prov: 'PE', descr: 'Pescara', link_grp: 'https://t.me/c/1614195634/368?thread=367'},
+ {_id: 72, reg: 'EMR', prov: 'PC', descr: 'Piacenza', link_grp: 'https://t.me/c/1614195634/433?thread=424'},
+ {_id: 73, reg: 'TOS', prov: 'PI', descr: 'Pisa', link_grp: 'https://t.me/c/1614195634/589?thread=578'},
+ {_id: 74, reg: 'TOS', prov: 'PT', descr: 'Pistoia', link_grp: 'https://t.me/c/1614195634/590?thread=579'},
+ {_id: 75, reg: 'FVG', prov: 'PN', descr: 'Pordenone', link_grp: 'https://t.me/c/1614195634/470?thread=466'},
+ {_id: 76, reg: 'BAS', prov: 'PZ', descr: 'Potenza', link_grp: 'https://t.me/c/1614195634/376?thread=375'},
+ {_id: 77, reg: 'TOS', prov: 'PO', descr: 'Prato', link_grp: 'https://t.me/c/1614195634/591?thread=580'},
+ {_id: 78, reg: 'SIC', prov: 'RG', descr: 'Ragusa', link_grp: 'https://t.me/c/1614195634/569?thread=559'},
+ {_id: 79, reg: 'EMR', prov: 'RA', descr: 'Ravenna', link_grp: 'https://t.me/c/1614195634/434?thread=425'},
+ {_id: 80, reg: 'CAL', prov: 'RC', descr: 'Reggio Calabria', link_grp: 'https://t.me/c/1614195634/385?thread=383'},
+ {_id: 81, reg: 'EMR', prov: 'RE', descr: 'Reggio Emilia', link_grp: 'https://t.me/c/1614195634/435?thread=426'},
+ {_id: 82, reg: 'LAZ', prov: 'RI', descr: 'Rieti', link_grp: 'https://t.me/c/1614195634/61?thread=45'},
+ {_id: 83, reg: 'EMR', prov: 'RN', descr: 'Rimini', link_grp: 'https://t.me/c/1614195634/436?thread=https://t.me/c/1614195634/64?thread=57427'},
+ {_id: 84, reg: 'LAZ', prov: 'RM', descr: 'Roma', link_grp: ''},
+ {_id: 85, reg: 'VEN', prov: 'RO', descr: 'Rovigo', link_grp: 'https://t.me/c/1614195634/611?thread=601'},
+ {_id: 86, reg: 'CAM', prov: 'SA', descr: 'Salerno', link_grp: 'https://t.me/c/1614195634/416?thread=412'},
+ {_id: 87, reg: 'SAR', prov: 'VS', descr: 'Medio Campidano', link_grp: ''},
+ {_id: 88, reg: 'SAR', prov: 'SS', descr: 'Sassari', link_grp: 'https://t.me/c/1614195634/551?thread=544'},
+ {_id: 89, reg: 'LIG', prov: 'SV', descr: 'Savona', link_grp: 'https://t.me/c/1614195634/395?thread=391'},
+ {_id: 90, reg: 'TOS', prov: 'SI', descr: 'Siena', link_grp: 'https://t.me/c/1614195634/592?thread=581'},
+ {_id: 91, reg: 'SIC', prov: 'SR', descr: 'Siracusa', link_grp: 'https://t.me/c/1614195634/570?thread=560'},
+ {_id: 92, reg: 'LOM', prov: 'SO', descr: 'Sondrio', link_grp: 'https://t.me/c/1614195634/500?thread=487'},
+ {_id: 93, reg: 'PUG', prov: 'TA', descr: 'Taranto', link_grp: 'https://t.me/c/1614195634/539?thread=533'},
+ {_id: 94, reg: 'ABR', prov: 'TE', descr: 'Teramo', link_grp: 'https://t.me/c/1614195634/370?thread=369'},
+ {_id: 95, reg: 'UMB', prov: 'TR', descr: 'Terni', link_grp: 'https://t.me/c/1614195634/404?thread=402'},
+ {_id: 96, reg: 'PIE', prov: 'TO', descr: 'Torino', link_grp: 'https://t.me/c/1614195634/518?thread=509'},
+ {_id: 97, reg: 'SAR', prov: 'OG', descr: 'Ogliastra', link_grp: ''},
+ {_id: 98, reg: 'SIC', prov: 'TP', descr: 'Trapani', link_grp: 'https://t.me/c/1614195634/571?thread=561'},
+ {_id: 99, reg: 'TAA', prov: 'TN', descr: 'Trento', link_grp: 'https://t.me/c/1614195634/597?thread=595'},
+ {_id: 100, reg: 'VEN', prov: 'TV', descr: 'Treviso', link_grp: 'https://t.me/c/1614195634/612?thread=602'},
+ {_id: 101, reg: 'FVG', prov: 'TS', descr: 'Trieste', link_grp: 'https://t.me/c/1614195634/471?thread=467'},
+ {_id: 102, reg: 'FVG', prov: 'UD', descr: 'Udine', link_grp: 'https://t.me/c/1614195634/472?thread=468'},
+ {_id: 103, reg: 'LOM', prov: 'VA', descr: 'Varese', link_grp: 'https://t.me/c/1614195634/501?thread=488'},
+ {_id: 104, reg: 'VEN', prov: 'VE', descr: 'Venezia', link_grp: 'https://t.me/c/1614195634/613?thread=603'},
+ {_id: 105, reg: 'PIE', prov: 'VB', descr: 'Verbano-Cusio-Ossola', link_grp: 'https://t.me/c/1614195634/519?thread=510 '},
+ {_id: 106, reg: 'PIE', prov: 'VC', descr: 'Vercelli', link_grp: 'https://t.me/c/1614195634/512?thread=511'},
+ {_id: 107, reg: 'VEN', prov: 'VR', descr: 'Verona', link_grp: 'https://t.me/c/1614195634/614?thread=604'},
+ {_id: 108, reg: 'CAL', prov: 'VV', descr: 'Vibo Valentia', link_grp: 'https://t.me/c/1614195634/386?thread=384'},
+ {_id: 109, reg: 'VEN', prov: 'VI', descr: 'Vicenza', link_grp: 'https://t.me/c/1614195634/615?thread=605'},
+ {_id: 110, reg: 'LAZ', prov: 'VT', descr: 'Viterbo', link_grp: 'https://t.me/c/1614195634/76?thread=74'},
+ {_id: 111, reg: 'RSM', prov: 'RSM', descr: 'Repubblica di San Marino', link_grp: ''},
+ {_id: 112, reg: 'EST', prov: 'EST', descr: 'Estero', link_grp: ''},
+ {_id: 113, reg: 'ONL', prov: 'ONL', descr: 'On Line', link_grp: ''},
+ {_id: 114, reg: 'LAZ', prov: 'RM', descr: 'Roma Nord-Est', link_grp: 'https://t.me/c/1614195634/64?thread=57'},
+ {_id: 115, reg: 'LAZ', prov: 'RM', descr: 'Roma Sud-Est', link_grp: 'https://t.me/c/1614195634/65?thread=58'},
+ {_id: 116, reg: 'LAZ', prov: 'RM', descr: 'Roma Nord', link_grp: 'https://t.me/c/1614195634/75?thread=73'},
+ {_id: 117, reg: 'LAZ', prov: 'RM', descr: 'Roma Nord-Ovest', link_grp: 'https://t.me/c/1614195634/62?thread=47'},
+ {_id: 118, reg: 'LAZ', prov: 'RM', descr: 'Roma Sud e Litorale', link_grp: 'https://t.me/c/1614195634/67?thread=43'},
+ {_id: 119, reg: 'PUG', prov: 'VAL', descr: 'Valle D\'Itria', link_grp: 'https://t.me/progettoriso/7016?thread=7015'},
+ {_id: 120, reg: 'SAR', prov: 'SUS', descr: 'Sud Sardegna', link_grp: 'https://t.me/c/1614195634/552?thread=545'},
],
};
diff --git a/src/server/populate/sectors.js b/src/server/populate/sectors.js
index 2b11554..8328a5e 100644
--- a/src/server/populate/sectors.js
+++ b/src/server/populate/sectors.js
@@ -12,6 +12,7 @@ module.exports = {
{_id: 10, descr: 'Per la Persona'},
{_id: 11, descr: 'Progetti di Gruppo'},
{_id: 12, descr: 'Salute'},
- {_id: 13, descr: 'Tecnologia'},
+ {_id: 13, descr: 'Tecnologie'},
+ {_id: 14, descr: 'Servizi'},
],
};
diff --git a/src/server/populate/skills.js b/src/server/populate/skills.js
index 41b0302..faf2988 100644
--- a/src/server/populate/skills.js
+++ b/src/server/populate/skills.js
@@ -95,7 +95,6 @@ module.exports = {
{_id: 93, idSector: [12], descr: 'Psicoterapeuta'},
{_id: 94, idSector: [12], descr: 'Ostetrica'},
{_id: 95, idSector: [12], descr: 'Nutrizionista'},
- {_id: 96, idSector: [12], descr: 'Naturopata'},
{_id: 97, idSector: [12], descr: 'Counseling'},
{_id: 98, idSector: [13], descr: 'Assistenza PC / software'},
{_id: 99, idSector: [13], descr: 'Assistenza Cellulari'},
@@ -114,5 +113,13 @@ module.exports = {
{_id: 112, idSector: [6], descr: 'Costellazioni Familiari'},
{_id: 113, idSector: [6], descr: 'Coach Motivazionale'},
{_id: 114, idSector: [6], descr: 'Tecniche Essene'},
+ {_id: 115, idSector: [6], descr: 'Riflessologia'},
+ {_id: 116, idSector: [6], descr: 'Naturopatia'},
+ {_id: 117, idSector: [14], descr: 'Organizzazione Aziendale'},
+ {_id: 118, idSector: [14], descr: 'Project Manager'},
+ {_id: 119, idSector: [14], descr: 'Consulenze per Startup'},
+ {_id: 120, idSector: [14], descr: 'Grafica'},
+ {_id: 121, idSector: [14], descr: 'Web'},
+ {_id: 122, idSector: [14], descr: 'Progettazione'},
],
};
diff --git a/src/server/router/index_router.js b/src/server/router/index_router.js
index ace3fc7..c0ab74c 100755
--- a/src/server/router/index_router.js
+++ b/src/server/router/index_router.js
@@ -3,14 +3,8 @@ const router = express.Router(),
fs = require('fs'),
path = require('path');
-const jwt = require('jsonwebtoken');
-
const telegrambot = require('../telegram/telegrambot');
-const sendemail = require('../sendemail');
-
-const resizer = require('node-image-resizer');
-
const sharp = require('sharp');
const {authenticate, authenticate_noerror} = require(
@@ -23,11 +17,11 @@ const {Graduatoria} = require('../models/graduatoria');
const mongoose = require('mongoose').set('debug', false);
const cfgserver = mongoose.model('cfgserver');
-const uuidv4 = require('uuid/v4'); // I chose v4 β you can select others
+// const uuidv4 = require('uuid/v4'); // I chose v4 β you can select others
-const ftp = require('../ftp/FTPClient'),
- formidable = require('formidable'),
- folder = path.join(__dirname, 'upload');
+// const ftp = require('../ftp/FTPClient');
+const formidable = require('formidable');
+const folder = path.join(__dirname, 'upload');
if (!fs.existsSync(folder)) {
fs.mkdirSync(folder);
@@ -37,7 +31,6 @@ const _ = require('lodash');
const {User} = require('../models/user');
const {MyGroup} = require('../models/mygroup');
-// const { ExtraList } = require('../models/extralist');
const {Booking} = require('../models/booking');
const {Operator} = require('../models/operator');
const {Where} = require('../models/where');
@@ -47,11 +40,7 @@ const {PaymentType} = require('../models/paymenttype');
const {Discipline} = require('../models/discipline');
const {Skill} = require('../models/skill');
const {Good} = require('../models/good');
-const {SubSkill} = require('../models/subskill');
-const {MySkill} = require('../models/myskill');
-const {MyGood} = require('../models/mygood');
const {StatusSkill} = require('../models/statusSkill');
-const {City} = require('../models/city');
const {Province} = require('../models/province');
const {Sector} = require('../models/sector');
const {SectorGood} = require('../models/sectorgood');
@@ -59,15 +48,10 @@ const {CatGrp} = require('../models/catgrp');
const {Level} = require('../models/level');
const {AdType} = require('../models/adtype');
const {AdTypeGood} = require('../models/adtypegood');
-const Pickup = require('../models/pickup');
const {Newstosent} = require('../models/newstosent');
const {MyPage} = require('../models/mypage');
-const {MyBot} = require('../models/bot');
const {CalZoom} = require('../models/calzoom');
const {Gallery} = require('../models/gallery');
-const {TemplEmail} = require('../models/templemail');
-const {OpzEmail} = require('../models/opzemail');
-const {MailingList} = require('../models/mailinglist');
const {Settings} = require('../models/settings');
const {SendMsg} = require('../models/sendmsg');
const {Permission} = require('../models/permission');
@@ -110,7 +94,6 @@ router.post(process.env.LINKVERIF_REG, (req, res) => {
const body = _.pick(req.body, ['idapp', 'idlink']);
const idapp = body.idapp;
const idlink = body.idlink;
- // console.log("LINKVERIF_REG POST " + process.env.LINKVERIF_REG + " idapp= " + idapp + " idlink = " + idlink);
// Cerco l'idlink se Γ¨ ancora da Verificare
@@ -1087,7 +1070,8 @@ function load(req, res, version) {
let sectors = Sector.findAllIdApp(idapp);
let sectorgoods = SectorGood.findAllIdApp(idapp);
let catgrps = CatGrp.findAllIdApp(idapp);
- let cities = City.findAllIdApp(idapp);
+ // let cities = City.findAllIdApp(idapp);
+ let provinces = Province.findAllIdApp(idapp);
let cart = null;
let orderscart = null;
if (gestoredelSito) {
@@ -1143,7 +1127,9 @@ function load(req, res, version) {
myuserextra,
sectors,
statusSkills,
- cities,
+ provinces,
+ // cities,
+ provinces,
catgrps,
adtypes,
adtypegoods,
@@ -1220,7 +1206,7 @@ function load(req, res, version) {
// myuser arrdata[26]
sectors: arrdata[27],
statusSkills: arrdata[28],
- cities: arrdata[29],
+ provinces: arrdata[29],
catgrps: arrdata[30],
adtypes: arrdata[31],
adtypegoods: arrdata[32],
diff --git a/src/server/router/push_router.js b/src/server/router/push_router.js
index 2594e14..c568592 100755
--- a/src/server/router/push_router.js
+++ b/src/server/router/push_router.js
@@ -125,20 +125,30 @@ router.post('/send', authenticate, async (req, res) => {
send({code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: ''});
}
+ let msgcosa = 'da Inviare';
+ if (params.sendreally) {
+ msgcosa = 'Inviati';
+ }
+
try {
if (params.typesend === 0)
params.typesend = shared_consts.TypeSend.PUSH_NOTIFICATION;
- params.sendreally = true;
+
+ if (params.typemsg === shared_consts.TypeMsg.SEND_TO_MYSELF) {
+ params.usernameDest = req.user.username;
+ }
+
const ris = await globalTables.SendMsgToParam(idapp, params);
+
return res.send({
code: server_constants.RIS_CODE_OK,
- msg: ris.nummsgsent + ' Msg Inviati su ' + ris.numrec + ' !',
+ msg: ris.nummsgsent + ` Msg ${msgcosa} su ` + ris.numrec + ' !',
nummsg: ris.nummsgsent,
});
} catch (e) {
return res.send(
- {code: server_constants.RIS_CODE_ERR, msg: nummsg + ' Msg Inviati !'});
+ {code: server_constants.RIS_CODE_ERR, msg: nummsg + ` Msg ${msgcosa} !`});
}
});
diff --git a/src/server/telegram/telegrambot.js b/src/server/telegram/telegrambot.js
index 465f72a..c94f1a9 100755
--- a/src/server/telegram/telegrambot.js
+++ b/src/server/telegram/telegrambot.js
@@ -16,6 +16,8 @@ const {CalZoom} = require('../models/calzoom');
const {MyBot} = require('../models/bot');
const shared_consts = require('../tools/shared_nodejs');
+const sharp = require('sharp');
+
const server_constants = require('../tools/server_constants');
// const {ListaIngresso} = require('../models/listaingresso');
@@ -464,39 +466,15 @@ const StatusMSGALL = {
const txt = {
MSG_SCEGLI_MENU: emoji.get('dizzy') + ' Scegli una voce di menu:' +
emoji.get('dizzy'),
- MSG_ASK_USERNAME_BO: 'Scrivi nel messaggio lo username o la email con cui ti sei registrato sul sito di %s:',
+ MSG_ASK_USERNAME_BO: 'Scrivete nel messaggio l\'username (SENZA SPAZI) o la email con cui vi siete registrati sul sito di %s:',
MSG_ERRORE_USERNAME: 'Attenzione! Devi inserire solo lo username (40 caratteri massimo)',
- MSG_ERRORE_USERNAME_NOT_FOUND: 'Per Completare la Verifica Telegram BOT, devi ora scrivere qui sotto nel messaggio l\'Username OPPURE la email con cui ti sei registrato sul sito',
+ MSG_ERRORE_USERNAME_NOT_FOUND: 'Per Completare la Verifica Telegram BOT, dovete ora scrivere qui sotto nel messaggio l\'Username (senza spazi) OPPURE la email con cui vi siete registrati sul sito',
MSG_ERRORE_USERNAME_ANNULLA: 'Inserimento Annullato. Riprovare',
MSG_OPERAZ_ANNULLATA: 'Operazione Annullata',
MSG_ERRORE_VERIFY_CODE_MAXLEN: 'Attenzione! Devi inserire solo il codice a 6 cifre',
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!\n' +
- 'Ti sei correttamente verificato con il BOT. ' +
- '\nSono il tuo assistente virtuale (BOT).\n\n' +
- 'Questa chat ti servirΓ per interagire con la Piattaforma e per ricevere delle notifiche Personali.\n' +
- '' +
- '(π Per Aiuti, guarda il menu qui sotto)\n\n' +
- '' +
- 'πππ Ora sei pronto per Entrare nella APP!\n' +
- 'ππ» Clicca qui: %s',
- MSG_SET_USERNAME: 'β¨β¨β¨β¨β¨β¨β¨β¨β¨β¨\n' +
- 'π Devi impostare un Username per Telegram:\n' +
- '\n' +
- 'ππ» 1. Premi sull\'icona (tre linee orizzontali) del menu principale in alto a sinistra.\n' +
- 'ππ» 2. Seleziona la voce Impostazioni nel menu.\n' +
- 'ππ» 3.Premi su Username nella sezione account.\n' +
- 'ππ» 4. Digita il tuo username. Deve essere un nome ancora libero e non giΓ usato da altri.\n' +
- 'ππ» 5. Per confermare premi sull\'icona con la spunta in alto a destra.\n' +
- 'π Infine scrivi OK su questa chat. \n' +
- '(Se non riesci clicca qui per la guida: www.nigiara.it/telegram/come-impostare-uno-username-su-telegram.htm) \n\n' +
- 'π¬ In questo modo le persone potranno contattarti dalla APP cliccando sull\'icona di Telegram, presente nel tuo profilo.',
- MSG_SET_USERNAME_OK: 'ππβ
β
Ottimo! Hai impostato lo Username Telegram!\n\n' +
- 'Ora le persone potranno contattarti su Telegram, anche dalla APP visitando il tuo profilo e cliccando sull\'icona di Telegram, (senza dover pubblicare il proprio numero di cellulare).\n\n' +
- 'Ora puoi proseguire sulla APP.',
MSG_SET_PICPROFILE: 'πΌ Abbiamo impostato la tua foto del Profilo, copiandola dalla foto profilo di Telegram. Potrai comunque cambiarla dalla APP (%s)',
MSG_RESETPWD: 'Clicca qui per impostare una nuova password per accedere alla APP:',
MSG_ERR_UNKNOWN_VERIFY_CODE: 'Errore durante il salvataggio sul Server. Riprovare piΓΊ tardi',
@@ -533,29 +511,6 @@ const txt_es = {
MSG_ERR_VERIFY_CODE: 'CΓ³digo de verificaciΓ³n incorrecto!' +
emo.EXCLAMATION_MARK +
'\nComprueba en el sitio %s y reescribe el nuevo cΓ³digo de 6 dΓgitos.',
- MSG_VERIFY_OK: emoji.get('grinning') +
- ' β
π Benvenuto %s!\n' +
- 'Ti sei correttamente verificato con il BOT. ' +
- '\nSono il tuo assistente virtuale (BOT).\n\n' +
- 'Questa chat ti servirΓ per interagire con la Piattaforma e per ricevere delle notifiche Personali.\n' +
- '' +
- '(π Per Aiuti, guarda il menu qui sotto)\n\n' +
- '' +
- 'πππ Ora sei pronto per Entrare nella APP!\n' +
- 'ππ» Clicca qui: %s',
- MSG_SET_USERNAME: 'β¨β¨β¨β¨β¨β¨β¨β¨β¨β¨\n' +
- 'π Devi impostare un Username per Telegram:\n' +
- '\n' +
- 'ππ» 1. Premi sull\'icona (tre linee orizzontali) del menu principale in alto a sinistra.\n' +
- 'ππ» 2. Seleziona la voce Impostazioni nel menu.\n' +
- 'ππ» 3.Premi su Username nella sezione account.\n' +
- 'ππ» 4. Digita il tuo username. Deve essere un nome ancora libero e non giΓ usato da altri.\n' +
- 'ππ» 5. Per confermare premi sull\'icona con la spunta in alto a destra.\n' +
- 'π Infine scrivi OK su questa chat. \n\n' +
- 'π¬ In questo modo le persone potranno contattarti dalla APP cliccando sull\'icona di Telegram, presente nel tuo profilo.',
- MSG_SET_USERNAME_OK: 'ππβ
β
Ottimo! Hai impostato lo Username Telegram!\n\n' +
- 'Ora le persone potranno contattarti su Telegram, anche dalla APP visitando il tuo profilo e cliccando sull\'icona di Telegram, (senza dover pubblicare il proprio numero di cellulare).\n\n' +
- 'Ora puoi proseguire sulla APP.',
MSG_SET_PICPROFILE: 'πΌ Abbiamo impostato la tua foto del Profilo, copiandola dalla foto profilo di Telegram. Potrai comunque cambiarla dalla APP (%s)',
MSG_ERR_UNKNOWN_VERIFY_CODE: 'Error al guardar en el servidor. IntΓ©ntalo de nuevo mΓ‘s tarde.',
MSG_EXIT_TELEGRAM: 'La cuenta ha sido desconectada de Telegram BOT.',
@@ -563,7 +518,7 @@ const txt_es = {
' Acaba de registrarse "%s (n. %s)"\n(Invitado de %s)',
MSG_APORTADOR_ASK_CONFIRM: 'ππ₯ π§ββοΈ Abilita Nuova Registrazione:',
MSG_ACCEPT_NEWENTRY_INGROUP: 'βοΈπ₯ π§ββοΈ Accetta Ingresso nel GRUPPO %s:',
- MSG_APORTADOR_CONFIRMED: 'β
%s Γ¨ stato Abilitato correttamente!',
+ MSG_APORTADOR_CONFIRMED: 'β
%s Γ¨ stato Abilitato correttamente (da %s)!',
MSG_APORTADOR_DEST_CONFIRMED: 'β
Sei stato Abilitato correttamente da %s!',
MSG_GROUP_CONFIRMED: 'β
Sei stato Aggiunto sul Gruppo %s!',
MSG_APORTADOR_DEST_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
@@ -589,29 +544,6 @@ const txt_fr = {
MSG_ERR_VERIFY_CODE: ' Code de vΓ©rification incorrect!' +
emo.EXCLAMATION_MARK +
'\nControllez sur le site %s et réécrivez le nouveau code à 6 chiffres.',
- MSG_VERIFY_OK: emoji.get('grinning') +
- ' β
π Benvenuto %s!\n' +
- 'Ti sei correttamente verificato con il BOT. ' +
- '\nSono il tuo assistente virtuale (BOT).\n\n' +
- 'Questa chat ti servirΓ per interagire con la Piattaforma e per ricevere delle notifiche Personali.\n' +
- '' +
- '(π Per Aiuti, guarda il menu qui sotto)\n\n' +
- '' +
- 'πππ Ora sei pronto per Entrare nella APP!\n' +
- 'ππ» Clicca qui: %s',
- MSG_SET_USERNAME: 'β¨β¨β¨β¨β¨β¨β¨β¨β¨β¨\n' +
- 'π Devi impostare un Username per Telegram:\n' +
- '\n' +
- 'ππ» 1. Premi sull\'icona (tre linee orizzontali) del menu principale in alto a sinistra.\n' +
- 'ππ» 2. Seleziona la voce Impostazioni nel menu.\n' +
- 'ππ» 3.Premi su Username nella sezione account.\n' +
- 'ππ» 4. Digita il tuo username. Deve essere un nome ancora libero e non giΓ usato da altri.\n' +
- 'ππ» 5. Per confermare premi sull\'icona con la spunta in alto a destra.\n' +
- 'π Infine scrivi OK su questa chat. \n\n' +
- 'π¬ In questo modo le persone potranno contattarti dalla APP cliccando sull\'icona di Telegram, presente nel tuo profilo.',
- MSG_SET_USERNAME_OK: 'ππβ
β
Ottimo! Hai impostato lo Username Telegram!\n\n' +
- 'Ora le persone potranno contattarti su Telegram, anche dalla APP visitando il tuo profilo e cliccando sull\'icona di Telegram, (senza dover pubblicare il proprio numero di cellulare).\n\n' +
- 'Ora puoi proseguire sulla APP.',
MSG_SET_PICPROFILE: 'πΌ Abbiamo impostato la tua foto del Profilo, copiandola dalla foto profilo di Telegram. Potrai comunque cambiarla dalla APP (%s)',
MSG_ERR_UNKNOWN_VERIFY_CODE: 'Erreur lors de l\'enregistrement sur le serveur. Retentez plus tard',
MSG_EXIT_TELEGRAM: 'L\'account a Γ©tΓ© dΓ©connectΓ© de Telegram BOT.',
@@ -619,7 +551,7 @@ const txt_fr = {
' Vous venez Γ peine de vous inscrire "%s (n. %s) %s',
MSG_APORTADOR_ASK_CONFIRM: 'ππ₯ π§ββοΈ Abilita Nuova Registrazione:',
MSG_ACCEPT_NEWENTRY_INGROUP: 'βοΈπ₯ π§ββοΈ Accetta Ingresso nel GRUPPO %s:',
- MSG_APORTADOR_CONFIRMED: 'β
%s Γ¨ stato Abilitato correttamente!',
+ MSG_APORTADOR_CONFIRMED: 'β
%s Γ¨ stato Abilitato correttamente (da %s)!',
MSG_APORTADOR_DEST_CONFIRMED: 'β
Sei stato Abilitato correttamente da %s!',
MSG_GROUP_CONFIRMED: 'β
Sei stato Aggiunto sul Gruppo %s!',
MSG_APORTADOR_DEST_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
@@ -643,29 +575,6 @@ const txt_si = {
MSG_VERIFY_CODE: '1. Vrni se na spletno strani: \n%s\n2. Kopiraj kodo Authenticazione (6 mestno) ki jo najdeΕ‘ zgoraj zapisano\n3. NapiΕ‘i (ali prilepi) tu spodaj kot sporoΔilo: ',
MSG_ERR_VERIFY_CODE: 'NapaΔna koda za preverjanje!' + emo.EXCLAMATION_MARK +
'\nPreveri na strani %s in ponovno napiΕ‘i 6 mestno kodo.',
- MSG_VERIFY_OK: emoji.get('grinning') +
- ' β
π Benvenuto %s!\n' +
- 'Ti sei correttamente verificato con il BOT. ' +
- '\nSono il tuo assistente virtuale (BOT).\n\n' +
- 'Questa chat ti servirΓ per interagire con la Piattaforma e per ricevere delle notifiche Personali.\n' +
- '' +
- '(π Per Aiuti, guarda il menu qui sotto)\n\n' +
- '' +
- 'πππ Ora sei pronto per Entrare nella APP!\n' +
- 'ππ» Clicca qui: %s',
- MSG_SET_USERNAME: 'β¨β¨β¨β¨β¨β¨β¨β¨β¨β¨\n' +
- 'π Devi impostare un Username per Telegram:\n' +
- '\n' +
- 'ππ» 1. Premi sull\'icona (tre linee orizzontali) del menu principale in alto a sinistra.\n' +
- 'ππ» 2. Seleziona la voce Impostazioni nel menu.\n' +
- 'ππ» 3.Premi su Username nella sezione account.\n' +
- 'ππ» 4. Digita il tuo username. Deve essere un nome ancora libero e non giΓ usato da altri.\n' +
- 'ππ» 5. Per confermare premi sull\'icona con la spunta in alto a destra.\n' +
- 'π Infine scrivi OK su questa chat. \n\n' +
- 'π¬ In questo modo le persone potranno contattarti dalla APP cliccando sull\'icona di Telegram, presente nel tuo profilo.',
- MSG_SET_USERNAME_OK: 'ππβ
β
Ottimo! Hai impostato lo Username Telegram!\n\n' +
- 'Ora le persone potranno contattarti su Telegram, anche dalla APP visitando il tuo profilo e cliccando sull\'icona di Telegram, (senza dover pubblicare il proprio numero di cellulare).\n\n' +
- 'Ora puoi proseguire sulla APP.',
MSG_SET_PICPROFILE: 'πΌ Abbiamo impostato la tua foto del Profilo, copiandola dalla foto profilo di Telegram. Potrai comunque cambiarla dalla APP (%s)',
MSG_ERR_UNKNOWN_VERIFY_CODE: 'Napaka streΕΎnika.Poskusi kasneje ',
MSG_EXIT_TELEGRAM: 'RaΔun se nahaja v programu Telegram BOT.',
@@ -673,7 +582,7 @@ const txt_si = {
'Registracija registracije %s (n. %s)\n(povabil ga %s)',
MSG_APORTADOR_ASK_CONFIRM: 'ππ₯ π§ββοΈ Abilita Nuova Registrazione:',
MSG_ACCEPT_NEWENTRY_INGROUP: 'βοΈπ₯ π§ββοΈ Accetta Ingresso nel GRUPPO %s:',
- MSG_APORTADOR_CONFIRMED: 'β
%s Γ¨ stato Abilitato correttamente!',
+ MSG_APORTADOR_CONFIRMED: 'β
%s Γ¨ stato Abilitato correttamente (da %s)!',
MSG_APORTADOR_DEST_CONFIRMED: 'β
Sei stato Abilitato correttamente da %s!',
MSG_GROUP_CONFIRMED: 'β
Sei stato Aggiunto sul Gruppo %s!',
MSG_APORTADOR_DEST_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
@@ -696,29 +605,6 @@ const txt_en = {
'3. Write it (or paste it) below as a message:',
MSG_ERR_VERIFY_CODE: 'Incorrect Verification Code!' + emo.EXCLAMATION_MARK +
'\nCheck on the site %s and rewrite the new 6-digit code.',
- MSG_VERIFY_OK: emoji.get('grinning') +
- ' β
π Benvenuto %s!\n' +
- 'Ti sei correttamente verificato con il BOT. ' +
- '\nSono il tuo assistente virtuale (BOT).\n\n' +
- 'Questa chat ti servirΓ per interagire con la Piattaforma e per ricevere delle notifiche Personali.\n' +
- '' +
- '(π Per Aiuti, guarda il menu qui sotto)\n\n' +
- '' +
- 'πππ Ora sei pronto per Entrare nella APP!\n' +
- 'ππ» Clicca qui: %s',
- MSG_SET_USERNAME: 'β¨β¨β¨β¨β¨β¨β¨β¨β¨β¨\n' +
- 'π Devi impostare un Username per Telegram:\n' +
- '\n' +
- 'ππ» 1. Premi sull\'icona (tre linee orizzontali) del menu principale in alto a sinistra.\n' +
- 'ππ» 2. Seleziona la voce Impostazioni nel menu.\n' +
- 'ππ» 3.Premi su Username nella sezione account.\n' +
- 'ππ» 4. Digita il tuo username. Deve essere un nome ancora libero e non giΓ usato da altri.\n' +
- 'ππ» 5. Per confermare premi sull\'icona con la spunta in alto a destra.\n' +
- 'π Infine scrivi OK su questa chat. \n\n' +
- 'π¬ In questo modo le persone potranno contattarti dalla APP cliccando sull\'icona di Telegram, presente nel tuo profilo.',
- MSG_SET_USERNAME_OK: 'ππβ
β
Ottimo! Hai impostato lo Username Telegram!\n\n' +
- 'Ora le persone potranno contattarti su Telegram, anche dalla APP visitando il tuo profilo e cliccando sull\'icona di Telegram, (senza dover pubblicare il proprio numero di cellulare).\n\n' +
- 'Ora puoi proseguire sulla APP.',
MSG_SET_PICPROFILE: 'πΌ Abbiamo impostato la tua foto del Profilo, copiandola dalla foto profilo di Telegram. Potrai comunque cambiarla dalla APP (%s)',
MSG_ERR_UNKNOWN_VERIFY_CODE: 'Error while saving to the Server. Try again later',
MSG_EXIT_TELEGRAM: 'The account has now been disconnected from this Telegram BOT.',
@@ -726,7 +612,7 @@ const txt_en = {
' He/She\'s just registered "%s (n. %s)"\n(Invited from %s)',
MSG_APORTADOR_ASK_CONFIRM: 'ππ₯ π§ββοΈ Abilita Nuova Registrazione:',
MSG_ACCEPT_NEWENTRY_INGROUP: 'βοΈπ₯ π§ββοΈ Accetta Ingresso nel GRUPPO %s:',
- MSG_APORTADOR_CONFIRMED: 'β
%s Γ¨ stato Abilitato correttamente!',
+ MSG_APORTADOR_CONFIRMED: 'β
%s Γ¨ stato Abilitato correttamente (da %s)!',
MSG_APORTADOR_DEST_CONFIRMED: 'β
Sei stato Abilitato correttamente da %s!',
MSG_GROUP_CONFIRMED: 'β
Sei stato Aggiunto sul Gruppo %s!',
MSG_APORTADOR_DEST_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
@@ -752,29 +638,6 @@ const txt_pt = {
MSG_ERR_VERIFY_CODE: 'CΓ³digo de VerificaΓ§Γ£o Incorrecto!' +
emo.EXCLAMATION_MARK +
'\nCΓ³digo de VerificaΓ§Γ£o ErradoCheque no local %s e reescreva o novo cΓ³digo de 6 dΓgitos.',
- MSG_VERIFY_OK: emoji.get('grinning') +
- ' β
π Benvenuto %s!\n' +
- 'Ti sei correttamente verificato con il BOT. ' +
- '\nSono il tuo assistente virtuale (BOT).\n\n' +
- 'Questa chat ti servirΓ per interagire con la Piattaforma e per ricevere delle notifiche Personali.\n' +
- '' +
- '(π Per Aiuti, guarda il menu qui sotto)\n\n' +
- '' +
- 'πππ Ora sei pronto per Entrare nella APP!\n' +
- 'ππ» Clicca qui: %s',
- MSG_SET_USERNAME: 'β¨β¨β¨β¨β¨β¨β¨β¨β¨β¨\n' +
- 'π Devi impostare un Username per Telegram:\n' +
- '\n' +
- 'ππ» 1. Premi sull\'icona (tre linee orizzontali) del menu principale in alto a sinistra.\n' +
- 'ππ» 2. Seleziona la voce Impostazioni nel menu.\n' +
- 'ππ» 3.Premi su Username nella sezione account.\n' +
- 'ππ» 4. Digita il tuo username. Deve essere un nome ancora libero e non giΓ usato da altri.\n' +
- 'ππ» 5. Per confermare premi sull\'icona con la spunta in alto a destra.\n' +
- 'π Infine scrivi OK su questa chat. \n\n' +
- 'π¬ In questo modo le persone potranno contattarti dalla APP cliccando sull\'icona di Telegram, presente nel tuo profilo.',
- MSG_SET_USERNAME_OK: 'ππβ
β
Ottimo! Hai impostato lo Username Telegram!\n\n' +
- 'Ora le persone potranno contattarti su Telegram, anche dalla APP visitando il tuo profilo e cliccando sull\'icona di Telegram, (senza dover pubblicare il proprio numero di cellulare).\n\n' +
- 'Ora puoi proseguire sulla APP.',
MSG_SET_PICPROFILE: 'πΌ Abbiamo impostato la tua foto del Profilo, copiandola dalla foto profilo di Telegram. Potrai comunque cambiarla dalla APP (%s)',
MSG_ERR_UNKNOWN_VERIFY_CODE: 'Erro ao salvar no Servidor. Tente novamente mais tarde.',
MSG_EXIT_TELEGRAM: 'A conta foi agora desconectada deste Telegrama BOT.',
@@ -782,8 +645,7 @@ const txt_pt = {
' Acabou de se registar "%s (n. %s)"\n(Convidado por %s)',
MSG_APORTADOR_ASK_CONFIRM: 'ππ₯ π§ββοΈ Abilita Nuova Registrazione:',
MSG_ACCEPT_NEWENTRY_INGROUP: 'βοΈπ₯ π§ββοΈ Accetta Ingresso nel GRUPPO %s:',
- MSG_APORTADOR_CONFIRMED: 'β
%s Γ¨ stato Abilitato correttamente!' +
- 'Vai sulla App oppure clicca qui per entrare ππ» %s',
+ MSG_APORTADOR_CONFIRMED: 'β
%s Γ¨ stato Abilitato correttamente (da %s)!',
MSG_APORTADOR_DEST_CONFIRMED: 'β
Sei stato Abilitato correttamente da %s!',
MSG_GROUP_CONFIRMED: 'β
Sei stato Aggiunto sul Gruppo %s!',
MSG_APORTADOR_DEST_NOT_CONFIRMED: emo.EXCLAMATION_MARK +
@@ -1533,8 +1395,8 @@ class Telegram {
await User.setUsernameTelegram(this.idapp, rec.user._id,
msg.from.username || '', msg.from.first_name || '',
msg.from.last_name || '');
- await this.sendMsg(msg.from.id,
- printf(getstr(rec.user.lang, 'MSG_SET_USERNAME_OK')));
+
+ await this.sendMsgByTemplate('MSG_SET_USERNAME_OK', rec.user);
if (!rec.user.verified_by_aportador) {
MyTelegramBot.askConfirmationUser(this.idapp, shared_consts.CallFunz.REGISTRATION, rec.user);
@@ -1685,6 +1547,7 @@ class Telegram {
noanswer = true;
let myfaq = this.geturlfaq();
risp = 'Io sono solo un Robot ' + emo.ROBOT_FACE + emo.JOY2 +
+ 'Usa il menu qui sotto per interagire col BOT\n' +
'\n\nPer AIUTO, clicca qui:\nππ»ππ»FAQ di AIUTO (risposte alle domande piΓΉ frequenti)\n\nSe non trovi risposta allora contatta la Chat HELP.\nGrazie';
// risp += '\nClicca qui per entrare nella Chat - HELP di Supporto\n' + 'https://t.me/joinchat/AL2qKE80rxDkgbeMGO-0bw' + '\n\nI miei colleghi umani ti aiuteranno a risolvere !';
@@ -2474,11 +2337,21 @@ class Telegram {
}
}
- async checkIfUsernameTelegramSet(msg, recuser) {
+ async sendMsgByTemplate(title, myuser) {
+
+ try {
+ const msg = await MsgTemplate.getMsgByTitleAndLang(myuser.idapp, title, myuser.lang);
+ const mytext = tools.convertSpecialTags(myuser, msg.body);
+ return this.sendMsg(myuser.profile.teleg_id, mytext);
+ }catch (e) {
+ console.error('ERR sendMsgByTemplate', e);
+ }
+ }
+
+ async checkIfUsernameTelegramSet(msg, myuser) {
try {
if (!msg.from.username) {
- //
- return this.sendMsg(msg.from.id, printf(getstr(recuser.lang, 'MSG_SET_USERNAME')));
+ await this.sendMsgByTemplate('MSG_SET_USERNAME', myuser);
}
} catch (e) {
console.error('e');
@@ -2520,7 +2393,6 @@ class Telegram {
console.log(recuser.username, ' SI E\' VERIFICATO CON TELEGRAM !');
let username = recuser.name;
- // this.sendMsgLog(msg.from.id, printf(getstr(recuser.lang, 'MSG_VERIFY_OK'), username, tools.getHostByIdApp(this.idapp)));
if (!!msg.from.username) {
await MyTelegramBot.askConfirmationUser(this.idapp, shared_consts.CallFunz.REGISTRATION, recuser);
} else {
@@ -3259,8 +3131,9 @@ class Telegram {
}
try {
-
+ console.log('textORIG', text);
text = text.replace(/
/g, '\n');
+ text = text.replace(/
/g, '\n');
text = text.replace(/
/g, ''); text = text.replace(/<\/div>/g, '\n'); + // text = text.replace(/<\/div>/g, ''); text = text.replace(/ /g, ' '); if (!form) { @@ -3297,7 +3171,7 @@ class Telegram { return 0; }); } catch (e) { - console.error(e); + console.error(e, 'text', text); return 0; } } @@ -3323,6 +3197,8 @@ class Telegram { async sendMsg(id, text, menu, form, msg_id, chat_id, ripr_menuPrec) { + if (!id) + return false; try { if (text.length > 4090) { @@ -3412,6 +3288,21 @@ class Telegram { // console.log('2) myfileprofile', pathfile); return tools.downloadImage(photo_url, myfileprofile). then((ris) => { + + try { + let resized_img_small = tools.extractFilePath(myfileprofile) + '/' + server_constants.PREFIX_IMG_SMALL + filename; + // SMALL + + // questa opzione 'failOnError' serve per risolvere l'errore (Error: VipsJpeg: Invalid SOS parameters for sequential JPEG + sharp(myfileprofile, {failOnError: false}). + resize(64, 64). + withMetadata(). + toFile(resized_img_small); + }catch (e) { + console.error('setPhotoProfile sharp', e); + } + + // console.log('3) setPicProfile ris', ris); return User.setPicProfile(idapp, username, filename). then((ris) => { @@ -3686,10 +3577,8 @@ if (true) { await User.setaportador_solidario(user.idapp, data.username, userDest.username); - const msgOrig = printf(getstr(userDest.lang, 'MSG_APORTADOR_DEST_CONFIRMED'), `${userDest.username}`, - tools.getHostByIdApp(user.idapp)); - const msgDest = printf(getstr(user.lang, 'MSG_APORTADOR_CONFIRMED'), - `${user.username}`); + const msgOrig = printf(getstr(userDest.lang, 'MSG_APORTADOR_DEST_CONFIRMED'), `${userDest.username}`, tools.getHostByIdApp(user.idapp)); + const msgDest = printf(getstr(user.lang, 'MSG_APORTADOR_CONFIRMED'), `${user.username}`, `${userDest.username}`); await local_sendMsgTelegram(user.idapp, data.username, msgOrig); await local_sendMsgTelegram(user.idapp, data.userDest, msgDest); diff --git a/src/server/tools/general.js b/src/server/tools/general.js index 6941293..d9e3800 100755 --- a/src/server/tools/general.js +++ b/src/server/tools/general.js @@ -2708,8 +2708,7 @@ module.exports = { msg = msg.replace('{username}', user.username); msg = msg.replace('{name}', user.name ? user.name : user.username); msg = msg.replace('{surname}', user.surname ? user.surname : ''); - msg = msg.replace('{aportador_solidario}', - user.aportador_solidario ? user.aportador_solidario : ''); + msg = msg.replace('{aportador_solidario}', user.aportador_solidario ? user.aportador_solidario : ''); if (!!user.profile.link_payment) msg = msg.replace('{link_paypalme}', user.profile.link_payment); if (!!user.profile.revolut) diff --git a/src/server/tools/globalTables.js b/src/server/tools/globalTables.js index d503bd5..4149212 100755 --- a/src/server/tools/globalTables.js +++ b/src/server/tools/globalTables.js @@ -222,6 +222,22 @@ module.exports = { addquery = {username: params.usernameDest}; } else if (params.typemsg === shared_consts.TypeMsg.SEND_TO_MYSELF) { addquery = {username: params.usernameDest}; + } else if (params.typemsg === shared_consts.TypeMsg.SEND_TO_TELEG_NO_USERNAME_TELEG) { + addquery = { + 'profile.teleg_id': {$gt: 1}, + $or: [ + {'profile.username_telegram': {$exists: false}}, + {'profile.username_telegram': {$exists: true, $eq: ''}}], + }; + } else if (params.typemsg === shared_consts.TypeMsg.SEND_TO_TELEG_NO_VERIF_BY_APORTADOR) { + addquery = { + 'profile.teleg_id': {$gt: 1}, + 'profile.username_telegram': {$exists: true}, + $expr: { $gt: [ { $strLenCP: "$profile.username_telegram" }, 3 ] }, + $or: [ + {'verified_by_aportador': {$exists: false}}, + {'verified_by_aportador': {$exists: true, $eq: false}}], + }; } else if (params.typemsg === shared_consts.TypeMsg.SEND_TO_GROUP) { if (params.groupnameDest) { addquery = { @@ -283,8 +299,8 @@ module.exports = { nummsgsent++; } - if ((nummsgsent % 100) === 0) { - console.log('Inviati ', nummsgsent, 'messaggi...') + if (nummsgsent > 0 && (nummsgsent % 100) === 0) { + console.log('Inviati ', nummsgsent, 'messaggi...'); } } } diff --git a/src/server/tools/shared_nodejs.js b/src/server/tools/shared_nodejs.js index 10cfef0..b6e02c1 100755 --- a/src/server/tools/shared_nodejs.js +++ b/src/server/tools/shared_nodejs.js @@ -205,6 +205,8 @@ module.exports = { SEND_TO_USER: 25, SEND_TO_GROUP: 30, SEND_TO_MYSELF: 40, + SEND_TO_TELEG_NO_USERNAME_TELEG: 50, + SEND_TO_TELEG_NO_VERIF_BY_APORTADOR: 60, }, TypeMsg_Actions: {