From 254659af09356a69734b07641d2b3de312ced17b Mon Sep 17 00:00:00 2001 From: AlexDyakonov Date: Sun, 18 Aug 2024 10:46:03 +0300 Subject: [PATCH] Updated reportMode var --- routes/dashBot.js | 85 ++++++++++++++++++++++++----------------------- 1 file changed, 44 insertions(+), 41 deletions(-) diff --git a/routes/dashBot.js b/routes/dashBot.js index 99375a3..bfe8eec 100644 --- a/routes/dashBot.js +++ b/routes/dashBot.js @@ -63,7 +63,7 @@ router.get(`/avatar`, (req, res) => { }); router.post(`/hook`, (req, res) => { - let reportMode = false; // Переменная для отслеживания режима репорта + let sessionStates = {}; // Объект для хранения состояния сессий let reportChatId = report_chat_id; res.sendStatus(200); @@ -76,37 +76,41 @@ router.post(`/hook`, (req, res) => { let message = req.body.message; let chat_id = message.chat.id; + if (!sessionStates[chat_id]) { + sessionStates[chat_id] = { reportMode: false }; + } + if (message.text) { let text = message.text; - if (reportMode) { - reportMode = false; - - if (report_chat_id === undefined) { - console.log("`report_chat_id` is undefined. Check envs to turn on reports."); - } else { - let reportTime = new Date().toLocaleString(); - - sendMessage( - { - chat_id: reportChatId, - text: `⚠️ Репорт от пользователя:\n\nИмя: ${message.from.first_name} ${message.from.last_name || ''}\nЮзернейм: @${message.from.username || 'нет юзернейма'}\nChat ID: ${chat_id}\nВремя обращения: ${reportTime}\n\nСообщение:\n${text}`, - parse_mode: 'HTML', - }, - 'sendMessage', - token - ); - - sendMessage( - { - chat_id: chat_id, - text: 'Ваш репорт был успешно отправлен администрации.', - }, - 'sendMessage', - token - ); - } - } else if (text === '/start') { + if (sessionStates[chat_id].reportMode) { + sessionStates[chat_id].reportMode = false; + + if (report_chat_id === undefined) { + console.log("`report_chat_id` is undefined. Check envs to turn on reports."); + } else { + let reportTime = new Date().toLocaleString(); + + sendMessage( + { + chat_id: reportChatId, + text: `⚠️ Репорт от пользователя:\n\nИмя: ${message.from.first_name} ${message.from.last_name || ''}\nЮзернейм: @${message.from.username || 'нет юзернейма'}\nChat ID: ${chat_id}\nВремя обращения: ${reportTime}\n\nСообщение:\n${text}`, + parse_mode: 'HTML', + }, + 'sendMessage', + token + ); + + sendMessage( + { + chat_id: chat_id, + text: 'Ваш репорт был успешно отправлен администрации.', + }, + 'sendMessage', + token + ); + } + } else if (text === '/start') { let fullName = message.from.first_name; if (message.from.last_name) { fullName += ` ${message.from.last_name}`; @@ -131,7 +135,7 @@ router.post(`/hook`, (req, res) => { token ); } else if (text === '/report') { - reportMode = true; + sessionStates[chat_id].reportMode = true; // Включаем режим репорта для данного чата sendMessage( { chat_id: chat_id, @@ -140,17 +144,16 @@ router.post(`/hook`, (req, res) => { 'sendMessage', token ); - } - // else if (!reportMode) { - // sendMessage( - // { - // chat_id: chat_id, - // text: 'Извините, я не понимаю эту команду.', - // }, - // 'sendMessage', - // token - // ); - // } + } else { + sendMessage( + { + chat_id: chat_id, + text: 'Извините, я не понимаю эту команду.', + }, + 'sendMessage', + token + ); + } } }