diff --git a/.gitignore b/.gitignore
index 9491a2f..6a554f7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -360,4 +360,10 @@ MigrationBackup/
.ionide/
# Fody - auto-generated XML schema
-FodyWeavers.xsd
\ No newline at end of file
+FodyWeavers.xsd
+
+# Environment variables
+.env
+.env.local
+.env.production
+.env.staging
\ No newline at end of file
diff --git a/ChatBot/ChatBot.csproj b/ChatBot/ChatBot.csproj
index 59a997a..b5d4866 100644
--- a/ChatBot/ChatBot.csproj
+++ b/ChatBot/ChatBot.csproj
@@ -6,6 +6,7 @@
dotnet-ChatBot-90278280-a615-4c51-af59-878577c2c7b1
+
diff --git a/ChatBot/Program.cs b/ChatBot/Program.cs
index f7edebe..2055f04 100644
--- a/ChatBot/Program.cs
+++ b/ChatBot/Program.cs
@@ -9,11 +9,15 @@ using ChatBot.Services.Interfaces;
using ChatBot.Services.Telegram.Commands;
using ChatBot.Services.Telegram.Interfaces;
using ChatBot.Services.Telegram.Services;
+using DotNetEnv;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Options;
using Serilog;
using Telegram.Bot;
+// Загружаем переменные окружения из .env файла
+Env.Load();
+
var builder = Host.CreateApplicationBuilder(args);
// Настройка Serilog
diff --git a/ChatBot/appsettings.json b/ChatBot/appsettings.json
index 62e0096..6292e79 100644
--- a/ChatBot/appsettings.json
+++ b/ChatBot/appsettings.json
@@ -31,11 +31,11 @@
"Enrich": ["FromLogContext", "WithMachineName", "WithThreadId"]
},
"TelegramBot": {
- "BotToken": "8461762778:AAEk1wHMqd84_I_loL9FQPciZakGYe557KA"
+ "BotToken": "${TELEGRAM_BOT_TOKEN}"
},
"Ollama": {
- "Url": "https://ai.api.home/",
- "DefaultModel": "gemma3:4b"
+ "Url": "${OLLAMA_URL}",
+ "DefaultModel": "${OLLAMA_DEFAULT_MODEL}"
},
"AI": {
"Temperature": 0.9,
@@ -54,7 +54,7 @@
"StatusCheckTimeoutSeconds": 10
},
"Database": {
- "ConnectionString": "Host=localhost;Port=5432;Database=chatbot;Username=postgres;Password=postgres",
+ "ConnectionString": "Host=${DB_HOST};Port=${DB_PORT};Database=${DB_NAME};Username=${DB_USER};Password=${DB_PASSWORD}",
"EnableSensitiveDataLogging": false,
"CommandTimeout": 30
}
diff --git a/README.md b/README.md
index e69de29..34a46db 100644
--- a/README.md
+++ b/README.md
@@ -0,0 +1,25 @@
+# ChatBot
+
+## Настройка окружения
+
+1. Скопируйте `.env.example` в `.env`:
+ ```bash
+ cp .env.example .env
+ ```
+
+2. Заполните переменные в `.env` файле:
+ - `TELEGRAM_BOT_TOKEN` - токен вашего Telegram бота
+ - `DB_PASSWORD` - пароль для базы данных PostgreSQL
+ - `SONAR_TOKEN` - токен для SonarQube (опционально)
+
+3. Запустите приложение:
+ ```bash
+ dotnet run
+ ```
+
+## Структура проекта
+
+- `ChatBot/` - основной проект
+- `ChatBot.Tests/` - тесты
+- `.env` - переменные окружения (не коммитится)
+- `.env.example` - пример переменных окружения