откат
This commit is contained in:
parent
7ec5f86557
commit
483e8bb622
86
Program.cs
86
Program.cs
@ -158,6 +158,19 @@ class Program
|
|||||||
await SendMainMenu(botClient, chatId);
|
await SendMainMenu(botClient, chatId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (data == "view_admins")
|
||||||
|
{
|
||||||
|
if (admins.Contains(chatId))
|
||||||
|
{
|
||||||
|
await ShowAdminsList(botClient, chatId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
await botClient.SendMessage(chatId, "⛔ У вас нет прав для просмотра администраторов!");
|
||||||
|
await Task.Delay(2000);
|
||||||
|
await SendMainMenu(botClient, chatId);
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (data != null && data.StartsWith("removeadmin_"))
|
else if (data != null && data.StartsWith("removeadmin_"))
|
||||||
{
|
{
|
||||||
long adminIdToRemove = long.Parse(data.Substring(11).Replace("_", ""));
|
long adminIdToRemove = long.Parse(data.Substring(11).Replace("_", ""));
|
||||||
@ -854,73 +867,20 @@ class Program
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Получаем список всех администраторов из базы данных
|
var keyboard = new InlineKeyboardMarkup(new[]
|
||||||
var adminsList = new List<(long chatId, string username)>();
|
|
||||||
|
|
||||||
using (var connection = new SqliteConnection("Data Source=bot.db"))
|
|
||||||
{
|
{
|
||||||
await connection.OpenAsync();
|
new[] {
|
||||||
var command = connection.CreateCommand();
|
InlineKeyboardButton.WithCallbackData("👥 Список администраторов", "view_admins")
|
||||||
command.CommandText = "SELECT ChatId FROM Admins";
|
},
|
||||||
|
new[] {
|
||||||
using (var reader = await command.ExecuteReaderAsync())
|
InlineKeyboardButton.WithCallbackData("🔙 Назад к панели администратора", "admin_panel"),
|
||||||
{
|
InlineKeyboardButton.WithCallbackData("🏠 Главное меню", "main_menu")
|
||||||
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(
|
await botClient.SendMessage(
|
||||||
chatId: chatId,
|
chatId: chatId,
|
||||||
text: messageText.ToString(),
|
text: "⚙️ <b>Управление администраторами</b>",
|
||||||
parseMode: ParseMode.Html,
|
parseMode: ParseMode.Html,
|
||||||
replyMarkup: keyboard
|
replyMarkup: keyboard
|
||||||
);
|
);
|
||||||
@ -928,10 +888,6 @@ class Program
|
|||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Log.Error($"Ошибка при отображении настроек администраторов: {ex.Message}");
|
Log.Error($"Ошибка при отображении настроек администраторов: {ex.Message}");
|
||||||
await botClient.SendMessage(
|
|
||||||
chatId: chatId,
|
|
||||||
text: "❌ Произошла ошибка при отображении настроек администраторов."
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user