Commit Graph

9 Commits

Author SHA1 Message Date
5ba5710db2 feat: daemon con bot de Telegram, killswitch y servicio systemd
Pasa de un cron ciego a un servicio en segundo plano. El killswitch lo exige:
para poder cancelar un fichaje pendiente desde el movil tiene que haber un
proceso escuchando durante la espera.

- daemon: bucle propio que duerme exactamente hasta el siguiente evento, con
  precision de decimas. No usa JobQueue de PTB porque APScheduler 3.6 importa
  pkg_resources, que ya no existe en Python 3.13; ademas asi no se añade una
  dependencia. Recupera fichajes perdidos si el equipo estuvo apagado.
- bot: /hoy /saldo /plan /fichar /desfichar /off /on /pausa /reanudar /log.
  Los comandos se registran con setMyCommands para que salgan en el menu del
  chat. Solo atiende al chat_id configurado.
- killswitch: aviso 12 min antes con teclado inline (cancelar / +15 min /
  fichar ya).
- Google Calendar queda solo para ausencias personales; festivos y vacaciones
  salen del calendario de Timenet.
- deploy/autoficher.service: unidad de usuario endurecida (ProtectSystem
  strict, escritura solo en el propio directorio), Restart=always.
- requirements: python-telegram-bot >= 22. La 20.5 tiene un bug de __slots__
  en Updater que rompe el polling en Python 3.13.
- .gitignore: data/, *.db, .env, __pycache__ en cualquier nivel.

tools/test_daemon.py cubre con reloj simulado y sin red: plan, aviso previo,
fichaje a su hora, killswitch, retraso de 15 min, pausa, recuperacion tras
apagon, fallo de red y dia no laborable. 19 comprobaciones.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-24 18:51:46 +02:00
88b56a78a0 requirements
Signed-off-by: omar <admin@pribyte.cloud>
2026-09-06 22:34:42 +02:00
omar
fbfcf8fec0 remove venv 2026-03-27 01:23:39 +01:00
8123de824e fixes y calendario de google holidays desactivado
Signed-off-by: Omar Sánchez Pizarro <admin@pribyte.cloud>
2025-09-04 14:13:57 +02:00
Omar Sánchez Pizarro
d09c66b125 particionado 2023-10-09 14:13:36 +02:00
Omar Sánchez Pizarro
73dc43a193 google calendar
Signed-off-by: Omar Sánchez Pizarro <omar.sanchez@pistacero.net>
2022-10-25 13:10:55 +02:00
Omar Sánchez
51a2c1153e add requirements 2021-10-14 12:52:18 +02:00
Omar Sánchez
025355b9d2 update requirements y solución a mensajes de reporte 2021-10-13 17:46:25 +02:00
Omar Sánchez
d23038c3c5 Final version 2021-10-05 09:59:14 +02:00