2026-01-05 17:12:17 +01:00
2026-01-05 17:12:17 +01:00

Zpravobot Digest Bot

Automatický denní digest z Mastodon postů pomocí Claude AI.

Struktura

/app/data/zpravobot-digest/
├── export-daily.sh       # Export postů z DB do CSV
├── digest-bot.py         # Hlavní script (Claude + Mastodon)
├── run-digest.sh         # Wrapper s config
├── config.env.example    # Template konfigurace
└── README.md

Instalace

1. Klonuj repo

cd /app/data
git clone https://gitea.tvoje-domena.cz/user/zpravobot-digest.git
cd zpravobot-digest

2. Konfigurace

cp config.env.example config.env
nano config.env

Vyplň:

  • ANTHROPIC_API_KEY - Claude API token
  • TOKEN_ZPRAVOBOT - Mastodon token pro @zpravobot
  • TOKEN_POZITIVNI - Mastodon token pro @pozitivni
  • TOKEN_SARKASTICKY - Mastodon token pro @sarkasticky

3. Práva

chmod +x export-daily.sh run-digest.sh digest-bot.py
chmod 600 config.env

4. Test

./export-daily.sh          # Export CSV
./run-digest.sh zpravobot  # Test digestu

Použití

Manuální spuštění

./run-digest.sh zpravobot    # Neutrální digest
./run-digest.sh pozitivni    # Pozitivní digest
./run-digest.sh sarkasticky  # Sarkastický digest

Automatizace (Cloudron Cron)

0 6  * * * /app/data/zpravobot-digest/export-daily.sh
0 7  * * * /app/data/zpravobot-digest/run-digest.sh zpravobot
0 12 * * * /app/data/zpravobot-digest/run-digest.sh pozitivni
0 18 * * * /app/data/zpravobot-digest/run-digest.sh sarkasticky

Výstup

Export CSV

  • Lokace: /app/data/posts-latest.csv
  • Formát: id,created_at,text,uri,url,account_id
  • Rozsah: Posledních 48 hodin
  • Archiv: /app/data/archive/posts-YYYY-MM-DD.csv (7 dní)

Digest

  • 2-toot thread (summary + odkazy)
  • Publikováno na příslušný bot účet
  • Styl podle bot personality

Jak to funguje

  1. Export (6:00): SQL → CSV export z PostgreSQL
  2. Digest (7:00/12:00/18:00):
    • Načte CSV
    • Pošle data Claude API
    • Claude analyzuje témata
    • Publikuje 2-toot thread na Mastodon

Struktura souborů

/app/data/
├── zpravobot-digest/         # Git repo
│   ├── export-daily.sh
│   ├── digest-bot.py
│   ├── run-digest.sh
│   ├── config.env            # Gitignored!
│   └── README.md
├── posts-latest.csv          # Denní export
├── archive/                  # 7-denní historie
│   └── posts-YYYY-MM-DD.csv
└── logs/
    └── export.log

Požadavky

  • Python 3.x (v Cloudron Mastodonu je)
  • Mastodon instance (zpravobot.news)
  • Claude API přístup
  • 3× Mastodon bot účty s tokeny

Bezpečnost

  • ⚠️ config.env obsahuje citlivé tokeny → chmod 600
  • ⚠️ Nepublikuj config.env do Gitu (je v .gitignore)
  • DB přístup jen pro export script
  • Digest script čte pouze CSV (bez DB přístupu)

TODO

  • Prompt optimalizace pro Clauda
  • Error handling v digest-bot.py
  • Notifikace při selhání
  • Web dashboard pro statistiky

Autor

Kolega + Claude

Description
Automatický denní digest z Mastodon postů pomocí Claude AI.
Readme 57 KiB
Languages
Ruby 92.8%
Shell 7.2%