revert 59ddf245ff75459b35ebc9da7e2cdd18b5dbc525
revert revert 3af560386ddebe5418525ee4dbf4845a7e1ea08d revert тест кнопки
This commit is contained in:
parent
59ddf245ff
commit
eff482deb7
41
Program.cs
41
Program.cs
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user