Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pretalx events bot

Bot che recupera la schedule da un XML generato da Pretalx (es. https://pretalx.endsummer.camp/2k26/schedule/export/schedule.xml) e manda su Telegram, circa 15 minuti prima, il promemoria di ogni evento in arrivo.

Il bot gira come un unico processo con un ciclo interno: ad ogni iterazione riscarica l'XML (per intercettare eventuali modifiche alla schedule durante l'evento), cerca gli eventi che iniziano tra 0 e REMINDER_MINUTES minuti e, per ognuno non ancora notificato, invia un messaggio Telegram. Il guid degli eventi già notificati viene salvato su file (STATE_FILE) per evitare invii duplicati tra un'iterazione e l'altra o dopo un riavvio del container.

Variabili d'ambiente

Variabile Obbligatoria Default Descrizione
TELEGRAM_BOT_TOKEN - Token del bot Telegram (da @BotFather)
TELEGRAM_CHAT_ID - Chat/canale su cui inviare i promemoria
PRETALX_XML_URL no https://pretalx.endsummer.camp/2k26/schedule/export/schedule.xml URL (o file://...) dell'export XML di Pretalx
REMINDER_MINUTES no 15 Quanti minuti prima dell'inizio inviare il promemoria
POLL_INTERVAL_SECONDS no 900 (15 minuti) Ogni quanto ri-scaricare l'XML e ricontrollare gli eventi
STATE_FILE no /data/sent_events.json File dove tenere traccia degli eventi già notificati
ABSTRACT_MAX_LENGTH no 800 Troncamento dell'abstract nel messaggio Telegram
LOG_LEVEL no INFO Livello di logging

Uso locale (senza Docker)

export TELEGRAM_BOT_TOKEN=...
export TELEGRAM_CHAT_ID=...
# opzionale, per testare con lo schedule.xml incluso nel repo invece che scaricarlo:
export PRETALX_XML_URL="file://$(pwd)/schedule.xml"
python3 main.py

Uso con Docker

cp .env.example .env   # e compila token/chat id
docker compose up --build -d

Lo stato degli eventi notificati viene persistito in ./data (montato su /data nel container) grazie al volume dichiarato in docker-compose.yml.

About

fork/continuation of https://codeberg.org/scudo/pretalxeventsbot

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages