From e0f1424574d5a999eae4d68e91b5ee03a9295838 Mon Sep 17 00:00:00 2001 From: 107 <107@DESKTOP-UP8U7M2> Date: Fri, 21 Mar 2025 10:06:33 +0700 Subject: [PATCH] =?UTF-8?q?=D0=92=D1=8B=D1=85=D0=BE=D0=B4=20=D0=B8=D0=B7?= =?UTF-8?q?=20=D1=80=D0=B5=D0=B6=D0=B8=D0=BC=D0=B0=20=D0=B0=D0=B4=D0=BC?= =?UTF-8?q?=D0=B8=D0=BD=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=B0:=20=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BB=D0=BE=D0=B3=D0=B8=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавлена проверка на суперпользователя при выходе из режима администратора. Текст сообщения теперь зависит от роли пользователя. Изменены кнопки для выхода, чтобы они корректно отображали информацию в зависимости от роли. Удалены устаревшие строки кода. --- Program.cs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Program.cs b/Program.cs index 1f6a4aa..b8d212e 100644 --- a/Program.cs +++ b/Program.cs @@ -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") });