Add README with setup, config and cron instructions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
František Musil
2026-05-12 15:02:45 +02:00
parent 14e4d86719
commit afd1ec1709
+73 -6
View File
@@ -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<Config> = {
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)
```