фикс багов
This commit is contained in:
parent
6939a665e5
commit
eec1c79714
125
Program.cs
125
Program.cs
@ -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[]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user