фикс багов

This commit is contained in:
Professional 2025-03-19 16:38:09 +07:00
parent 6939a665e5
commit eec1c79714

View File

@ -122,7 +122,6 @@ class Program
{ {
await botClient.AnswerCallbackQuery(callbackQuery.Id); // Убираем "часики" у кнопки await botClient.AnswerCallbackQuery(callbackQuery.Id); // Убираем "часики" у кнопки
} }
// Убираем "часики" у кнопки
if (data == "report") if (data == "report")
{ {
@ -151,7 +150,6 @@ class Program
await ShowReportDetails(botClient, chatId, reportId, messageId); await ShowReportDetails(botClient, chatId, reportId, messageId);
} }
} }
else if (data != null && data.StartsWith("status_")) else if (data != null && data.StartsWith("status_"))
{ {
string[] parts = data.Split('_'); string[] parts = data.Split('_');
@ -164,8 +162,6 @@ class Program
await ShowReportDetails(botClient, chatId, reportId, messageId); await ShowReportDetails(botClient, chatId, reportId, messageId);
} }
} }
else if (data == "back_to_list") else if (data == "back_to_list")
{ {
await ViewReports(botClient, chatId); await ViewReports(botClient, chatId);
@ -178,72 +174,72 @@ class Program
} }
// Обработка текстовых сообщений // Обработка текстовых сообщений
if (update.Type != UpdateType.Message || update.Message?.Text == null) if (update.Type == UpdateType.Message && update.Message?.Text != null)
return;
var message = update.Message;
Log.Information($"Получено сообщение от {message.Chat.Id}: {message.Text}");
// Обработка команды /admin для авторизации
if (message.Text.StartsWith("/admin"))
{ {
string[] parts = message.Text.Split(' '); var message = update.Message;
if (parts.Length == 2 && parts[1] == adminPassword) Log.Information($"Получено сообщение от {message.Chat.Id}: {message.Text}");
// Обработка команды /admin для авторизации
if (message.Text.StartsWith("/admin"))
{ {
admins.Add(message.Chat.Id); string[] parts = message.Text.Split(' ');
await botClient.SendMessage(message.Chat.Id, "✅ Вы авторизованы как администратор!"); if (parts.Length == 2 && parts[1] == adminPassword)
Log.Information($"Новый администратор: {message.Chat.Id}"); {
admins.Add(message.Chat.Id);
await botClient.SendMessage(message.Chat.Id, "✅ Вы авторизованы как администратор!");
Log.Information($"Новый администратор: {message.Chat.Id}");
}
else
{
await botClient.SendMessage(message.Chat.Id, "❌ Неверный пароль!");
}
return;
}
if (message.Text == "/start")
{
var keyboard = new InlineKeyboardMarkup(new[]
{
new[]
{
InlineKeyboardButton.WithCallbackData("Подать заявку", "report"),
InlineKeyboardButton.WithCallbackData("Просмотр заявок", "view_reports")
}
});
await botClient.SendMessage(
chatId: message.Chat.Id,
text: "Привет! Я бот для сбора заявок на ремонт оборудования.",
replyMarkup: keyboard
);
Log.Information($"Ответ на команду /start с кнопками отправлен.");
}
else if (usersWaitingForReport.TryGetValue(message.Chat.Id, out bool isWaiting) && isWaiting)
{
string problemDescription = message.Text;
await SaveReportToDatabase(message.Chat.Id, problemDescription);
// Создаем клавиатуру с кнопкой возврата
var keyboard = new InlineKeyboardMarkup(new[]
{
new[]
{
InlineKeyboardButton.WithCallbackData("Главное меню", "main_menu")
}
});
await botClient.SendMessage(
chatId: message.Chat.Id,
text: "✅ Спасибо за заявку! Мы обработаем её в ближайшее время.",
replyMarkup: keyboard);
usersWaitingForReport[message.Chat.Id] = false;
Log.Information($"Заявка пользователя {message.Chat.Id} сохранена в базе данных.");
} }
else else
{ {
await botClient.SendMessage(message.Chat.Id, "❌ Неверный пароль!"); await botClient.SendMessage(chatId: message.Chat.Id, text: " Используйте команду /start для начала работы с ботом.");
} }
return;
}
if (message.Text == "/start")
{
var keyboard = new InlineKeyboardMarkup(new[]
{
new[]
{
InlineKeyboardButton.WithCallbackData("Подать заявку", "report"),
InlineKeyboardButton.WithCallbackData("Просмотр заявок", "view_reports")
}
});
await botClient.SendMessage(
chatId: message.Chat.Id,
text: "Привет! Я бот для сбора заявок на ремонт оборудования.",
replyMarkup: keyboard
);
Log.Information($"Ответ на команду /start с кнопками отправлен.");
}
else if (usersWaitingForReport.TryGetValue(message.Chat.Id, out bool isWaiting) && isWaiting)
{
string problemDescription = message.Text;
await SaveReportToDatabase(message.Chat.Id, problemDescription);
// Создаем клавиатуру с кнопкой возврата
var keyboard = new InlineKeyboardMarkup(new[]
{
new[]
{
InlineKeyboardButton.WithCallbackData("Главное меню", "main_menu")
}
});
await botClient.SendMessage(
chatId: message.Chat.Id,
text: "✅ Спасибо за заявку! Мы обработаем её в ближайшее время.",
replyMarkup: keyboard);
usersWaitingForReport[message.Chat.Id] = false;
Log.Information($"Заявка пользователя {message.Chat.Id} сохранена в базе данных.");
}
else
{
await botClient.SendMessage(chatId: message.Chat.Id, text: " Используйте кнопки для навигации.");
} }
} }
catch (Exception ex) catch (Exception ex)
@ -254,6 +250,7 @@ class Program
} }
private static async Task SendMainMenu(ITelegramBotClient botClient, long chatId) private static async Task SendMainMenu(ITelegramBotClient botClient, long chatId)
{ {
var keyboard = new InlineKeyboardMarkup(new[] var keyboard = new InlineKeyboardMarkup(new[]