diff --git a/Dockerfile b/Dockerfile index 64b0f7d..eacf790 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ FROM python:3.11-slim ENV PYTHONUNBUFFERED=1 +ENV TIMEZONE=UTC # Устанавливаем системные зависимости RUN apt-get update && apt-get install -y --no-install-recommends \ diff --git a/main.py b/main.py index 79e3389..97644ea 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,7 @@ import os import asyncio from datetime import datetime +from zoneinfo import ZoneInfo from dotenv import load_dotenv from aiogram.client.default import DefaultBotProperties from aiogram.enums import ParseMode @@ -23,6 +24,10 @@ TELEGRAM_TOKEN = os.getenv("TELEGRAM_TOKEN") TRILIUM_URL = os.getenv("TRILIUM_URL") TRILIUM_TOKEN = os.getenv("TRILIUM_TOKEN") INBOX_NOTE_ID = os.getenv("INBOX_NOTE_ID") +TIMEZONE = os.getenv("TIMEZONE", "UTC") # Переменная окружения для timezone + +# Получаем объект timezone +tz = ZoneInfo(TIMEZONE) # создаем Trilium API клиент ea = ETAPI(server_url=TRILIUM_URL, token=TRILIUM_TOKEN) @@ -85,11 +90,11 @@ async def cmd_daily(message: Message, state: FSMContext): async def process_daily_text(message: Message, state: FSMContext): """Обработка текста для дневной заметки""" text = message.text - today = datetime.now().strftime("%Y-%m-%d") + today = datetime.now(tz).strftime("%Y-%m-%d") try: existing_content = ea.get_day_note(today) - timestamp = datetime.now().strftime("%H:%M") + timestamp = datetime.now(tz).strftime("%H:%M") new_content = f"{existing_content}

{timestamp}: {text}

" ea.set_day_note(today, new_content) @@ -141,7 +146,7 @@ async def handle_text_to_inbox(message: Message, state: FSMContext): lines = text.split("\n", 1) title = lines[0][:100] # заголовок = первая строка content = lines[1] if len(lines) > 1 else "" # остальное — тело заметки - timestamp = datetime.now().strftime("%Y-%m-%d %H:%M") + timestamp = datetime.now(tz).strftime("%Y-%m-%d %H:%M") # title = text[:50] + "..." if len(text) > 50 else text try: