ea48e8fc037a1c1b0b0a91899ba58c84aad1a845
- manage-bucket.ts: extract bucket CRUD logic with validation (createListBuckets, createGetBucket, createCreateBucket, createDeleteBucket, createBucketExists) - s3-object.ts: extract S3 object operations (createGetObject, createHeadObject, createPutObject, createCopyObject, createDeleteObject, createDeleteObjects, createListObjects, createFindObject) - multipart-upload.ts: extract S3 multipart upload logic (createInitiateMultipartUpload, createUploadPart, createCompleteMultipartUpload, createAbortMultipartUpload, createListMultipartUploads, createListParts) All use cases follow the existing factory function pattern with dependency injection via repository/telegram service interfaces. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Telegram Bot Uploader Backend
Backend production-ready untuk upload file ke Telegram yang tersimpan di private channel.
Setup
- Install PostgreSQL database
- Buat database:
createdb telegram_uploader - Setup environment:
cp .env.example .env - Edit
.envdengan nilai yang sesuai - Create table:
bun run db:migrate - Install dependencies:
bun install
Telegram Private Channel Setup
- Buat private channel Telegram
- Tambah bot sebagai admin di channel
- Dapatkan
STORAGE_CHANNEL_ID(misalnya -1001234567890)
Running
bun run dev # Development mode
bun run start # Production mode
API Endpoints
POST /api/upload- Upload fileGET /f/:public_id- Download redirectGET /file/:public_id/info- File metadataGET /health- Health check
FAQ
URL permanen maksudnya apa?
URL backend tetap permanen: https://tele.asepharyana.my.id/f/{public_id}
Ini berarti URL service Anda fix, bukan jaminan file Telegram abadi.
Testing
Gunakan bot Telegram untuk upload, atau upload API langsung via HTTP.
Languages
TypeScript
89.5%
HTML
8%
Shell
1.8%
Nix
0.5%
Dockerfile
0.2%