Skip to content

Este repositorio es una implementacion de un microservicio que se conecta a un bot de telegram para convertir video de youtube a mp3

Notifications You must be signed in to change notification settings

Pastranauwu/API_Telegram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Convertidor MP3 Telegram + FastAPI

Convierte videos de YouTube a MP3 y responde por Telegram. Incluye API FastAPI con webhook y endpoint de descargas.

Estructura

/
├─ app/
│  ├─ Dockerfile
│  ├─ requirements.txt
│  ├─ main.py
│  ├─ utils.py
│  └─ README.md
├─ docker-compose.yml
├─ .env.example
└─ README.md

Puesta en marcha

  1. Copia variables:

    cp .env.example .env
    # edita .env y coloca tu TELEGRAM_BOT_TOKEN, WEBHOOK_HOST y DOWNLOAD_BASE_URL
  2. Construye y levanta:

    docker-compose up --build
  3. Registra el webhook en Telegram:

    # Reemplaza TOKEN y HOST
    curl -sS -X POST "https://api.telegram.org/botTOKEN/setWebhook?url=HOST/webhook/TOKEN" | jq
  4. Desarrollo local con ngrok (opcional):

    ngrok http 8000
    # Usa la URL https de ngrok como HOST y vuelve a registrar el webhook

Uso

  • Envía un mensaje al bot con una URL de YouTube. El bot:
    • Descarga el audio con yt-dlp
    • Convierte a MP3 con ffmpeg
    • Si < 50MB: te envía el MP3
    • Si >= 50MB: te envía un enlace de descarga /downloads/{filename}

Notas y seguridad

  • Telegram limita documentos a ~50MB.
  • El webhook valida el token a través de la ruta. Protege tu token y usa HTTPS.
  • Considera límites de tasa y limpieza de archivos antiguos en media.

Mejoras sugeridas

  • Redis + RQ/Celery para cola de trabajos.
  • S3/GCS para almacenamiento robusto.
  • Autenticación o enlaces firmados para descargas.

About

Este repositorio es una implementacion de un microservicio que se conecta a un bot de telegram para convertir video de youtube a mp3

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published