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