фикс еблана ИИ
This commit is contained in:
parent
3ea41f8628
commit
24da3f01df
85
Program.cs
85
Program.cs
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user