Упрощение обработки команд администратора
Удалены блоки кода, связанные с добавлением администратора, просмотром списка администраторов, доступом к админ-панели и обработкой отчетов. Изменен порядок проверки команды "/admins" для улучшения логики обработки текстовых сообщений.
This commit is contained in:
parent
152c1a3649
commit
e743d363ab
143
Program.cs
143
Program.cs
@ -214,147 +214,6 @@ class Program
|
|||||||
await SendMainMenu(botClient, chatId);
|
await SendMainMenu(botClient, chatId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Также добавим обработку команды /removeadmin в секцию обработки текстовых сообщений:
|
|
||||||
|
|
||||||
// В блоке для обработки текстовых сообщений (после if (message.Text.StartsWith("/admin")))
|
|
||||||
else if (update.Type == UpdateType.Message && update.Message?.Text != null)
|
|
||||||
{
|
|
||||||
var message = update.Message;
|
|
||||||
Log.Information($"Получено сообщение от {message.Chat.Id}: {message.Text}");
|
|
||||||
|
|
||||||
if (message.Text.StartsWith("/admin"))
|
|
||||||
{
|
|
||||||
string[] parts = message.Text.Split(' ');
|
|
||||||
if (parts.Length == 2 && parts[1] == adminPassword)
|
|
||||||
{
|
|
||||||
admins.Add(message.Chat.Id);
|
|
||||||
// Сохраняем администратора в базу данных
|
|
||||||
await SaveAdminToDatabase(message.Chat.Id);
|
|
||||||
|
|
||||||
var authMessage = await botClient.SendMessage(message.Chat.Id, "✅ Вы авторизованы как администратор!");
|
|
||||||
Log.Information($"Новый администратор: {message.Chat.Id}");
|
|
||||||
await Task.Delay(2000);
|
|
||||||
await botClient.DeleteMessage(message.Chat.Id, authMessage.MessageId);
|
|
||||||
await SendMainMenu(botClient, message.Chat.Id);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var authMessage = await botClient.SendMessage(message.Chat.Id, "❌ Неверный пароль!");
|
|
||||||
await Task.Delay(2000);
|
|
||||||
await botClient.DeleteMessage(message.Chat.Id, authMessage.MessageId);
|
|
||||||
await SendMainMenu(botClient, message.Chat.Id);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// В блоке для обработки текстовых сообщений
|
|
||||||
else if (message.Text == "/admins")
|
|
||||||
{
|
|
||||||
if (admins.Contains(message.Chat.Id))
|
|
||||||
{
|
|
||||||
await ShowAdminsList(botClient, message.Chat.Id);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
await botClient.SendMessage(
|
|
||||||
chatId: message.Chat.Id,
|
|
||||||
text: "⛔ У вас нет прав для просмотра списка администраторов!"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
else if (data == "admin_panel")
|
|
||||||
{
|
|
||||||
if (admins.Contains(chatId))
|
|
||||||
{
|
|
||||||
await SendAdminPanel(botClient, chatId);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var authMessage = await botClient.SendMessage(chatId, "⛔ Вы не являетесь администратором!");
|
|
||||||
Log.Information($"Неавторизованный доступ к админ-панели от {chatId}");
|
|
||||||
await Task.Delay(2000);
|
|
||||||
await botClient.DeleteMessage(chatId, authMessage.MessageId);
|
|
||||||
await SendMainMenu(botClient, chatId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (data == "view_reports")
|
|
||||||
{
|
|
||||||
if (admins.Contains(chatId))
|
|
||||||
{
|
|
||||||
await ViewReports(botClient, chatId);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var authMessage = await botClient.SendMessage(chatId, "⛔ Вы не являетесь администратором!");
|
|
||||||
Log.Information($"Неавторизованный доступ к заявкам от {chatId}");
|
|
||||||
await Task.Delay(2000);
|
|
||||||
await botClient.DeleteMessage(chatId, authMessage.MessageId);
|
|
||||||
await SendMainMenu(botClient, chatId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (data == "view_archived_reports")
|
|
||||||
{
|
|
||||||
if (admins.Contains(chatId))
|
|
||||||
{
|
|
||||||
await ViewArchivedReports(botClient, chatId);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var authMessage = await botClient.SendMessage(chatId, "⛔ Вы не являетесь администратором!");
|
|
||||||
Log.Information($"Неавторизованный доступ к архиву заявок от {chatId}");
|
|
||||||
await Task.Delay(2000);
|
|
||||||
await botClient.DeleteMessage(chatId, authMessage.MessageId);
|
|
||||||
await SendMainMenu(botClient, chatId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (data != null && data.StartsWith("report_"))
|
|
||||||
{
|
|
||||||
long reportId = long.Parse(data.Substring(7));
|
|
||||||
if (callbackQuery?.Message?.MessageId != null)
|
|
||||||
{
|
|
||||||
int messageId = callbackQuery.Message.MessageId;
|
|
||||||
await ShowReportDetails(botClient, chatId, reportId, messageId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (data != null && data.StartsWith("status_"))
|
|
||||||
{
|
|
||||||
string[] parts = data.Split('_');
|
|
||||||
long reportId = long.Parse(parts[1]);
|
|
||||||
string newStatus = parts[2];
|
|
||||||
if (callbackQuery?.Message?.MessageId != null)
|
|
||||||
{
|
|
||||||
int messageId = callbackQuery.Message.MessageId;
|
|
||||||
await UpdateReportStatus(reportId, newStatus, chatId);
|
|
||||||
await ShowReportDetails(botClient, chatId, reportId, messageId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (data != null && data.StartsWith("delete_"))
|
|
||||||
{
|
|
||||||
long reportId = long.Parse(data.Substring(7));
|
|
||||||
await DeleteReport(botClient, chatId, reportId);
|
|
||||||
}
|
|
||||||
else if (data == "back_to_list")
|
|
||||||
{
|
|
||||||
await ViewReports(botClient, chatId);
|
|
||||||
}
|
|
||||||
else if (data == "back_to_admin_panel")
|
|
||||||
{
|
|
||||||
await SendAdminPanel(botClient, chatId);
|
|
||||||
}
|
|
||||||
else if (data == "main_menu")
|
|
||||||
{
|
|
||||||
await SendMainMenu(botClient, chatId);
|
|
||||||
}
|
|
||||||
else if (data != null && data.StartsWith("priority_"))
|
|
||||||
{
|
|
||||||
string priority = data.Substring(9);
|
|
||||||
userReports[chatId].Priority = priority;
|
|
||||||
userReportSteps[chatId] = 2;
|
|
||||||
await botClient.SendMessage(chatId, "Пожалуйста, укажите кабинет.");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -390,7 +249,7 @@ class Program
|
|||||||
}
|
}
|
||||||
|
|
||||||
// В блоке для обработки текстовых сообщений
|
// В блоке для обработки текстовых сообщений
|
||||||
else if (message.Text == "/admins")
|
if (message.Text == "/admins")
|
||||||
{
|
{
|
||||||
if (admins.Contains(message.Chat.Id))
|
if (admins.Contains(message.Chat.Id))
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user