Добавлено использование переменной окружения TIMEZONE для корректного определения временной зоны в обработке дат и времени
All checks were successful
Deploy bot / build-deploy (push) Successful in 34s
All checks were successful
Deploy bot / build-deploy (push) Successful in 34s
This commit is contained in:
@@ -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 \
|
||||
|
||||
11
main.py
11
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}<p><strong>{timestamp}</strong>: {text}</p>"
|
||||
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:
|
||||
|
||||
Reference in New Issue
Block a user