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

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

View File

@ -396,36 +396,43 @@ class Program
var message = update.Message; var message = update.Message;
Log.Information($"Получено сообщение от {message.Chat.Id}: {message.Text}"); Log.Information($"Получено сообщение от {message.Chat.Id}: {message.Text}");
if (message.Text.StartsWith("/admin")) // Обработка текстовых сообщений
if (update.Type == UpdateType.Message && update.Message?.Text != null)
{ {
string[] parts = message.Text.Split(' '); var message = update.Message;
if (parts.Length == 3 && parts[1] == adminPassword) Log.Information($"Получено сообщение от {message.Chat.Id}: {message.Text}");
if (message.Text.StartsWith("/admin"))
{ {
string fullName = parts[2]; string[] parts = message.Text.Split(new[] { ' ' }, 3); // Разделяем на 3 части: команду, пароль и остаток как ФИО
admins.Add(message.Chat.Id); if (parts.Length >= 3 && parts[1] == adminPassword)
adminFullNames[message.Chat.Id] = fullName; {
// Сохраняем администратора в базу данных string fullName = parts[2]; // Вся оставшаяся строка - это ФИО
await SaveAdminToDatabase(message.Chat.Id, fullName); admins.Add(message.Chat.Id);
adminFullNames[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);
await SendMainMenu(botClient, message.Chat.Id); await SendMainMenu(botClient, message.Chat.Id);
}
else
{
var authMessage = await botClient.SendMessage(message.Chat.Id, "❌ Неверный формат команды или пароль! Используйте: /admin пароль Фамилия Имя Отчество");
await Task.Delay(2000);
await botClient.DeleteMessage(message.Chat.Id, authMessage.MessageId);
await SendMainMenu(botClient, message.Chat.Id);
}
return;
} }
else
{
var authMessage = await botClient.SendMessage(message.Chat.Id, "❌ Неверный пароль или ФИО!");
await Task.Delay(2000);
await botClient.DeleteMessage(message.Chat.Id, authMessage.MessageId);
await SendMainMenu(botClient, message.Chat.Id);
}
return;
}
// В блоке для обработки текстовых сообщений
else if (message.Text == "/admins") // В блоке для обработки текстовых сообщений
else if (message.Text == "/admins")
{ {
if (admins.Contains(message.Chat.Id)) if (admins.Contains(message.Chat.Id))
{ {