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