много дебага
This commit is contained in:
parent
d202e02d23
commit
47c8269cdc
106
Program.cs
106
Program.cs
@ -17,12 +17,22 @@ class Program
|
|||||||
static async Task Main()
|
static async Task Main()
|
||||||
{
|
{
|
||||||
// Загружаем конфигурацию из appsettings.json
|
// Загружаем конфигурацию из appsettings.json
|
||||||
var config = new ConfigurationBuilder()
|
try
|
||||||
.SetBasePath(AppContext.BaseDirectory) // <-- Используем правильный путь
|
{
|
||||||
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
|
Log.Information("Загрузка конфигурации из appsettings.json...");
|
||||||
.Build();
|
var config = new ConfigurationBuilder()
|
||||||
|
.SetBasePath(AppContext.BaseDirectory) // <-- Используем правильный путь
|
||||||
|
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
|
||||||
|
.Build();
|
||||||
|
|
||||||
_botToken = config["BotToken"] ?? throw new Exception("BotToken не найден в конфигурации!");
|
_botToken = config["BotToken"] ?? throw new Exception("BotToken не найден в конфигурации!");
|
||||||
|
Log.Information("Конфигурация успешно загружена.");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Log.Error($"Ошибка при загрузке конфигурации: {ex.Message}");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
|
||||||
// Настраиваем логирование
|
// Настраиваем логирование
|
||||||
Log.Logger = new LoggerConfiguration()
|
Log.Logger = new LoggerConfiguration()
|
||||||
@ -32,14 +42,33 @@ class Program
|
|||||||
|
|
||||||
Log.Information("Запуск Telegram-бота...");
|
Log.Information("Запуск Telegram-бота...");
|
||||||
|
|
||||||
_botClient = new TelegramBotClient(_botToken);
|
try
|
||||||
var me = await _botClient.GetMe();
|
{
|
||||||
Log.Information($"Бот {me.FirstName} запущен!");
|
// Инициализация клиента бота
|
||||||
|
_botClient = new TelegramBotClient(_botToken);
|
||||||
|
var me = await _botClient.GetMe();
|
||||||
|
Log.Information($"Бот {me.FirstName} запущен! ID: {me.Id}");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Log.Error($"Ошибка при подключении к Telegram API: {ex.Message}");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
|
||||||
var cts = new CancellationTokenSource();
|
var cts = new CancellationTokenSource();
|
||||||
|
Log.Information("Начало получения обновлений...");
|
||||||
|
|
||||||
// Применение StartReceiving для работы с задачами
|
try
|
||||||
_botClient.StartReceiving(HandleUpdateAsync, HandleErrorAsync, cancellationToken: cts.Token);
|
{
|
||||||
|
// Применение StartReceiving для работы с задачами
|
||||||
|
_botClient.StartReceiving(HandleUpdateAsync, HandleErrorAsync, cancellationToken: cts.Token);
|
||||||
|
Log.Information("Получение обновлений успешно началось.");
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Log.Error($"Ошибка при запуске получения обновлений: {ex.Message}");
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
|
||||||
// Создание TaskCompletionSource для удержания процесса бота
|
// Создание TaskCompletionSource для удержания процесса бота
|
||||||
var tcs = new TaskCompletionSource();
|
var tcs = new TaskCompletionSource();
|
||||||
@ -51,38 +80,49 @@ class Program
|
|||||||
|
|
||||||
private static async Task HandleUpdateAsync(ITelegramBotClient botClient, Update update, CancellationToken cancellationToken)
|
private static async Task HandleUpdateAsync(ITelegramBotClient botClient, Update update, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
if (update.Type != UpdateType.Message || update.Message?.Text == null)
|
try
|
||||||
return;
|
{
|
||||||
|
if (update.Type != UpdateType.Message || update.Message?.Text == null)
|
||||||
|
return;
|
||||||
|
|
||||||
var message = update.Message;
|
var message = update.Message;
|
||||||
Log.Information($"Сообщение от {message.Chat.Id}: {message.Text}");
|
Log.Information($"Получено сообщение от {message.Chat.Id}: {message.Text}");
|
||||||
|
|
||||||
if (message.Text == "/start")
|
if (message.Text == "/start")
|
||||||
{
|
{
|
||||||
await botClient.SendMessage(
|
await botClient.SendMessage(
|
||||||
chatId: message.Chat.Id,
|
chatId: message.Chat.Id,
|
||||||
text: "Йоу! Я бот для сбора заявок на ремонт оборудования. Отправь /report для подачи заявки."
|
text: "Йоу! Я бот для сбора заявок на ремонт оборудования. Отправь /report для подачи заявки."
|
||||||
);
|
);
|
||||||
|
Log.Information("Ответ на команду /start отправлен.");
|
||||||
|
}
|
||||||
|
else if (message.Text == "/report")
|
||||||
|
{
|
||||||
|
await botClient.SendMessage(
|
||||||
|
chatId: message.Chat.Id,
|
||||||
|
text: "Пожалуйста, отправьте описание проблемы."
|
||||||
|
);
|
||||||
|
Log.Information("Ответ на команду /report отправлен.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
await botClient.SendMessage(
|
||||||
|
chatId: message.Chat.Id,
|
||||||
|
text: "Неизвестная команда. Используйте /start."
|
||||||
|
);
|
||||||
|
Log.Information("Ответ на неизвестную команду отправлен.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (message.Text == "/report")
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
await botClient.SendMessage(
|
Log.Error($"Ошибка при обработке обновлений: {ex.Message}");
|
||||||
chatId: message.Chat.Id,
|
Log.Error($"StackTrace: {ex.StackTrace}");
|
||||||
text: "Пожалуйста, отправьте описание проблемы."
|
|
||||||
);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
await botClient.SendMessage(
|
|
||||||
chatId: message.Chat.Id,
|
|
||||||
text: "Неизвестная команда. Используйте /start."
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Task HandleErrorAsync(ITelegramBotClient botClient, Exception exception, CancellationToken cancellationToken)
|
private static Task HandleErrorAsync(ITelegramBotClient botClient, Exception exception, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
Log.Error($"Ошибка: {exception.Message}");
|
Log.Error($"Ошибка в процессе работы с ботом: {exception.Message}");
|
||||||
Log.Error($"StackTrace: {exception.StackTrace}");
|
Log.Error($"StackTrace: {exception.StackTrace}");
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user