уход от вложенности
This commit is contained in:
parent
9738200d35
commit
f4ef143113
67
Program.cs
67
Program.cs
@ -868,20 +868,73 @@ class Program
|
||||
return;
|
||||
}
|
||||
|
||||
var keyboard = new InlineKeyboardMarkup(new[]
|
||||
// Получаем список всех администраторов из базы данных
|
||||
var adminsList = new List<(long chatId, string username)>();
|
||||
|
||||
using (var connection = new SqliteConnection("Data Source=bot.db"))
|
||||
{
|
||||
new[] {
|
||||
InlineKeyboardButton.WithCallbackData("👥 Список администраторов", "view_admins")
|
||||
},
|
||||
new[] {
|
||||
await connection.OpenAsync();
|
||||
var command = connection.CreateCommand();
|
||||
command.CommandText = "SELECT ChatId FROM Admins";
|
||||
|
||||
using (var reader = await command.ExecuteReaderAsync())
|
||||
{
|
||||
while (await reader.ReadAsync())
|
||||
{
|
||||
long adminId = reader.GetInt64(0);
|
||||
string username = "Неизвестно";
|
||||
|
||||
// Пытаемся получить имя пользователя
|
||||
try
|
||||
{
|
||||
var user = await botClient.GetChat(adminId);
|
||||
username = user.Username ?? user.FirstName ?? "Неизвестно";
|
||||
}
|
||||
catch
|
||||
{
|
||||
// Если возникает ошибка при получении информации о пользователе,
|
||||
// просто используем "Неизвестно"
|
||||
}
|
||||
|
||||
adminsList.Add((adminId, username));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Формируем сообщение
|
||||
if (adminsList.Count == 0)
|
||||
{
|
||||
await botClient.SendMessage(
|
||||
chatId: chatId,
|
||||
text: "⚠️ В системе нет зарегистрированных администраторов."
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
var buttons = new List<InlineKeyboardButton[]>();
|
||||
var messageText = new System.Text.StringBuilder();
|
||||
messageText.AppendLine("📋 <b>Список администраторов:</b>\n");
|
||||
|
||||
for (int i = 0; i < adminsList.Count; i++)
|
||||
{
|
||||
var (adminId, username) = adminsList[i];
|
||||
messageText.AppendLine($"{i + 1}. {username} (ID: {adminId})");
|
||||
|
||||
buttons.Add(new[] {
|
||||
InlineKeyboardButton.WithCallbackData($"❌ Удалить {username}", $"removeadmin_{adminId}")
|
||||
});
|
||||
}
|
||||
|
||||
buttons.Add(new[] {
|
||||
InlineKeyboardButton.WithCallbackData("🔙 Назад к панели администратора", "admin_panel"),
|
||||
InlineKeyboardButton.WithCallbackData("🏠 Главное меню", "main_menu")
|
||||
}
|
||||
});
|
||||
|
||||
var keyboard = new InlineKeyboardMarkup(buttons);
|
||||
|
||||
await botClient.SendMessage(
|
||||
chatId: chatId,
|
||||
text: "⚙️ <b>Управление администраторами</b>",
|
||||
text: messageText.ToString(),
|
||||
parseMode: ParseMode.Html,
|
||||
replyMarkup: keyboard
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user