Este bot de Telegram recibe archivos de diferentes canales y los envía a directorios específicos en un servidor WebDAV según el canal de origen.
- Procesa documentos, videos, fotos y archivos de audio de canales de Telegram
- Envía los archivos a directorios específicos en un servidor WebDAV
- Mapeo configurable de canales a directorios
- Permite a usuarios autorizados enviar archivos directamente al bot
- Interfaz interactiva para seleccionar directorios de destino
- Opción para crear nuevos directorios sobre la marcha
- Fácil de implementar con Docker
- Token de bot de Telegram (obtenido de @BotFather)
- Acceso a un servidor WebDAV (como Nextcloud, ownCloud, etc.)
- Docker y Docker Compose instalados en su servidor
Para obtener el ID de un canal o usuario, puedes:
- Reenviar un mensaje del canal/usuario a @userinfobot
- O usar un bot como @username_to_id_bot
Los IDs de canales suelen ser números negativos (ej. -1001234567890).
Los IDs de usuarios son números positivos (ej. 123456789).
Edita el archivo docker-compose.yml y actualiza las siguientes variables:
TELEGRAM_BOT_TOKEN: Tu token de bot de TelegramWEBDAV_HOSTNAME: URL de tu servidor WebDAVWEBDAV_USERNAME: Usuario de WebDAVWEBDAV_PASSWORD: Contraseña de WebDAVCHANNEL_MAPPINGS: Mapeo de canales a directorios en formatoCANAL_ID:/directorio, OTRO_CANAL_ID:/otro_directorioAUTHORIZED_USERS: Lista de IDs de usuarios autorizados a enviar archivos directamente al bot, separados por comas
Ejemplo:
environment:
- TELEGRAM_BOT_TOKEN=5412345678:AAHxyz123abc456def789ghi0jklmnopqrs
- WEBDAV_HOSTNAME=https://cloud.ejemplo.com/remote.php/dav/files/usuario/
- WEBDAV_USERNAME=usuario
- WEBDAV_PASSWORD=contraseña_segura
- CHANNEL_MAPPINGS=-1001234567890:/documentos, -1009876543210:/videos
- AUTHORIZED_USERS=123456789, 987654321- Añade el bot a los canales de los que deseas recibir archivos
- Asegúrate de darle permiso de administrador para acceder a los mensajes
- Clona este repositorio
- Configura las variables de entorno como se explicó anteriormente
- Ejecuta el bot con Docker Compose:
docker-compose up -dPara ver los logs:
docker-compose logs -fLos usuarios autorizados pueden enviar archivos directamente al bot y elegir dónde guardarlos:
- Envía un archivo (documento, foto, video o audio) al bot
- El bot te preguntará dónde quieres guardarlo
- Selecciona un directorio existente o crea uno nuevo
/start- Iniciar el bot con mensaje de bienvenida/help- Mostrar ayuda e información sobre canales configurados/list- Listar todos los directorios disponibles/cancel- Cancelar la operación actual durante la selección de directorio
- Documentos (cualquier archivo compartido como documento)
- Videos
- Fotos
- Archivos de audio
docker-compose logs -f- Asegúrate de que el bot sea administrador en los canales
- Verifica que los IDs de los canales estén correctamente configurados
- Verifica la URL, usuario y contraseña de WebDAV
- Asegúrate de que las carpetas destino existan o tengas permisos para crearlas