фикс авторизации админа

This commit is contained in:
107 2025-03-20 10:18:01 +07:00
parent 3253dbc66f
commit 3ea41f8628

View File

@ -390,6 +390,12 @@ class Program
} }
} }
// Обработка текстовых сообщений
if (update.Type == UpdateType.Message && update.Message?.Text != null)
{
var message = update.Message;
Log.Information($"Получено сообщение от {message.Chat.Id}: {message.Text}");
// Обработка текстовых сообщений // Обработка текстовых сообщений
if (update.Type == UpdateType.Message && update.Message?.Text != null) if (update.Type == UpdateType.Message && update.Message?.Text != null)
{ {
@ -398,16 +404,16 @@ class Program
if (message.Text.StartsWith("/admin")) if (message.Text.StartsWith("/admin"))
{ {
string[] parts = message.Text.Split(' '); string[] parts = message.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(message.Chat.Id);
adminFullNames[message.Chat.Id] = fullName; adminFullNames[message.Chat.Id] = fullName;
// Сохраняем администратора в базу данных // Сохраняем администратора в базу данных
await SaveAdminToDatabase(message.Chat.Id, fullName); await SaveAdminToDatabase(message.Chat.Id, fullName);
var authMessage = await botClient.SendMessage(message.Chat.Id, "✅ Вы авторизованы как администратор!"); var authMessage = await botClient.SendMessage(message.Chat.Id, $"✅ Вы авторизованы как администратор, {fullName}!");
Log.Information($"Новый администратор: {message.Chat.Id}, ФИО: {fullName}"); Log.Information($"Новый администратор: {message.Chat.Id}, ФИО: {fullName}");
await Task.Delay(2000); await Task.Delay(2000);
await botClient.DeleteMessage(message.Chat.Id, authMessage.MessageId); await botClient.DeleteMessage(message.Chat.Id, authMessage.MessageId);
@ -415,7 +421,7 @@ class Program
} }
else else
{ {
var authMessage = await botClient.SendMessage(message.Chat.Id, "❌ Неверный пароль или ФИО!"); var authMessage = await botClient.SendMessage(message.Chat.Id, "❌ Неверный формат команды или пароль! Используйте: /admin пароль Фамилия Имя Отчество");
await Task.Delay(2000); await Task.Delay(2000);
await botClient.DeleteMessage(message.Chat.Id, authMessage.MessageId); await botClient.DeleteMessage(message.Chat.Id, authMessage.MessageId);
await SendMainMenu(botClient, message.Chat.Id); await SendMainMenu(botClient, message.Chat.Id);
@ -424,6 +430,7 @@ class Program
} }
// В блоке для обработки текстовых сообщений // В блоке для обработки текстовых сообщений
else if (message.Text == "/admins") else if (message.Text == "/admins")
{ {