Zprávobot AI Digest
Automatický denní digest systém pro Mastodon boty používající Claude AI.
📖 O projektu
Automatizační nástavba pro Zprávobot.news od Daniela Snora. Přidává AI-powered digest systém s Claude analýzou a automatickou kategorizací zpráv.
🎯 Co to dělá
Systém 3× denně:
- Načte včerejší posty z CSV exportu
- Automaticky je kategorizuje podle témat (🌍 Politika, 🏒 Sport, 🎬 Kultura...)
- Analyzuje pomocí Claude AI
- Publikuje 2-toot thread na Mastodon
Tři boty s různými styly
| Bot | Čas | Styl | Účel |
|---|---|---|---|
| @zpravobot | 7:30 | Neutrální | Ranní přehled zpráv |
| @pozitivni | 12:00 | Pozitivní | Polední motivace |
| @sarkasticky | 19:00 | Sarkastický | Večerní komentář |
📋 Požadavky
- Ruby 3.0+
- mastodon-api gem
- PostgreSQL s Mastodon daty
- Claude API klíč
- 3 Mastodon bot tokeny
🚀 Instalace (Cloudron)
1. Připrav prostředí
V Mastodon terminalu (Cloudron):
cd /app/data
git clone https://gitea.vhsky.cz/user/zpravobot-digest.git
cd zpravobot-digest
2. Nainstaluj Ruby gem
export GEM_HOME=$HOME/.gem
export PATH=$GEM_HOME/bin:$PATH
gem install mastodon-api --user-install
Ověř instalaci:
ruby -e "require 'mastodon'; puts 'OK'"
3. Konfigurace
cp config.env.example config.env
nano config.env
Vyplň tokeny:
export ANTHROPIC_API_KEY="sk-ant-api03-..."
export ZPRAVOBOT_TOKEN="token-zde"
export POZITIVNI_TOKEN="token-zde"
export SARKASTICKY_TOKEN="token-zde"
Jak vytvořit Mastodon tokeny:
- Přihlásit se jako bot účet
- Settings → Development → New application
- Scopes:
read:statuses+write:statuses - Zkopírovat "Your access token"
4. Spustitelné práva
chmod +x export-daily.sh publish_digest.rb run-digest.sh
chmod 600 config.env
🧪 Testování
Dry-run (bez publikace)
source config.env
./run-digest.sh zpravobot --dry-run
./run-digest.sh pozitivni --dry-run
./run-digest.sh sarkasticky --dry-run
Live test (skutečná publikace)
./run-digest.sh zpravobot
Zkontroluj na Mastodonu že se thread publikoval.
⏰ Automatizace (Cron)
V Cloudron UI → Mastodon app → Cron tab:
0 6 * * * /app/data/zpravobot-digest/export-daily.sh
30 7 * * * /app/data/zpravobot-digest/run-digest.sh zpravobot
0 12 * * * /app/data/zpravobot-digest/run-digest.sh pozitivni
0 19 * * * /app/data/zpravobot-digest/run-digest.sh sarkasticky
Rozvrh:
- 6:00 - Export postů z databáze
- 7:30 - Neutrální digest (@zpravobot)
- 12:00 - Pozitivní zprávy (@pozitivni)
- 19:00 - Sarkastický komentář (@sarkasticky)
📁 Struktura souborů
/app/data/
├── zpravobot-digest/
│ ├── export-daily.sh # CSV export z PostgreSQL
│ ├── publish_digest.rb # Hlavní Ruby script
│ ├── run-digest.sh # Wrapper (načte config)
│ ├── config.env # Tokeny (gitignored!)
│ └── config.env.example # Template
├── posts-latest.csv # Denní export (2 dny postů)
├── archive/
│ └── posts-YYYY-MM-DD.csv # 7 denní historie
└── logs/
└── export.log # Logy exportu
🔧 Ruční použití
Publikovat digest
source config.env
./run-digest.sh zpravobot # Neutrální
./run-digest.sh pozitivni # Pozitivní
./run-digest.sh sarkasticky # Sarkastický
Použít specifické datum
./run-digest.sh zpravobot --date=2026-01-05 --dry-run
Export CSV
./export-daily.sh
🎨 Vlastnosti
- ✅ Automatická kategorizace témat (Politik, Sport, Kultura...)
- ✅ Claude AI analýza s fallbackem při selhání API
- ✅ Style filtering - pozitivní bot filtruje negativní zprávy
- ✅ 2-toot threads - summary + odkazy
- ✅ URL extraction z postů
- ✅ Error handling a logging
- ✅ Dry-run mode pro testování
📊 Monitoring
Zkontrolovat dnešní běhy
# V logu exportu
tail -50 /app/data/logs/export.log
# Ověřit CSV
ls -lh /app/data/posts-latest.csv
wc -l /app/data/posts-latest.csv
Zkontrolovat publikace
Navštiv:
- https://zpravobot.news/@zpravobot
- https://zpravobot.news/@pozitivni
- https://zpravobot.news/@sarkasticky
🐛 Troubleshooting
"CSV file not found"
# Ověř že export běžel
ls -la /app/data/posts-latest.csv
# Spusť manuálně
./export-daily.sh
"Missing token"
# Ověř environment
source config.env
echo $ZPRAVOBOT_TOKEN
"The access token is invalid"
Token vypršel nebo je neplatný. Vygeneruj nový v Mastodon → Settings → Development.
Ruby gem chyba
# Reinstaluj gem
export GEM_HOME=$HOME/.gem
export PATH=$GEM_HOME/bin:$PATH
gem install mastodon-api --user-install
💰 Náklady
- Claude API: ~$3/měsíc (3 requesty/den)
- Infrastruktura: $0 (běží na Mastodon serveru)
🔒 Bezpečnost
- ✅ Žádný přímý DB přístup (používá CSV export)
- ✅ Tokeny v
config.env(gitignored) - ✅ Read-only přístup k datům
- ✅ Minimální oprávnění
📝 Licence
Open source - vytvořeno pro Zprávobot.news komunitu.
🙏 Credits
- Daniel Snor - Zprávobot.news - Původní Mastodon instance a koncept
- Zprávobot.news komunita - České/Slovenské Mastodon zpravodajství
- Anthropic Claude - AI analýza a kategorizace
- Mastodon - Decentralizovaná sociální síť
Verze: 1.0.0
Aktualizováno: Leden 2026
Description
Languages
Ruby
92.8%
Shell
7.2%