[matrix] homeserver = "https://matrix.example.org" user_id = "@pete:matrix.example.org" password = "${PETE_PASSWORD}" pickle_key = "${PETE_PICKLE_KEY}" display_name = "Pete" data_dir = "./data" admin_room = "!adminroomid:matrix.example.org" [matrix.channels] tech = "!techroomid:matrix.example.org" politics = "!politicsroomid:matrix.example.org" gaming = "!gamingroomid:matrix.example.org" [posting] min_interval_seconds = 300 burst_cap_count = 3 burst_cap_window_seconds = 1800 daily_cap_total = 5 # hard global cap across ALL channels (rolling 24h); 0 disables [posting.round_robin] enabled = false # when true, replaces immediate posting with paced rotation interval_hours = 4 # one story per N hours, cycling through channels in sorted order [storage] db_path = "./data/pete.db" recent_window_hours = 24 [web] enabled = true listen_addr = ":8080" site_title = "Pete" base_url = "https://news.parodia.dev" # Every enabled source MUST set direct_route to a key from [matrix.channels] above. # There is no automatic classification — Pete posts each story to its configured channel. [[sources]] name = "The Guardian — World" feed_url = "https://www.theguardian.com/world/rss" tier = 1 poll_interval_minutes = 20 direct_route = "politics" enabled = true [[sources]] name = "The Guardian — Politics" feed_url = "https://www.theguardian.com/politics/rss" tier = 1 poll_interval_minutes = 20 direct_route = "politics" enabled = true [[sources]] name = "The Guardian — US News" feed_url = "https://www.theguardian.com/us-news/rss" tier = 1 poll_interval_minutes = 20 direct_route = "politics" enabled = true [[sources]] name = "Ars Technica" feed_url = "https://feeds.arstechnica.com/arstechnica/index" tier = 1 poll_interval_minutes = 20 direct_route = "tech" enabled = true [[sources]] name = "Time Extension" feed_url = "https://www.timeextension.com/feeds/news" tier = 1 poll_interval_minutes = 20 direct_route = "gaming" enabled = true