Commit Graph
18 Commits
Author SHA1 Message Date
MythEclipse fd5eb98586 feat: implement caching for file info, add rate limiting, and enhance upload handling with retry logic 2026-05-21 23:31:49 +07:00
MythEclipse 10c968cf01 feat: add file_hash column and related index to files table; refactor Telegram API utilities for improved file handling 2026-05-21 22:55:42 +07:00
MythEclipse 52340ee77d feat: enhance file upload handling with improved file detection, size limits, and response formatting 2026-05-21 22:31:55 +07:00
MythEclipse d58b2390ef refactor: remove concurrency limit from Telegram upload queue and enhance media group handling 2026-05-18 21:54:39 +07:00
MythEclipse b91b276214 feat: add support for batch uploads of media groups to Telegram with debounce handling 2026-05-18 21:31:20 +07:00
MythEclipse 0bc12651db fix: clean up logger info message formatting and remove unused import in rate limit tests 2026-05-18 21:19:38 +07:00
MythEclipse 825e969569 feat: implement multi-bot support for Telegram API with rate limit handling and add task queue for uploads 2026-05-18 21:18:16 +07:00
MythEclipse 721fa3db7d feat: implement auto-retry for Telegram API requests on error 429 and update documentation 2026-05-18 21:02:38 +07:00
MythEclipseandClaude Opus 4.7 525348b1f3 fix: make forwardToStorage fully dynamic based on fileType
- Replace forceDocument boolean with fileType string in forwardToStorage
- Dynamically call matching sendPhoto, sendAudio, sendVideo, sendVoice, sendAnimation, sendSticker, or sendDocument Telegraf API method
- Correctly extract uploaded file details based on what Telegram returned
- Fixes IMAGE_PROCESS_FAILED 500 error when uploading ogg audio, video, sticker, or voice notes via HTTP
- Update upload.ts, bot.ts, and test suites to match the new dynamic signature

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 19:52:46 +07:00
MythEclipseandClaude Opus 4.7 4e805689c1 feat: extend file type classification and implement computeHash
- Add sticker (webp) and video_note to classification mapping and file limits
- Handle unknown mime or caption fallback to document
- Implement computeHash utility using Bun.CryptoHasher for sha256 checksums
- Update and add comprehensive tests in file.test.ts

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 19:38:12 +07:00
MythEclipse 3d2500ed7f fix: auto-append file extension based on magic bytes or mime type if missing 2026-05-18 09:20:03 +07:00
MythEclipse 91986d1d51 fix: upload binary files to Telegram with source payload 2026-05-18 08:18:55 +07:00
MythEclipse cf79a1f195 style: format and lint codebase using Biome v2 2026-05-18 07:29:01 +07:00
MythEclipse 3f4e697733 feat: migrate entire codebase to TypeScript 2026-05-18 07:27:06 +07:00
MythEclipseandClaude Opus 4.7 1e29433d5d feat: add Telegram API utilities
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 07:06:21 +07:00
MythEclipseandClaude Opus 4.7 b621a73ca9 feat: add file validation utilities
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 07:02:14 +07:00
MythEclipseandClaude Opus 4.7 db71f29288 feat: add in-memory rate limiter
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 07:01:32 +07:00
MythEclipseandClaude Opus 4.7 77032538e8 feat: add Winston logger setup
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 06:53:33 +07:00