Un bot de Telegram en Python que recibe archivos PDF y los imprime automáticamente en una impresora compartida en red.
Pensado para impresoras antiguas USB conectadas a una Mac usando Printer Sharing.
- Recibe archivos PDF enviados a través de Telegram.
- Guarda los archivos localmente en tu computadora.
- Envía automáticamente el PDF a una impresora en red usando
lp. - Configurable mediante variables de entorno.
- Funciona en Linux y macOS (Windows requiere pequeño ajuste).
En macOS, Printer Sharing (Compartir impresora) es una función que permite que una impresora conectada por USB a tu Mac pueda ser usada por otros dispositivos en la misma red como si fuera una impresora de red.
Cuando activas esta opción:
- macOS expone la impresora mediante el protocolo IPP (Internet Printing Protocol).
- Cualquier computadora o dispositivo en la red local (WiFi o cableada) puede enviar trabajos de impresión hacia esa impresora a través de la Mac.
- Ideal para impresoras antiguas que no tienen WiFi (como la mía).
- Conectá la impresora a tu Mac y verificá que imprime correctamente.
- Andá a Menú → Preferencias del Sistema → Impresoras y Escáneres.
- Seleccioná tu impresora en la lista.
- Marcá la opción Compartir esta impresora en la red.
- Andá a Menú → Preferencias del Sistema → Compartir.
- Activá Compartir impresoras (Printer Sharing).
- Anotate:
- El nombre de la impresora que aparece en la configuración.
- La dirección IP de la Mac (Preferencias de Red).
-
En macOS:
- Abrí Preferencias de Impresoras y Escáneres.
- Pulsá + para agregar impresora.
- Buscá en Red la impresora compartida.
-
En Linux (CUPS):
- Abrí en el navegador:
http://localhost:631. - Agregá impresora → IPP.
- URL:
ipp://IP_DE_LA_MAC/printers/NOMBRE_DE_IMPRESORA
- Abrí en el navegador:
-
En Windows:
- Andá a Panel de control → Dispositivos e impresoras → Agregar impresora.
- Seleccioná Agregar impresora de red.
- Dirección:
http://IP_DE_LA_MAC:631/printers/NOMBRE_DE_IMPRESORA
-
Windows → Printer Sharing está en:
Panel de control → Dispositivos e impresoras → Clic derecho en impresora → Propiedades → Compartir. -
Linux (CUPS) → Se habilita desde:
http://localhost:631 → Administración → Compartir esta impresora.
- Python 3.10+
- Una impresora compartida en red (Printer Sharing en macOS o equivalente en tu SO).
- Acceso a la API de Telegram (token desde BotFather).
- Tener configurado el comando
lpen tu sistema para imprimir.
git clone https://github.com/TU_USUARIO/telegram-printer-bot.git
cd telegram-printer-bot
pip install -r requirements.txt- Renombrá el archivo .env.example a .env:
- Editalo:
TOKEN=TU_TOKEN_DE_BOTFATHER PRINTER_NAME=Nombre_de_tu_impresora
python3 bot.py