фикс еблана ИИ

This commit is contained in:
107 2025-03-20 10:21:33 +07:00
parent 3ea41f8628
commit 24da3f01df

View File

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