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

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