Выход из режима администратора: улучшение логики

Добавлена проверка на суперпользователя при выходе из режима администратора. Текст сообщения теперь зависит от роли пользователя. Изменены кнопки для выхода, чтобы они корректно отображали информацию в зависимости от роли. Удалены устаревшие строки кода.
This commit is contained in:
107 2025-03-21 10:06:33 +07:00
parent 1967f41461
commit e0f1424574

View File

@ -466,11 +466,14 @@ class Program
}
else if (data == "leave_admin")
{
bool isSuperUser = superAdmins.Contains(chatId);
await RemoveSelfFromAdmins(chatId);
var message = await botClient.SendMessage(
chatId: chatId,
text: "✅ Вы вышли из режима администратора."
text: isSuperUser
? "✅ Вы вышли из режима суперпользователя."
: "✅ Вы вышли из режима администратора."
);
await Task.Delay(2000);
@ -1457,9 +1460,11 @@ class Program
InlineKeyboardButton.WithCallbackData($"Уведомления о просрочке: {notificationStatus}", $"{toggleAction}_{chatId}")
});
// Кнопка выхода из режима администратора
// Кнопка выхода из режима администратора или суперпользователя (текст зависит от роли)
buttons.Add(new[] {
InlineKeyboardButton.WithCallbackData("🚪 Выйти из режима администратора", "leave_admin")
InlineKeyboardButton.WithCallbackData(
isSuperAdmin ? "🚪 Выйти из режима суперпользователя" : "🚪 Выйти из режима администратора",
"leave_admin")
});
buttons.Add(new[] {
@ -2094,11 +2099,7 @@ class Program
}
}
// Добавляем кнопку выхода из режима администратора
buttons.Add(new[] {
InlineKeyboardButton.WithCallbackData("🚪 Выйти из режима администратора", "leave_admin")
});
// Кнопка "Назад" всегда доступна
buttons.Add(new[] {
InlineKeyboardButton.WithCallbackData("🔙 Назад", "admin_settings")
});