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

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)
{
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;
}
}
}
}