Get the latest tech news from various sources and deliver it to your Discord channel via webhook.
Start by forking this repository to your own GitHub account.
In your forked repository:
- Navigate to Settings → Secrets and variables → Actions
- Click "New repository secret" and add the following:
OPENAI_API_KEY: Your OpenAI API key (required for generating scrapers)DISCORD_WEBHOOK_URL: Your Discord webhook URL (for notifications)
- Go to the Actions tab in your repository
- Select the News Monitor workflow
- Click "Run workflow" to start monitoring
The system will automatically check for new articles every hour.
The system follows this process for each news source:
- Check Source Type: Reads
news.jsonto determine if a source has an RSS feed or needs scraping - RSS Processing: For sources with RSS feeds, it parses the feed directly
- Scraper Generation: For sources without RSS:
- Fetches the website's HTML structure using Playwright
- Uses OpenAI GPT to generate a custom scraper based on the HTML
- Creates a Python script to extract articles
- Article Processing:
- Extracts title, link, and publication date
- Checks against previously seen articles to avoid duplicates
- Stores new articles in the
feeds/directory
- Notifications: Sends new articles to Discord via webhook
- RSS Generation: Creates custom RSS feeds for all sources
Edit news.json to add or modify news sources:
[
{
"name": "OpenAI",
"url": "https://openai.com/news",
"rss": "https://openai.com/news/rss.xml"
},
{
"name": "Anthropic",
"url": "https://www.anthropic.com/news",
"rss": null
}
]- name: Display name for the source
- url: Website URL to scrape
- rss: RSS feed URL (set to
nullif not available)
Contributions are welcome, feel free to submit a pull request.
This project is open source and available under the MIT License.
Made with ❤️ by Martin