{"repo":"alliraine/legialerts","free":true,"listed":false,"github":"https://github.com/alliraine/legialerts","clone":"git clone https://github.com/alliraine/legialerts.git","description":"A Twitter and Google Sheets Bot for tracking anti-lgbtq legislation","language":"Python","stars":27,"topics":["automation","legislation","lgbtqia"],"license":"Apache-2.0","category":"workflow-automation","readme_excerpt":"LegiAlerts A Twitter/Bsky bot and automation platform for tracking anti-LGBTQ legislation. The bot updates the tracker at https://legialerts.org and posts alerts when new bills appear or when statuses change. How it works - Pulls session master lists and bill details from the LegiScan API. - Updates Google Sheets worksheets for anti/pro and rollover bills. - Posts alerts to X (Twitter) and Bluesky, and sends HTML email reports. - Caches session lists and sheet snapshots in cache/ (or /var/data when PRODUCTION=true ) to limit API calls. Requirements - Python 3 - A LegiScan API key - A Google service account for Sheets access - Social accounts and SMTP credentials for notifications Install dependencies: Configuration (environment variables) The bot reads all secrets from environment variables (see .env.example for a template): - legiscan key : LegiScan API key. - gsuite service account or GSUITE SERVICE ACCOUNT FILE : Google service account credentials (JSON string or secure file path). Keep the JSON out of version control. - TRACKER YEARS : Comma-separated list of tracker years (defaults to 2026 ). Each year needs a matching gsheet key value. - gsheet key : Google Sheet key for each tracker year (e.g., gsheet key 2026 ). - twitter consumer key , twitter consumer secret , twitter access token , twitter access token secret : X/Twitter API credentials. - bsky user , bsky pass : Bluesky credentials. - GOOGLE TOKEN : Gmail SMTP app password used to send email reports. - API AUTH TO","default_branch":null,"files":null,"tree":[],"storefront":"/r/alliraine","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/alliraine/legialerts/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}