YouTube Daily Digest: Auto Monitor & Summary 🥥Meow
by @inkiy
A Python bot that monitors YouTube channels via RSS, summarizes new videos using Google Gemini AI (with audio fallback for videos without subtitles), and sen...
clawhub install youtube-daily-digest-bot📖 About This Skill
name: youtube-summarizer-bot description: A Python bot that monitors YouTube channels via RSS, summarizes new videos using Google Gemini AI (with audio fallback for videos without subtitles), and sends bilingual (Chinese + English) summaries to a Telegram chat daily.
YouTube 每日视频总结 Telegram 机器人
This skill deploys a YouTube monitoring bot that:
1. Polls configured YouTube channels via RSS feed (no API key needed for this step)
2. Extracts video transcripts using youtube-transcript-api
3. Falls back to audio download via yt-dlp if no subtitles are available
4. Summarizes content using Google Gemini 2.5 Flash (supports both text and audio input natively)
5. Sends a beautifully formatted bilingual (Chinese + English) summary to Telegram
Prerequisites
You need these three secrets configured in your environment:
GEMINI_API_KEY — from Google AI StudioTG_BOT_TOKEN — from Telegram @BotFatherTG_CHAT_ID — your personal or group Telegram chat IDFile Structure
| File | Purpose |
|------|---------|
| config.py | All configuration, API keys, and YouTube channel settings |
| youtube_monitor.py | RSS polling and local deduplication via db.json |
| extractor.py | Transcript fetching or audio download fallback |
| ai_summarizer.py | Gemini API integration (text + audio) |
| tg_notifier.py | Telegram message delivery with chunking |
| main.py | Main entry point with daily 8:00 AM scheduling |
| requirements.txt | All Python dependencies |
Setup & Usage
Step 1: Configure channels and secrets
Editconfig.py and add your API keys and the YouTube Channel IDs you want to monitor:
YOUTUBE_CHANNELS = {
"UCxxxxxxxxxxxxxxxxxxxxxx": "Channel Name Here"
}
Step 2: Install dependencies
pip install -r requirements.txt
Step 3: Run
For a one-off immediate check:python main.py
For long-running background mode (runs daily at 8 AM Izmir time):
nohup python main.py > bot.log 2>&1 &
How to Find a YouTube Channel ID
1. Go to the YouTube channel page
2. Click the channel name, then go to About
3. Click "Share Channel" and copy the link — the ID starts with UC...
4. Or use commentpicker.com/youtube-channel-id.php
Notes
db.json so it never sends duplicate summaries⚙️ Configuration
You need these three secrets configured in your environment:
GEMINI_API_KEY — from Google AI StudioTG_BOT_TOKEN — from Telegram @BotFatherTG_CHAT_ID — your personal or group Telegram chat ID📋 Tips & Best Practices
db.json so it never sends duplicate summaries