Add README with setup, config and cron instructions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
```bash
|
||||||
bun install
|
bun install
|
||||||
```
|
```
|
||||||
|
|
||||||
To run:
|
## Konfigurace
|
||||||
|
|
||||||
```bash
|
Vytvoř soubor `config/local.ts` (je gitignored):
|
||||||
bun run index.ts
|
|
||||||
|
```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)
|
||||||
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user