From afd1ec17099c81a28a71a97cc7b1d73888063391 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Musil?= Date: Tue, 12 May 2026 15:02:45 +0200 Subject: [PATCH] Add README with setup, config and cron instructions Co-Authored-By: Claude Sonnet 4.6 --- README.md | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 73 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e5eb0ad..02c3c9f 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,82 @@ -# ogaracheck +# ogaraCheck -To install dependencies: +Automatické sledování denního menu restaurace Ogarova pizza (Otrokovice) s notifikacemi přes Telegram. + +## Co dělá + +- Každých 15 minut od 8:00 do 14:00 (pracovní dny) načte dnešní menu +- V 10:00 pošle aktuální menu na Telegram (nebo oznámení "dnes menu není") +- Před 10:00 loguje změny v menu do souboru +- Po 10:00 posílá na Telegram textové změny i informace o vyprodaných položkách + +## Instalace ```bash bun install ``` -To run: +## Konfigurace -```bash -bun run index.ts +Vytvoř soubor `config/local.ts` (je gitignored): + +```ts +import type { Config } from "./default" + +const localConfig: Partial = { + days: { + monday: "https://otrokovice-ogarova-pizza.cz/produkty/118_pondeli", + tuesday: "https://otrokovice-ogarova-pizza.cz/produkty/119_utery", + wednesday: "https://otrokovice-ogarova-pizza.cz/produkty/120_streda", + thursday: "https://otrokovice-ogarova-pizza.cz/produkty/121_-ctvrtek", + friday: "https://otrokovice-ogarova-pizza.cz/produkty/122_patek", + }, + telegram: { + botToken: "váš-bot-token", + chatId: "váš-chat-id", + }, + // devMode: true, // ukládá HTTP debug logy do debug/ + // silent: true, // potlačí výstup na stdout + // overrideTime: "10:00", // simuluje čas pro testování +} + +export default localConfig ``` -This project was created using `bun init` in bun v1.3.13. [Bun](https://bun.com) is a fast all-in-one JavaScript runtime. +## Manuální spuštění + +```bash +bun run src/index.ts +``` + +## Cron + +Přidej do `crontab -e` — každých 15 minut od 8:00 do 13:45 v pracovní dny: + +```cron +*/15 8-13 * * 1-5 cd /home/lister/workspace/ogaraCheck && /home/lister/.bun/bin/bun run src/index.ts 2>&1 | systemd-cat -t ogaraCheck +``` + +Sledování logů: + +```bash +journalctl -t ogaraCheck -f +journalctl -t ogaraCheck --since today +``` + +## Struktura projektu + +``` +config/ + default.ts # výchozí konfigurace (commitováno) + local.ts # lokální přepisy — token, URL (gitignored) +src/ + index.ts # vstupní bod, časová logika + fetcher.ts # HTTP klient s cookie jar a dev logováním + parser.ts # cheerio parser + detekce dostupnosti menu + differ.ts # porovnání stavu menu mezi spuštěními + logger.ts # zápis změn do logs/YYYY-MM-DD.log + telegram.ts # odesílání zpráv přes Telegram Bot API +logs/ # denní logy textových změn (gitignored) +state/ # stav mezi spuštěními — reference, lastKnown (gitignored) +debug/ # HTTP debug logy při devMode: true (gitignored) +```