Repositorio con automatización para que fichar en sesame automáticamente.
| .dockerignore | ||
| __init__.py | ||
| Dockerfile | ||
| fichar.py | ||
| main.py | ||
| README.md | ||
| requirements.txt | ||
| variables.py | ||
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