45 lines
892 B
Markdown
45 lines
892 B
Markdown
# sticker-cloner — Telegram Sticker Cloner
|
|
|
|
Telegram bot that clones sticker packs. Built with Python (FastAPI + uvicorn).
|
|
|
|
## Stack
|
|
|
|
- **Backend:** Python 3.14, FastAPI, uvicorn, tstickers, Pillow
|
|
- **Bot:** python-telegram-bot
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
backend/
|
|
├── src/ ← FastAPI application
|
|
├── requirements.txt
|
|
├── deploy.sh
|
|
└── .env.example
|
|
```
|
|
|
|
## Local Development
|
|
|
|
```bash
|
|
cd backend
|
|
python -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
uvicorn src.main:app --reload --port 8080
|
|
```
|
|
|
|
## Deployment
|
|
|
|
```bash
|
|
cd backend
|
|
./deploy.sh
|
|
```
|
|
|
|
Deploys to Uberspace (`serve.uber.space`):
|
|
- Backend → `~/services/sticker-cloner/` (systemd: `sticker-cloner.service`, port 8080)
|
|
- Route: `/sticker-cloner/*` → port 8080 (prefix removed)
|
|
|
|
## Environment Variables
|
|
|
|
See `.env.example`:
|
|
- `BOT_TOKEN` — Telegram bot API token
|