github dgongut/dropbot v4.0.0

one hour ago

DropBot v4.0.0

⚠️ Antes de actualizar

  • Añade un volumen en /config. Ahí se guardan los ajustes. Sin él se pierden al recrear el contenedor (el bot te lo recuerda al arrancar).
        volumes:
          - /ruta/para/la/configuracion:/config
  • No pierdes nada de tu configuración: en el primer arranque se importan a /settings los valores de LANGUAGE, PARALLEL_DOWNLOADS, FAST_CONNECTIONS, AUTO_DOWNLOAD_FORMAT, AUTO_SEND, FFMPEG_HW y FFMPEG_QUALITY. A partir de ahí esas variables ya no se leen y el log te dice cuáles puedes borrar. En el compose solo hacen falta TELEGRAM_TOKEN, TELEGRAM_ADMIN, TELEGRAM_API_HASH y TELEGRAM_API_ID.
  • Los FILTER_* desaparecen: un tipo de fichero va a su carpeta (/video, /audio, /photo, /torrent, /ebook, /url_video, /url_audio) si la montas como volumen, y si no a /downloads. Si tenías un FILTER_*=1 sin montar su carpeta, esos ficheros se quedaban dentro del contenedor y se perdían al actualizar: ahora van a /downloads.
  • Lo que bajas de enlaces se pide en H.264 y AAC, que Telegram reproduce sin convertir. Se envía mucho antes, pero un 4K de YouTube llega en 1080p. Si prefieres lo de antes: /settings → Enlaces → Calidad → Preferir compatible con Telegram.

✨ Novedades

  • /settings: todo se ajusta desde el propio bot, sin reiniciar. Idioma, qué hacer con los enlaces y con lo descargado, descargas simultáneas, conexiones por fichero, encoder y calidad de la conversión, y más. Los cambios se aplican al momento.
  • Calidad de los enlaces: resolución máxima (de 360p a 2160p, o la máxima), preferir vídeo compatible con Telegram, MP3 o M4A sin recodificar, calidad del MP3, y título, artista y carátula dentro del audio.
  • SponsorBlock: quita de los vídeos de YouTube los patrocinios, la autopromoción o todo lo que no es contenido.
  • Playlists: preguntar, bajarlas siempre enteras o quedarse siempre con el primer vídeo, con un tope de vídeos.
  • Tamaño máximo de descarga: lo que pase de él no se baja, y el bot te lo dice.
  • Tras descomprimir desde /manage: preguntar, borrar el comprimido (con todas sus partes) o conservarlo.
  • /list video (o audio, photo, torrent, ebook) va directo a esa categoría.
  • 📁 Carpetas propias en /settings muestra a dónde va cada tipo de fichero.
  • Estadísticas anónimas. Una vez al día el bot envía unas cifras anónimas para saber cuánta gente lo usa y qué funciones se usan más. Son públicas y de todos: puedes verlas aquí, junto con qué se recoge exactamente. Nunca salen nombres de ficheros, enlaces, rutas ni IDs, y tu IP no se guarda. Se desactivan desde /settings → Estadísticas anónimas o con TELEMETRY=false, y con Ver qué se envía ves exactamente lo que saldría.
  • README en inglés.

🐛 Correcciones

  • Un enlace con texto detrás («https://youtu.be/… mira esto») ya no hace fallar la descarga.
  • Si fallaba el aviso de «Descarga completada», el fichero se volvía a descargar y quedaban varias copias.
  • Ante un error definitivo, la descarga ya no se queda para siempre en «Descargando…»: te avisa y limpia el temporal.
  • Dos ficheros con el mismo nombre recibidos a la vez ya no se pisan.
  • Las notas de voz van a la carpeta de audio.
  • Los .m4v, .ts, .3gp y .mpeg se envían como vídeo, no como documento.
  • La conversión da siempre H.264 4:2:0 de 8 bits, también con vídeos 4:4:4, de 10 bits o de dimensiones impares, que antes salían sin poder reproducirse.
  • Los MP3 y M4A se envían con su duración y barra de reproducción.
  • Miniaturas también en vídeos de menos de 3 s, y sin pasarse de 320 px en los verticales.
  • /list video y otros comandos con argumentos ya no se quedan sin respuesta.
  • Las URL que acaban en .html pasan por yt-dlp en vez de descargarse como un fichero.
  • Los nombres de fichero de Content-Disposition codificados (filename*=UTF-8''…) se descargan con su nombre real.
  • Un doble clic en los botones de formato o de playlist ya no tapa el progreso con «solicitud expirada».
  • Una playlist entera de la que solo se baja un vídeo avisa de los que faltan.
  • /manage:
    • Cancelar un renombrado lo cancela de verdad, y contestar a una petición concreta renombra ese fichero y no otro.
    • Borrar un RAR ya no se lleva otros ficheros que empiezan igual (serie2.rar, serie - extras.rar…).
    • Los ZIP partidos se detectan, los RAR conservan las mayúsculas en su carpeta y los .tar.gz ya no se extraen en una carpeta .tar.
    • Al descomprimir, el resultado llega al momento: antes tardaba siempre al menos 10 segundos.
  • Los nombres con comilla invertida se ven enteros, y los listados con muchos emoji ya no se pasan del límite de Telegram.
  • Textos que salían en español con el bot en inglés, y fallos de concordancia («Carpeta eliminado»…).
  • Con TELEGRAM_ADMIN="111, 222" el segundo administrador ya tiene acceso.
  • Las transferencias rápidas ya no se cuelgan con una parte vacía ni dejan conexiones abiertas al fallar.

🐳 Docker

  • La imagen declara cuándo y de qué commit se construyó (org.opencontainers.image.created y revision).
  • tty: true ya no hace falta.

🔧 Interno

  • 1.593 tests (cobertura del 98 %), que ejercitan ffmpeg, unrar, yt-dlp y wget de verdad o simulados. La CI instala ffmpeg y unrar.
  • Dependencias al día: mutagen 1.48.1 (carátulas en M4A), pyflakes 4.0.2, pytest-cov 7.1.0, y el cliente de estadísticas desde dgongut/telemetry.

Full Changelog: v3.6.3...v4.0.0

Don't miss a new dropbot release

NewReleases is sending notifications on new releases.