Repositorio con automatización para que fichar en sesame automáticamente.
Find a file
2025-12-15 16:43:40 +00:00
.dockerignore Docker support 2025-12-15 16:30:00 +00:00
__init__.py First commit 2025-12-15 16:16:20 +00:00
Dockerfile Update Dockerfile 2025-12-15 16:43:40 +00:00
fichar.py First commit 2025-12-15 16:16:20 +00:00
main.py First commit 2025-12-15 16:16:20 +00:00
README.md First commit 2025-12-15 16:16:20 +00:00
requirements.txt First commit 2025-12-15 16:16:20 +00:00
variables.py Add variables 2025-12-15 16:17:16 +00:00

Sesame Auto-Fichaje

Fichaje automático en Sesame Time con geolocalización simulada.

Requisitos

pip3 install playwright mysql-connector-python requests
python3 -m playwright install chromium

Configuración

Editar variables.py:

# Credenciales Sesame
EMAIL = "tu@email.com"
PASSWORD = "tu_password"

# Geolocalización (coordenadas de tu oficina)
LATITUDE = 36.6599
LONGITUDE = -4.7596

# MySQL (usa misma BD que Bizneo)
MYSQL_CONFIG = { ... }

# Telegram (opcional)
TELEGRAM_BOT_TOKEN = "..."
TELEGRAM_CHAT_ID = "..."

Uso Manual

cd sesame

# Fichar entrada
python3 fichar.py

# Fichar salida
python3 fichar.py out

# Ver navegador (debug)
SESAME_HEADLESS=0 python3 fichar.py

Uso Automático

El script main.py gestiona fichajes según:

  • Calendario laboral (tabla calendario)
  • Configuración de horarios (tabla config_fichaje)
  • Registro de fichajes (tabla fichajes)
python3 main.py

Cron (cada minuto)

crontab -e
* * * * * cd /ruta/a/sesame && python3 main.py >> /var/log/sesame.log 2>&1

Base de Datos

Usa las mismas tablas que Bizneo:

Tabla Descripción
calendario Días laborables y festivos
config_fichaje Horarios y márgenes
fichajes Registro de entradas/salidas
fail_log Fallos diarios (evita reintentos infinitos)

Config por defecto

  • Entrada base: 09:00 (±10 min aleatorio)
  • Jornada: 540-560 min (9h - 9h20m)
  • Margen salida: 0-15 min extra

Alertas Telegram

Notifica errores automáticamente si configuras el bot.

Estructura

sesame/
├── variables.py   # Configuración
├── main.py        # Lógica automática
├── fichar.py      # Fichaje manual
└── README.md