feat(x): X (Twitter) als Bezugsquelle pro Lage
X-Accounts werden analog zu Telegram als Quelle (source_type=x_account) konfiguriert und pro Lage ueber include_x zugeschaltet. Der Scraper (feeds/x_parser.py, twscrape) liest Account-Timelines, optional ueber einen HTTP-Proxy mit Fallback auf direkten Abruf ueber die Server-IP. - DB-Migration include_x, Pydantic-Modelle, incidents-Router - Orchestrator-X-Pipeline plus Haiku-Account-Vorselektion - sources-Router /x/validate, x_account-Typ in Stats und Frontend - Lage-Einstellungen: X-Toggle neben international und Telegram - twscrape als Abhaengigkeit Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -403,6 +403,11 @@ async def init_db():
|
||||
await db.commit()
|
||||
logger.info("Migration: include_telegram zu incidents hinzugefuegt")
|
||||
|
||||
if "include_x" not in columns:
|
||||
await db.execute("ALTER TABLE incidents ADD COLUMN include_x INTEGER DEFAULT 0")
|
||||
await db.commit()
|
||||
logger.info("Migration: include_x zu incidents hinzugefuegt")
|
||||
|
||||
if "telegram_categories" not in columns:
|
||||
await db.execute("ALTER TABLE incidents ADD COLUMN telegram_categories TEXT DEFAULT NULL")
|
||||
await db.commit()
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren