Commit 757ca8c
Changed files (4)
src/llm/summary.py
@@ -140,7 +140,7 @@ async def ai_summary(client: Client, message: Message, summary_prefix: str | Non
offset_id = 0
if message.reply_to_message:
offset_id = message.reply_to_message.id + 1 # include the reply message
- end_time = message.date.replace(tzinfo=ZoneInfo(TZ)) if isinstance(message.date, datetime) else nowdt(TZ)
+ end_time = message.date.astimezone(ZoneInfo(TZ)) if isinstance(message.date, datetime) else nowdt(TZ)
# 3️⃣ /summary #YYYYMMDDHHMMSS @user
# 4️⃣ /summary #YYYYMMDDHHMMSS-YYYYMMDDHHMMSS @user
src/messages/parser.py
@@ -35,7 +35,7 @@ def parse_msg(message: Message, *, silent: bool = False, verbose: bool = False,
media_group_id = glom(message, "media_group_id", default=0) or 0
is_bot = glom(message, "from_user.is_bot", default=False)
text = message.content
- dt = message.date.replace(tzinfo=ZoneInfo(TZ)) if isinstance(message.date, datetime) else nowdt(TZ)
+ dt = message.date.astimezone(ZoneInfo(TZ)) if isinstance(message.date, datetime) else nowdt(TZ)
time = f"{dt:%Y-%m-%d %H:%M:%S}"
message_url = f"https://t.me/{chandle}/{mid}" if chandle else f"https://t.me/c/{slim_cid(cid)}/{mid}"
# parse user attributes
pyproject.toml
@@ -8,22 +8,22 @@ dependencies = [
"cacheout==0.16.0",
"chardet==5.2.0",
"cutword==0.1.1",
- "dashscope==1.24.4",
+ "dashscope==1.24.5",
"feedparser==6.0.12",
"glom==24.11.0",
- "google-genai==1.36.0",
+ "google-genai==1.38.0",
"httpx-curl-cffi==0.1.4",
"httpx[http2,socks]==0.28.1",
"loguru==0.7.3",
"markdown==3.9",
"markitdown[docx,pdf,pptx,xls,xlsx]==0.1.3",
- "openai==1.107.2",
+ "openai==1.108.1",
"orjson==3.11.3",
"pathvalidate==3.3.1",
"pillow-heif==1.1.0",
"pillow>=11.2.1",
"puremagic==1.30",
- "pyrotgfork==2.2.15",
+ "pyrotgfork==2.2.16",
"pysocks==1.7.1",
"pytgcrypto==1.2.11",
"python-ffmpeg",
@@ -35,7 +35,7 @@ dependencies = [
"telegraph[aio]==2.2.0",
"tiktoken==0.11.0",
"uvloop==0.21.0",
- "xmltodict==1.0.0",
+ "xmltodict==1.0.2",
"youtube-transcript-api==1.2.2",
"yt-dlp==2025.9.5",
"zhconv==1.4.3",
uv.lock
@@ -278,22 +278,22 @@ requires-dist = [
{ name = "cacheout", specifier = "==0.16.0" },
{ name = "chardet", specifier = "==5.2.0" },
{ name = "cutword", specifier = "==0.1.1" },
- { name = "dashscope", specifier = "==1.24.4" },
+ { name = "dashscope", specifier = "==1.24.5" },
{ name = "feedparser", specifier = "==6.0.12" },
{ name = "glom", specifier = "==24.11.0" },
- { name = "google-genai", specifier = "==1.36.0" },
+ { name = "google-genai", specifier = "==1.38.0" },
{ name = "httpx", extras = ["http2", "socks"], specifier = "==0.28.1" },
{ name = "httpx-curl-cffi", specifier = "==0.1.4" },
{ name = "loguru", specifier = "==0.7.3" },
{ name = "markdown", specifier = "==3.9" },
{ name = "markitdown", extras = ["docx", "pdf", "pptx", "xls", "xlsx"], specifier = "==0.1.3" },
- { name = "openai", specifier = "==1.107.2" },
+ { name = "openai", specifier = "==1.108.1" },
{ name = "orjson", specifier = "==3.11.3" },
{ name = "pathvalidate", specifier = "==3.3.1" },
{ name = "pillow", specifier = ">=11.2.1" },
{ name = "pillow-heif", specifier = "==1.1.0" },
{ name = "puremagic", specifier = "==1.30" },
- { name = "pyrotgfork", specifier = "==2.2.15" },
+ { name = "pyrotgfork", specifier = "==2.2.16" },
{ name = "pysocks", specifier = "==1.7.1" },
{ name = "pytgcrypto", specifier = "==1.2.11" },
{ name = "python-ffmpeg", url = "https://github.com/chadawagner/python-ffmpeg/archive/4614d8b7939679ea4d6ae9c32241d7607e2b136c.zip" },
@@ -305,7 +305,7 @@ requires-dist = [
{ name = "telegraph", extras = ["aio"], specifier = "==2.2.0" },
{ name = "tiktoken", specifier = "==0.11.0" },
{ name = "uvloop", specifier = "==0.21.0" },
- { name = "xmltodict", specifier = "==1.0.0" },
+ { name = "xmltodict", specifier = "==1.0.2" },
{ name = "youtube-transcript-api", specifier = "==1.2.2" },
{ name = "yt-dlp", specifier = "==2025.9.5" },
{ name = "zhconv", specifier = "==1.4.3" },
@@ -675,7 +675,7 @@ wheels = [
[[package]]
name = "dashscope"
-version = "1.24.4"
+version = "1.24.5"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "aiohttp" },
@@ -685,7 +685,7 @@ dependencies = [
{ name = "websocket-client" },
]
wheels = [
- { url = "https://files.pythonhosted.org/packages/8f/bc/b8d6ada59f40d7bca184b4dc4d9489c00b20bae937503ed6c5ddb7e7c95b/dashscope-1.24.4-py3-none-any.whl", hash = "sha256:e4a8f39784784bc329c38f847dd1e20cdc8f28620ed620403c06d3009371ec1a", size = 1309467, upload-time = "2025-09-08T06:20:28.009Z" },
+ { url = "https://files.pythonhosted.org/packages/12/32/2fbbb19df59c6f9300cc5a9bcab0edc71f9128c7fc4af071e62c77e0449b/dashscope-1.24.5-py3-none-any.whl", hash = "sha256:9e23366b389c7ee3945a6bfdc774009f687eb0e85f6e23c38b2c6b9a254d80da", size = 1309864, upload-time = "2025-09-16T03:49:55.299Z" },
]
[[package]]
@@ -873,7 +873,7 @@ wheels = [
[[package]]
name = "google-genai"
-version = "1.36.0"
+version = "1.38.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "anyio" },
@@ -885,9 +885,9 @@ dependencies = [
{ name = "typing-extensions" },
{ name = "websockets" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/11/31/e4f6a049ce92ee4a961c37727c9c8ea68f3ab72f2a1880abc7dc309ea670/google_genai-1.36.0.tar.gz", hash = "sha256:6501f18cbf44488becab6fbff09529ff77e856f1baa65d55686261e4677cec3f", size = 243681, upload-time = "2025-09-10T23:22:07.672Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/b4/11/108ddd3aca8af6a9e2369e59b9646a3a4c64aefb39d154f6467ab8d79f34/google_genai-1.38.0.tar.gz", hash = "sha256:363272fc4f677d0be6a1aed7ebabe8adf45e1626a7011a7886a587e9464ca9ec", size = 244903, upload-time = "2025-09-16T23:25:42.577Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/a1/7a/61a9a98d09bc507d1c7e089a65b260cafd22f62b250d8e34acacc996f01d/google_genai-1.36.0-py3-none-any.whl", hash = "sha256:bd48d800547cb90e40648178620c89474807305b03f6cd147fb3cc7faab27670", size = 244345, upload-time = "2025-09-10T23:22:06.349Z" },
+ { url = "https://files.pythonhosted.org/packages/53/6c/1de711bab3c118284904c3bedf870519e8c63a7a8e0905ac3833f1db9cbc/google_genai-1.38.0-py3-none-any.whl", hash = "sha256:95407425132d42b3fa11bc92b3f5cf61a0fbd8d9add1f0e89aac52c46fbba090", size = 245558, upload-time = "2025-09-16T23:25:41.141Z" },
]
[[package]]
@@ -1507,7 +1507,7 @@ wheels = [
[[package]]
name = "openai"
-version = "1.107.2"
+version = "1.108.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "anyio" },
@@ -1519,9 +1519,9 @@ dependencies = [
{ name = "tqdm" },
{ name = "typing-extensions" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/a0/66/61b0c63b68df8a22f8763d7d632ea7255edb4021dca1859f4359a5659b85/openai-1.107.2.tar.gz", hash = "sha256:a11fe8d4318e98e94309308dd3a25108dec4dfc1b606f9b1c5706e8d88bdd3cb", size = 564155, upload-time = "2025-09-12T19:52:21.159Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/25/7a/3f2fbdf82a22d48405c1872f7c3176a705eee80ff2d2715d29472089171f/openai-1.108.1.tar.gz", hash = "sha256:6648468c1aec4eacfa554001e933a9fa075f57bacfc27588c2e34456cee9fef9", size = 563735, upload-time = "2025-09-19T16:52:20.399Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/d3/65/e51a77a368eed7b9cc22ce394087ab43f13fa2884724729b716adf2da389/openai-1.107.2-py3-none-any.whl", hash = "sha256:d159d4f3ee3d9c717b248c5d69fe93d7773a80563c8b1ca8e9cad789d3cf0260", size = 946937, upload-time = "2025-09-12T19:52:19.355Z" },
+ { url = "https://files.pythonhosted.org/packages/38/87/6ad18ce0e7b910e3706480451df48ff9e0af3b55e5db565adafd68a0706a/openai-1.108.1-py3-none-any.whl", hash = "sha256:952fc027e300b2ac23be92b064eac136a2bc58274cec16f5d2906c361340d59b", size = 948394, upload-time = "2025-09-19T16:52:18.369Z" },
]
[[package]]
@@ -2132,15 +2132,15 @@ wheels = [
[[package]]
name = "pyrotgfork"
-version = "2.2.15"
+version = "2.2.16"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "pyaes" },
{ name = "pysocks" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/ea/9f/d309779dc2baf44ed5b254f62efec538289eacc353179a288b5817584094/pyrotgfork-2.2.15.tar.gz", hash = "sha256:b1694fa5bd81e5bdad8bb0a898764e22ebc5ca269bf3b74bb4de47fc2711cddd", size = 515443, upload-time = "2025-08-13T03:11:38.302Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/c6/96/838403028d3af87af238f927affbacad99e4b8e572942b47b09b1daed774/pyrotgfork-2.2.16.tar.gz", hash = "sha256:980fbcec0b7f2ccade4d770b1f84cab1199cd2cff56d9c15149a5e8cd9e8c833", size = 519619, upload-time = "2025-09-18T06:55:48.433Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/7b/72/a2dd7af43bc95eb65cdb892ad4da4ae26d5ad9dfb0403f513cb27ce679cd/pyrotgfork-2.2.15-py3-none-any.whl", hash = "sha256:c5033d3c6e88db2e2e4d90f286e845f027598cee6317419e494c697f5b4d0fcb", size = 5073737, upload-time = "2025-08-13T03:11:36.179Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/0c/b0f57fb41d65358ce360420df301b72801d6672bcd65ee5a22e73e605ca4/pyrotgfork-2.2.16-py3-none-any.whl", hash = "sha256:33e5b24601d7c2cb6ed801d14038949f83d4af1ae574b2786dd855964b741f2d", size = 5144747, upload-time = "2025-09-18T06:55:46.459Z" },
]
[[package]]
@@ -2849,11 +2849,11 @@ wheels = [
[[package]]
name = "xmltodict"
-version = "1.0.0"
+version = "1.0.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/8b/79/1b8215b967eb66b92ba323a2d70ff820188b5dd18c8975326fa06e7d50ef/xmltodict-1.0.0.tar.gz", hash = "sha256:f50eb9020d28c673b40bbe3f43458ee165f0267c67f8ad8df0d70d9a4f3ac824", size = 71681, upload-time = "2025-09-12T18:48:45.93Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/6a/aa/917ceeed4dbb80d2f04dbd0c784b7ee7bba8ae5a54837ef0e5e062cd3cfb/xmltodict-1.0.2.tar.gz", hash = "sha256:54306780b7c2175a3967cad1db92f218207e5bc1aba697d887807c0fb68b7649", size = 25725, upload-time = "2025-09-17T21:59:26.459Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/89/e1/719fc59777227614641f3103964c58c6c10203c72633ef0d5cdcb2d7f676/xmltodict-1.0.0-py3-none-any.whl", hash = "sha256:64316adb5e30ca21ad5cf391f4f0f6b34f673d96b79574f1db1e32b13b43ee34", size = 13292, upload-time = "2025-09-12T18:48:44.544Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/20/69a0e6058bc5ea74892d089d64dfc3a62ba78917ec5e2cfa70f7c92ba3a5/xmltodict-1.0.2-py3-none-any.whl", hash = "sha256:62d0fddb0dcbc9f642745d8bbf4d81fd17d6dfaec5a15b5c1876300aad92af0d", size = 13893, upload-time = "2025-09-17T21:59:24.859Z" },
]
[[package]]