diff --git a/Program.cs b/Program.cs index 472056a..8acf70b 100644 --- a/Program.cs +++ b/Program.cs @@ -399,32 +399,32 @@ class Program // Обработка текстовых сообщений if (update.Type == UpdateType.Message && update.Message?.Text != null) { - var message = update.Message; - Log.Information($"Получено сообщение от {message.Chat.Id}: {message.Text}"); + var receivedMessage = update.Message; + Log.Information($"Получено сообщение от {receivedMessage.Chat.Id}: {receivedMessage.Text}"); - if (message.Text.StartsWith("/admin")) + if (receivedMessage.Text.StartsWith("/admin")) { - string[] parts = message.Text.Split(new[] { ' ' }, 3); // Разделяем на 3 части: команду, пароль и остаток как ФИО + string[] parts = receivedMessage.Text.Split(new[] { ' ' }, 3); // Разделяем на 3 части: команду, пароль и остаток как ФИО if (parts.Length >= 3 && parts[1] == adminPassword) { string fullName = parts[2]; // Вся оставшаяся строка - это ФИО - admins.Add(message.Chat.Id); - adminFullNames[message.Chat.Id] = fullName; + admins.Add(receivedMessage.Chat.Id); + adminFullNames[receivedMessage.Chat.Id] = fullName; // Сохраняем администратора в базу данных - await SaveAdminToDatabase(message.Chat.Id, fullName); + await SaveAdminToDatabase(receivedMessage.Chat.Id, fullName); - var authMessage = await botClient.SendMessage(message.Chat.Id, $"✅ Вы авторизованы как администратор, {fullName}!"); - Log.Information($"Новый администратор: {message.Chat.Id}, ФИО: {fullName}"); + var authMessage = await botClient.SendMessage(receivedMessage.Chat.Id, $"✅ Вы авторизованы как администратор, {fullName}!"); + Log.Information($"Новый администратор: {receivedMessage.Chat.Id}, ФИО: {fullName}"); await Task.Delay(2000); - await botClient.DeleteMessage(message.Chat.Id, authMessage.MessageId); - await SendMainMenu(botClient, message.Chat.Id); + await botClient.DeleteMessage(receivedMessage.Chat.Id, authMessage.MessageId); + await SendMainMenu(botClient, receivedMessage.Chat.Id); } else { - var authMessage = await botClient.SendMessage(message.Chat.Id, "❌ Неверный формат команды или пароль! Используйте: /admin пароль Фамилия Имя Отчество"); + var authMessage = await botClient.SendMessage(receivedMessage.Chat.Id, "❌ Неверный формат команды или пароль! Используйте: /admin пароль Фамилия Имя Отчество"); await Task.Delay(2000); - await botClient.DeleteMessage(message.Chat.Id, authMessage.MessageId); - await SendMainMenu(botClient, message.Chat.Id); + await botClient.DeleteMessage(receivedMessage.Chat.Id, authMessage.MessageId); + await SendMainMenu(botClient, receivedMessage.Chat.Id); } return; } @@ -471,40 +471,41 @@ class Program else if (usersWaitingForReport.TryGetValue(message.Chat.Id, out bool isWaiting) && isWaiting) { - if (userReportSteps.TryGetValue(message.Chat.Id, out int step)) - { - switch (step) + if (userReportSteps.TryGetValue(message.Chat.Id, out int step)) { - case 2: - userReports[message.Chat.Id].Room = message.Text; - userReportSteps[message.Chat.Id] = 3; - await botClient.SendMessage(message.Chat.Id, "Пожалуйста, опишите проблему."); - break; - case 3: - userReports[message.Chat.Id].Description = message.Text; - userReportSteps[message.Chat.Id] = 4; - await botClient.SendMessage(message.Chat.Id, "Пожалуйста, укажите ваше ФИО."); - break; - case 4: - userReports[message.Chat.Id].ReporterName = message.Text; - await SaveReportToDatabase(message.Chat.Id, userReports[message.Chat.Id]); - var mainMenuKeyboard = new InlineKeyboardMarkup(new[] - { + switch (step) + { + case 2: + userReports[message.Chat.Id].Room = message.Text; + userReportSteps[message.Chat.Id] = 3; + await botClient.SendMessage(message.Chat.Id, "Пожалуйста, опишите проблему."); + break; + case 3: + userReports[message.Chat.Id].Description = message.Text; + userReportSteps[message.Chat.Id] = 4; + await botClient.SendMessage(message.Chat.Id, "Пожалуйста, укажите ваше ФИО."); + break; + case 4: + userReports[message.Chat.Id].ReporterName = message.Text; + await SaveReportToDatabase(message.Chat.Id, userReports[message.Chat.Id]); + var mainMenuKeyboard = new InlineKeyboardMarkup(new[] + { new[] { InlineKeyboardButton.WithCallbackData("Главное меню", "main_menu") } }); - await botClient.SendMessage( - message.Chat.Id, - "✅ Спасибо за заявку! Мы обработаем её в ближайшее время.", - replyMarkup: mainMenuKeyboard - ); - usersWaitingForReport[message.Chat.Id] = false; - userReportSteps.Remove(message.Chat.Id); - userReports.Remove(message.Chat.Id); - Log.Information($"Заявка пользователя {message.Chat.Id} сохранена в базе данных."); - break; + await botClient.SendMessage( + message.Chat.Id, + "✅ Спасибо за заявку! Мы обработаем её в ближайшее время.", + replyMarkup: mainMenuKeyboard + ); + usersWaitingForReport[message.Chat.Id] = false; + userReportSteps.Remove(message.Chat.Id); + userReports.Remove(message.Chat.Id); + Log.Information($"Заявка пользователя {message.Chat.Id} сохранена в базе данных."); + break; + } } } }