diff --git a/Program.cs b/Program.cs index 4597a1e..0a972b1 100644 --- a/Program.cs +++ b/Program.cs @@ -57,6 +57,9 @@ class Program throw; } + // Создание базы данных и таблицы, если они не существуют + await CreateDatabaseIfNotExists(); + var cts = new CancellationTokenSource(); Log.Information("Начало получения обновлений..."); @@ -96,7 +99,7 @@ class Program chatId: message.Chat.Id, text: "Привет! Я бот для сбора заявок на ремонт оборудования. Отправь /report для подачи заявки." ); - Log.Information($"Ответ на команду /start отправлен. ТЕКСТ ОТВЕТА: Привет! Я бот для сбора заявок на ремонт оборудования. Отправь /report для подачи заявки."); + Log.Information($"Ответ на команду /start отправлен."); } else if (message.Text == "/report") { @@ -170,6 +173,39 @@ class Program } } + private static async Task CreateDatabaseIfNotExists() + { + string connectionString = "Data Source=bot.db"; // Путь к вашей базе данных + + try + { + using (var connection = new SqliteConnection(connectionString)) + { + await connection.OpenAsync(); + + // Создание таблицы Reports, если она не существует + var createTableCommand = connection.CreateCommand(); + createTableCommand.CommandText = + @" + CREATE TABLE IF NOT EXISTS Reports ( + Id INTEGER PRIMARY KEY AUTOINCREMENT, + ChatId INTEGER NOT NULL, + Description TEXT NOT NULL, + DateCreated DATETIME DEFAULT CURRENT_TIMESTAMP, + Status TEXT DEFAULT 'В процессе' + ); + "; + await createTableCommand.ExecuteNonQueryAsync(); + + Log.Information("Таблица Reports успешно создана (если её не было)."); + } + } + catch (Exception ex) + { + Log.Error($"Ошибка при создании таблицы в базе данных: {ex.Message}"); + } + } + private static Task HandleErrorAsync(ITelegramBotClient botClient, Exception exception, CancellationToken cancellationToken) { Log.Error($"Ошибка в процессе работы с ботом: {exception.Message}");