feat: initial implementation of uptodownbot

Telegram bot for downloading media from any site using yt-dlp.
Supports audio/video/both, quality selection, language picker,
container format selection, playlist pagination, progress updates,
per-user quotas, user preferences, download history, cancel at any step,
polling and webhook modes, proxy support, and SQLite persistence.
This commit is contained in:
2026-06-25 14:22:48 +03:30
commit 05fcdf7458
26 changed files with 3302 additions and 0 deletions

38
Makefile Normal file
View File

@@ -0,0 +1,38 @@
BINARY=uptodown-bot
BUILD_DIR=.build
.PHONY: all build run test clean fmt tidy vet check docker docker-run
all: build test check
build:
go build -o $(BUILD_DIR)/$(BINARY) ./cmd/bot/
run: build
$(BUILD_DIR)/$(BINARY)
run-dev:
go run ./cmd/bot/
test:
go test ./...
fmt:
go fmt ./...
tidy:
go mod tidy
vet:
go vet ./...
check: fmt vet
clean:
rm -rf $(BUILD_DIR)
docker:
docker compose build
docker-run: docker
docker compose up -d