96 lines
4.4 KiB
JSON
96 lines
4.4 KiB
JSON
{
|
||
"_readme": [
|
||
"Social-media accounts read by digest-engine/ingest/rci_social.py and fed to the",
|
||
"political section as category=\"theory_social\". JSON has no comment syntax, so",
|
||
"the documentation lives in these underscore-prefixed keys; the module ignores",
|
||
"every key it does not know about.",
|
||
"",
|
||
"THIS FILE IS MEANT TO BE EDITED — same as feeds/curated-feeds.opml, and unlike",
|
||
"IDSconf.json it holds no credentials, so it is committed as-is. Set",
|
||
"ENABLE_RCI_SOCIAL_INGEST=true in digest-engine.env to switch it on.",
|
||
"",
|
||
"Per entry:",
|
||
" platform 'youtube' | 'rss' | 'telegram'",
|
||
" name what the digest calls the account",
|
||
" scope 'section' (your own national section) or 'international' (the RCI",
|
||
" as a whole). Passed to the prompt, which is told not to merge the",
|
||
" two voices — 'my branch is doing X' is not 'the International says X'.",
|
||
" enabled set false to keep an entry here without fetching it",
|
||
"",
|
||
" content_type 'episode' (something to watch or listen to later) or 'post'",
|
||
" (something said now). Episodes are collected into the political",
|
||
" section's own watch-later window instead of competing with the",
|
||
" analysis. Defaults to 'episode' for youtube, 'post' otherwise.",
|
||
"",
|
||
" youtube needs channel_id, the opaque UC... id — YouTube's feed endpoint does",
|
||
" not accept an @handle. Find it by opening the channel and reading",
|
||
" 'externalId' in View Source, or from a /channel/UC... URL.",
|
||
" rss needs url. Works for a Mastodon account (https://<instance>/@user.rss),",
|
||
" a podcast feed, or any site feed.",
|
||
" telegram needs channel, the public @username without the @. Read through the",
|
||
" SAME Telethon session ingest/telegram_ingest.py uses — nothing joins",
|
||
" or subscribes to the channel, and without that session these entries",
|
||
" are skipped while the rest still run.",
|
||
"",
|
||
"NOT SUPPORTED, ON PURPOSE: Instagram, Facebook, WhatsApp channels, TikTok and",
|
||
"X/Twitter. None has a keyless read path that stays inside its own terms, and",
|
||
"this component does not scrape. The module docstring says what each of them",
|
||
"would actually require. Instagram is the real gap — it is where the section",
|
||
"posts most, and reading it here would mean scraping it."
|
||
],
|
||
|
||
"sources": [
|
||
{
|
||
"_verified": "Feed fetched and confirmed live 2026-08-06 (channel 'RKP – Revolutionäre Kommunistische Partei').",
|
||
"platform": "youtube",
|
||
"name": "RKP Österreich (YouTube)",
|
||
"scope": "section",
|
||
"channel_id": "UCMXItw4ipjk2CigCHuXHqlw"
|
||
},
|
||
{
|
||
"_verified": "Feed fetched and confirmed live 2026-08-06 (channel 'Revolutionary Communist International').",
|
||
"platform": "youtube",
|
||
"name": "RCI (YouTube)",
|
||
"scope": "international",
|
||
"channel_id": "UCtO2zDQt-AhF6SwYbXDdFKA"
|
||
},
|
||
{
|
||
"_verified": [
|
||
"Linked from marxist.com's own footer (checked 2026-08-06). NOT fetched during",
|
||
"verification — reading it needs the Telegram session, which only exists on the",
|
||
"real deployment. If the channel name is wrong this entry logs a warning and",
|
||
"costs nothing else."
|
||
],
|
||
"platform": "telegram",
|
||
"name": "marxist.com (Telegram)",
|
||
"scope": "international",
|
||
"channel": "marxistcom"
|
||
},
|
||
{
|
||
"_verified": [
|
||
"Feed fetched and confirmed live 2026-08-06 ('Der Funke - die kommunistische",
|
||
"Stimme'). This is the RSS behind anchor.fm/derfunkeat — the section's own",
|
||
"podcast, and the audio half of the watch-later list."
|
||
],
|
||
"platform": "rss",
|
||
"name": "Der Funke — Podcast",
|
||
"scope": "section",
|
||
"content_type": "episode",
|
||
"url": "https://anchor.fm/s/1b913a00/podcast/rss"
|
||
},
|
||
{
|
||
"_example": [
|
||
"Template for a Mastodon (or any other) feed — off until you fill in a real",
|
||
"URL. marxist.com itself needs no entry here: its podcast episodes are posted",
|
||
"as articles prefixed '[Podcast]' and already arrive through",
|
||
"feeds/curated-feeds.opml's category=\"theory\" feed (checked 2026-08-06)."
|
||
],
|
||
"platform": "rss",
|
||
"name": "Example — a Mastodon account",
|
||
"scope": "section",
|
||
"url": "https://instance.example/@account.rss",
|
||
"enabled": false
|
||
}
|
||
]
|
||
}
|