From d3ff267d268a3bafba468051a65bd1e564034dc0 Mon Sep 17 00:00:00 2001 From: student Date: Mon, 17 Mar 2025 15:07:41 +0700 Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B1=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Program.cs | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) 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}");