diff --git a/routes/commands.js b/routes/commands.js
new file mode 100644
index 0000000..cc5596d
--- /dev/null
+++ b/routes/commands.js
@@ -0,0 +1,57 @@
+// handlers.js
+
+function handleReportMessage(message, chat_id, report_chat_id, token) {
+ let reportTime = new Date().toLocaleString();
+ sendMessage({
+ chat_id: report_chat_id,
+ text: `⚠️ Репорт от пользователя:\n\nИмя: ${message.from.first_name} ${message.from.last_name || ''}\nЮзернейм: @${message.from.username || 'нет юзернейма'}\nChat ID: ${chat_id}\nВремя обращения: ${reportTime}\n\nСообщение:\n${message.text}`,
+ parse_mode: 'HTML',
+ }, 'sendMessage', token);
+
+ sendMessage({
+ chat_id: chat_id,
+ text: 'Ваш репорт был успешно отправлен администрации.',
+ }, 'sendMessage', token);
+}
+
+function handleStartCommand(chat_id, message, token) {
+ let fullName = message.from.first_name;
+ if (message.from.last_name) {
+ fullName += ` ${message.from.last_name}`;
+ }
+
+ sendMessage({
+ chat_id: chat_id,
+ text: `Добро пожаловать, ${fullName}!\n\nИспользуйте DishDash, чтобы легко и быстро выбрать место для встречи в компании. Упомяните бота в чате и введите @dishdash_bot start
для создания лобби.\n\nБот DishDash разработан командой \"Шампиньоны\".`,
+ parse_mode: 'HTML',
+ }, 'sendMessage', token);
+}
+
+function handleHelpCommand(chat_id, token) {
+ sendMessage({
+ chat_id: chat_id,
+ text: 'Доступные команды:\n/start - Запуск бота\n/help - Справка\n/report - сообщить о баге/проблеме',
+ }, 'sendMessage', token);
+}
+
+function handleReportCommand(chat_id, token) {
+ sendMessage({
+ chat_id: chat_id,
+ text: 'Теперь отправьте сообщение, которое вы хотите сообщить администрации.',
+ }, 'sendMessage', token);
+}
+
+function handleUnknownCommand(chat_id, token) {
+ sendMessage({
+ chat_id: chat_id,
+ text: 'Извините, я не понимаю эту команду.',
+ }, 'sendMessage', token);
+}
+
+module.exports = {
+ handleReportMessage,
+ handleStartCommand,
+ handleHelpCommand,
+ handleReportCommand,
+ handleUnknownCommand,
+};
diff --git a/routes/dashBot.js b/routes/dashBot.js
index b1e5c98..e53b4b7 100644
--- a/routes/dashBot.js
+++ b/routes/dashBot.js
@@ -28,6 +28,13 @@ router.use(
const { devlog, handleError } = require('./common.js');
const { sendMessage, getUserProfilePicture } = require('./methods.js');
+const {
+ handleReportMessage,
+ handleStartCommand,
+ handleHelpCommand,
+ handleReportCommand,
+ handleUnknownCommand,
+} = require('./commands.js');
setTimeout(function () {
axios
@@ -85,73 +92,20 @@ router.post(`/hook`, (req, res) => {
if (currentSession.reportMode) {
currentSession.reportMode = false;
- if (report_chat_id === undefined) {
+ if (reportChatId === 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
- );
+ handleReportMessage(message, chat_id, reportChatId, token);
}
} else if (text === '/start') {
- let fullName = message.from.first_name;
- if (message.from.last_name) {
- fullName += ` ${message.from.last_name}`;
- }
-
- sendMessage(
- {
- chat_id: chat_id,
- text: `Добро пожаловать, ${fullName}!\n\nИспользуйте DishDash, чтобы легко и быстро выбрать место для встречи в компании. Упомяните бота в чате и введите @dishdash_bot start
для создания лобби.\n\nБот DishDash разработан командой \"Шампиньоны\".`,
- parse_mode: 'HTML',
- },
- 'sendMessage',
- token
- );
+ handleStartCommand(chat_id, message, token);
} else if (text === '/help') {
- sendMessage(
- {
- chat_id: chat_id,
- text: 'Доступные команды:\n/start - Запуск бота\n/help - Справка\n/report - сообщить о баге/проблеме',
- },
- 'sendMessage',
- token
- );
+ handleHelpCommand(chat_id, token);
} else if (text === '/report') {
currentSession.reportMode = true;
- sendMessage(
- {
- chat_id: chat_id,
- text: 'Теперь отправьте сообщение, которое вы хотите сообщить администрации.',
- },
- 'sendMessage',
- token
- );
+ handleReportCommand(chat_id, token);
} else {
- sendMessage(
- {
- chat_id: chat_id,
- text: 'Извините, я не понимаю эту команду.',
- },
- 'sendMessage',
- token
- );
+ handleUnknownCommand(chat_id, token);
}
}
}