Browse Source

ran linter

pull/5/head
Nareshkumar Rao 3 years ago
parent
commit
01d1090975
  1. 101
      src/routes/TelegramWebhookRoute.js
  2. 9
      src/strings.js
  3. 2
      src/telegram.js

101
src/routes/TelegramWebhookRoute.js

@ -4,59 +4,66 @@ const { strings_en } = require("../strings");
const { sendTelegramMessage } = require("../telegram"); const { sendTelegramMessage } = require("../telegram");
function TelegramWebhookRoute(req, res) { function TelegramWebhookRoute(req, res) {
try{
if(req.body.message.connected_website){
sendTelegramMessage(req.body.message.from.id, "Thanks for using OurSejahtera! Let's stay safer together <3");
}else{
const messageText = req.body.message.text;
const telegramID = req.body.message.from.id;
if (messageText.toLowerCase() == "/covidpositive") {
userInfected(telegramID, (result) => {
if(result.saved){
sendTelegramMessage(telegramID, strings_en.telegram_inform_positive);
informContacts(telegramID);
}else{
sendTelegramMessage(telegramID, "Sorry, something went wrong.");
}
});
}
}
}catch(e){
console.log("Could not get Telegram Message");
try {
if (req.body.message.connected_website) {
sendTelegramMessage(
req.body.message.from.id,
"Thanks for using OurSejahtera! Let's stay safer together <3"
);
} else {
const messageText = req.body.message.text;
const telegramID = req.body.message.from.id;
if (messageText.toLowerCase() == "/covidpositive") {
userInfected(telegramID, (result) => {
if (result.saved) {
sendTelegramMessage(
telegramID,
strings_en.telegram_inform_positive
);
informContacts(telegramID);
} else {
sendTelegramMessage(telegramID, "Sorry, something went wrong.");
}
});
}
} }
} catch (e) {
console.log("Could not get Telegram Message");
}
res.send(); res.send();
} }
function informContacts(telegramID, doneCallback=()=>{}){
User.findOne({
function informContacts(telegramID, doneCallback = () => {}) {
User.findOne({
where: {
telegram: telegramID,
},
}).then((user) => {
if (user) {
const userRowID = user.id;
Contact.findAll({
where: { where: {
telegram: telegramID,
}
}).then(user => {
if(user){
const userRowID = user.id;
Contact.findAll({
where: {
[Op.or]: [{user: userRowID}, {with: userRowID}],
}
})
.then(result => {
result.forEach(contact => {
const otherPersonID = contact.user == userRowID ? contact.with : contact.user;
User.findOne({
where: {
id: otherPersonID,
}
}).then(otherPerson => {
sendTelegramMessage(otherPerson.telegram, strings_en.telegram_inform_infect);
});
});
});
}
});
[Op.or]: [{ user: userRowID }, { with: userRowID }],
},
}).then((result) => {
result.forEach((contact) => {
const otherPersonID =
contact.user == userRowID ? contact.with : contact.user;
User.findOne({
where: {
id: otherPersonID,
},
}).then((otherPerson) => {
sendTelegramMessage(
otherPerson.telegram,
strings_en.telegram_inform_infect
);
});
});
});
}
});
} }
function userInfected(telegramID, doneCallback) { function userInfected(telegramID, doneCallback) {

9
src/strings.js

@ -1,14 +1,17 @@
const strings_en = { const strings_en = {
telegram_inform_infect: "ATTENTION! Someone you have been \
telegram_inform_infect:
"ATTENTION! Someone you have been \
in contact with has reported being tested POSITIVE with \ in contact with has reported being tested POSITIVE with \
COVID19. Please maintain a self-quarantine until getting \ COVID19. Please maintain a self-quarantine until getting \
tested, and follow all local guidelines.", tested, and follow all local guidelines.",
telegram_inform_positive: "Thanks for informing us. We will \
telegram_inform_positive:
"Thanks for informing us. We will \
notify the people you were in contact with! Please follow all \ notify the people you were in contact with! Please follow all \
local COVID19 guidelines.", local COVID19 guidelines.",
telegram_qr_scanned: "Someone scanned your QR code. You will \
telegram_qr_scanned:
"Someone scanned your QR code. You will \
be notified if they report being tested positive with COVID19. If \ be notified if they report being tested positive with COVID19. If \
you are tested positive, please tell me /COVIDPOSITIVE", you are tested positive, please tell me /COVIDPOSITIVE",
}; };

2
src/telegram.js

@ -16,7 +16,7 @@ function setTelegramWebHook(done) {
}); });
} }
function sendTelegramMessage(telegramID, message, done=()=>{}) {
function sendTelegramMessage(telegramID, message, done = () => {}) {
const url = `https://api.telegram.org/bot${process.env.TELEGRAM_TOKEN}/sendMessage`; const url = `https://api.telegram.org/bot${process.env.TELEGRAM_TOKEN}/sendMessage`;
axios axios
.post(url, { .post(url, {

Loading…
Cancel
Save