From 1b568a5ac6cf90d5005985fd1eb85769c2becb6b Mon Sep 17 00:00:00 2001 From: Dmitry <124861781+ada-dmitry@users.noreply.github.com> Date: Sat, 13 Dec 2025 09:10:57 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D0=BE=D0=B9=20=D0=BE=D0=BA=D1=80=D1=83=D0=B6?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20TIMEZONE=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=80=D1=80=D0=B5=D0=BA=D1=82=D0=BD=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D0=BE=D0=BF=D1=80=D0=B5=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D0=BE?= =?UTF-8?q?=D0=B9=20=D0=B7=D0=BE=D0=BD=D1=8B=20=D0=B2=20=D0=BE=D0=B1=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B5=20=D0=B4=D0=B0=D1=82=20?= =?UTF-8?q?=D0=B8=20=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 1 + main.py | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) 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: