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

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;
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(' ');
if (parts.Length == 3 && parts[1] == adminPassword)
var message = update.Message;
Log.Information($"Получено сообщение от {message.Chat.Id}: {message.Text}");
if (message.Text.StartsWith("/admin"))
{
string fullName = parts[2];
admins.Add(message.Chat.Id);
adminFullNames[message.Chat.Id] = fullName;
// Сохраняем администратора в базу данных
await SaveAdminToDatabase(message.Chat.Id, fullName);
string[] parts = message.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;
// Сохраняем администратора в базу данных
await SaveAdminToDatabase(message.Chat.Id, fullName);
var authMessage = await botClient.SendMessage(message.Chat.Id, "✅ Вы авторизованы как администратор!");
Log.Information($"Новый администратор: {message.Chat.Id}, ФИО: {fullName}");
await Task.Delay(2000);
await botClient.DeleteMessage(message.Chat.Id, authMessage.MessageId);
await SendMainMenu(botClient, message.Chat.Id);
var authMessage = await botClient.SendMessage(message.Chat.Id, $"✅ Вы авторизованы как администратор, {fullName}!");
Log.Information($"Новый администратор: {message.Chat.Id}, ФИО: {fullName}");
await Task.Delay(2000);
await botClient.DeleteMessage(message.Chat.Id, authMessage.MessageId);
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))
{