revert 59ddf245ff75459b35ebc9da7e2cdd18b5dbc525

revert revert 3af560386ddebe5418525ee4dbf4845a7e1ea08d

revert тест кнопки
This commit is contained in:
denis 2025-03-19 09:51:46 +03:00
parent 59ddf245ff
commit eff482deb7

View File

@ -90,54 +90,45 @@ class Program
{ {
try try
{ {
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}");
if (message.Text == "/start")
{ {
// Отправляем главное меню с кнопками var message = update.Message;
var keyboard = new InlineKeyboardMarkup(new[] Log.Information($"Получено сообщение от {message.Chat.Id}: {message.Text}");
if (message.Text == "/start")
{ {
new InlineKeyboardButton[] // Кнопки для навигации var keyboard = new InlineKeyboardMarkup(new[] {
{ new InlineKeyboardButton[]
InlineKeyboardButton.WithCallbackData("Подать заявку", "report"), {
InlineKeyboardButton.WithCallbackData("Просмотр заявок", "view_reports") InlineKeyboardButton.WithCallbackData("Подать заявку", "report"),
} InlineKeyboardButton.WithCallbackData("Просмотр заявок", "view_reports")
}); }
});
await botClient.SendMessage( await botClient.SendMessage(
chatId: message.Chat.Id, chatId: message.Chat.Id,
text: "Привет! Я бот для сбора заявок на ремонт оборудования.", text: "Привет! Я бот для сбора заявок на ремонт оборудования.",
replyMarkup: keyboard replyMarkup: keyboard
); );
Log.Information($"Ответ на команду /start с кнопками отправлен."); Log.Information($"Ответ на команду /start с кнопками отправлен.");
}
} }
else if (message.Text == "report") else if (update.Type == UpdateType.CallbackQuery) // Обработка callback
{ {
usersWaitingForReport[message.Chat.Id] = true; // Отметить, что пользователь должен отправить описание var callbackQuery = update.CallbackQuery;
await botClient.SendMessage(chatId: message.Chat.Id, text: "Пожалуйста, отправьте описание проблемы."); if (callbackQuery.Data == "report")
Log.Information("Ответ на кнопку 'Подать заявку' отправлен."); {
} usersWaitingForReport[callbackQuery.Message.Chat.Id] = true;
else if (admins.Contains(message.Chat.Id) && message.Text == "view_reports") await botClient.SendMessage(chatId: callbackQuery.Message.Chat.Id, text: "Пожалуйста, отправьте описание проблемы.");
{ Log.Information("Ответ на кнопку 'Подать заявку' отправлен.");
await ViewReports(botClient, message.Chat.Id); }
} else if (callbackQuery.Data == "view_reports" && admins.Contains(callbackQuery.Message.Chat.Id))
else if (usersWaitingForReport.ContainsKey(message.Chat.Id) && usersWaitingForReport[message.Chat.Id]) {
{ await ViewReports(botClient, callbackQuery.Message.Chat.Id);
string problemDescription = message.Text; }
await SaveReportToDatabase(message.Chat.Id, problemDescription);
await botClient.SendMessage(chatId: message.Chat.Id, text: "Спасибо за заявку! Мы обработаем её в ближайшее время."); // Не забывайте отправить ответ на callback, чтобы Telegram не просил повторно нажать кнопку
usersWaitingForReport[message.Chat.Id] = false; await botClient.AnswerCallbackQueryAsync(callbackQuery.Id);
Log.Information($"Заявка пользователя {message.Chat.Id} сохранена в базе данных.");
}
else
{
// Ответ на нераспознанные сообщения
await botClient.SendMessage(chatId: message.Chat.Id, text: "Неизвестная команда. Используйте кнопки для навигации.");
Log.Information("Ответ на неизвестную команду с кнопками отправлен.");
} }
} }
catch (Exception ex) catch (Exception ex)