Un proyecto que permite conectar WhatsApp y Telegram, reenviando automáticamente mensajes de un canal de Telegram a un canal de WhatsApp.
Este proyecto proporciona una solución para sincronizar mensajes entre plataformas de mensajería, específicamente de Telegram a WhatsApp. Monitorea un canal de Telegram en tiempo real y reenvía automáticamente los mensajes detectados a un canal de WhatsApp especificado.
- Monitoreo en tiempo real de canales de Telegram
- Reenvío automático de mensajes a WhatsApp
- Soporte para mensajes de texto y multimedia (imágenes, videos, documentos, etc.)
- Filtrado de mensajes configurable
- Sistema de logging para seguimiento de actividades
- Manejo de errores y reconexión automática
- Python 3.8 o superior
- Token de Bot de Telegram (obtenido a través de BotFather)
- Cuenta de WhatsApp Business API
- Acceso a Internet
-
Clona este repositorio:
git clone https://github.com/rexodor/telegram-whatsapp-bridge.git cd telegram-whatsapp-bridge -
Instala las dependencias:
pip install -r requirements.txt -
Copia el archivo de configuración de ejemplo y edítalo con tus credenciales:
cp config/config.example.json config/config.json
Edita el archivo config/config.json con la siguiente información:
telegram_token: Tu token de bot de Telegramtelegram_channel_id: ID del canal de Telegram a monitorearwhatsapp_api_key: Tu clave de API de WhatsApp Businesswhatsapp_phone_number_id: ID del número de teléfono de WhatsAppwhatsapp_recipient: Número de teléfono o ID del canal de WhatsApp donde se enviarán los mensajesfilters: Configuración de filtros para los mensajes (palabras clave a ignorar o incluir)
Para iniciar el bridge:
python src/main.py
El programa comenzará a monitorear el canal de Telegram especificado y reenviará automáticamente los mensajes al canal de WhatsApp configurado.
/start: Inicia el reenvío de mensajes/stop: Detiene el reenvío de mensajes/status: Muestra el estado actual del bridge
Para mantener el bridge funcionando continuamente, puedes desplegarlo en un servidor:
-
Crea un archivo de servicio:
sudo nano /etc/systemd/system/telegram-whatsapp-bridge.service -
Añade el siguiente contenido (ajusta las rutas según tu configuración):
[Unit] Description=Telegram WhatsApp Bridge After=network.target [Service] User=yourusername WorkingDirectory=/path/to/telegram-whatsapp-bridge ExecStart=/usr/bin/python3 /path/to/telegram-whatsapp-bridge/src/main.py Restart=always RestartSec=10 [Install] WantedBy=multi-user.target -
Habilita e inicia el servicio:
sudo systemctl enable telegram-whatsapp-bridge sudo systemctl start telegram-whatsapp-bridge
Un Dockerfile está incluido en el repositorio. Para construir y ejecutar:
docker build -t telegram-whatsapp-bridge .
docker run -d --name telegram-whatsapp-bridge telegram-whatsapp-bridge
/telegram-whatsapp-bridge
├── /src # Código fuente
│ ├── telegram.py # Lógica para interactuar con Telegram
│ ├── whatsapp.py # Lógica para interactuar con WhatsApp
│ ├── message_handler.py # Lógica para procesar y reenviar mensajes
│ └── main.py # Punto de entrada del programa
├── /config # Archivos de configuración
│ ├── config.json
│ └── config.example.json
├── /logs # Carpeta para almacenar logs
├── /tests # Pruebas unitarias
├── requirements.txt # Dependencias del proyecto
├── README.md # Documentación del proyecto
├── CONTRIBUTING.md # Guía de contribución
└── LICENSE # Licencia del proyecto (MIT)
Las contribuciones son bienvenidas. Por favor, lee CONTRIBUTING.md para obtener detalles sobre nuestro código de conducta y el proceso para enviarnos pull requests.
Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.
- La API de WhatsApp Business tiene límites de tasa que pueden afectar el reenvío de mensajes en volúmenes altos.
- Algunos tipos de contenido multimedia pueden no ser compatibles entre plataformas.
- El bot de Telegram debe ser administrador del canal para monitorear todos los mensajes.
Consulta los archivos de registro en la carpeta /logs para obtener información detallada sobre cualquier error.
Problemas comunes:
- Error de autenticación: Verifica que tus tokens y credenciales sean correctos.
- Mensajes no enviados: Comprueba los límites de tasa de la API de WhatsApp.
- Bot no responde: Asegúrate de que el bot tenga los permisos adecuados en el canal de Telegram.
Si tienes preguntas o sugerencias, por favor abre un issue en este repositorio.