Lesson 06 — Daily Tech News Bot
Every morning at 8 AM, AI automatically scrapes Hacker News + GitHub Trending, writes a Chinese-language summary, and pushes it to your Telegram. You just drink your coffee.
What This Does
Every day at 08:00
↓
OpenClaw scheduled wake-up
↓
AI opens Hacker News, reads today's hot posts
AI opens GitHub Trending, checks today's hottest projects
↓
Writes a briefing in English (under 300 words)
↓
Pushes to your phone via Telegram
No third-party services needed, no coding required — OpenClaw comes with a built-in scheduler and browser.
Prerequisites
- Complete Lesson 01 (gateway running)
- Complete Lesson 02 (Telegram connected)
- Gateway running on a machine with Chrome installed
Step 1: Create the "Briefing" Skill
Create ~/.openclaw/workspace/skills/briefing/SKILL.md:
mkdir -p ~/.openclaw/workspace/skills/briefing# Tech News Editor
You are a tech media editor responsible for compiling the latest developments in the tech world each day.
## Workflow
1. Open https://news.ycombinator.com and get today's top 5 Ask HN / Show HN / trending discussions
2. Open https://github.com/trending and get today's top 5 trending projects (record name, language, description, star count)
3. Open https://www.producthunt.com and get today's Top 3 products
## Output Format
Write a briefing in English with the following structure:
---
📅 **[Today's Date] Tech Briefing**
**🔥 Hacker News Highlights**
1. [Title] — [One sentence on why it's worth reading]
2. ...
**⭐ GitHub Stars Today**
1. `username/repo` (language) — [Feature description] ⭐[star delta]
2. ...
**🚀 Product Hunt New Launches**
1. **[Product Name]** — [One-line intro]
2. ...
---
*Generated by OpenClaw*
## Notes
- Keep each item to 2 sentences max — stay concise
- If a site is unreachable, skip it and note the issueStep 2: Add the Scheduled Job
After the gateway starts, tell AI in WebChat or Telegram:
Create a daily scheduled task at 8 AM using the "briefing" skill,
and send the result to Telegram
Or add it via the command line directly:
pnpm openclaw cron add \
--name "Tech Briefing" \
--cron "0 8 * * 1-5" \
--tz "America/New_York" \
--session isolated \
--message "/briefing" \
--announce \
--channel telegramParameter breakdown:
0 8 * * 1-5— Monday through Friday at 8 AM--session isolated— isolated session, won't interfere with your main conversation--announce— push the result when done--channel telegram— push to Telegram
Step 3: Test with Immediate Run
Don't want to wait until tomorrow morning? Run it now:
# Get the job ID
pnpm openclaw cron list
# Trigger immediately
pnpm openclaw cron run <job-id>A few minutes later, Telegram will receive a message like this:
📅 2026-03-02 Tech Briefing
🔥 Hacker News Highlights
1. Show HN: I rewrote grep in Rust, 10x faster — Author open-sourced it with compelling performance benchmarks
2. Ask HN: How do you manage .env files? — 300 comments, very lively discussion
...
⭐ GitHub Stars Today
1. `microsoft/TypeChat` (TypeScript) — Use type systems to constrain LLM output ⭐+1.2k
2. `rasbt/LLMs-from-scratch` (Python) — Implementing LLMs from scratch, educational ⭐+800
...
🚀 Product Hunt New Launches
1. Cursor Tab — A new way to do code completion, beyond just Copilot
...
*Generated by OpenClaw*
Variations
Weekly Summary (Every Monday, Covering Last Week)
pnpm openclaw cron add \
--name "Weekly Digest" \
--cron "0 9 * * 1" \
--tz "America/New_York" \
--session isolated \
--message "Summarize the 5 most important tech events from last week and write a weekly digest" \
--announce \
--channel telegramPush to Different Channels
Change --channel telegram to --channel slack or --channel discord to push to a team channel for everyone to see.
Check Job Status
pnpm openclaw cron list # All jobs
pnpm openclaw cron runs <id> # Execution history for a specific jobDelete a Job
pnpm openclaw cron delete <job-id>FAQ
A scheduled job didn't run at its scheduled time — how do I troubleshoot?
First confirm the gateway is running (pnpm openclaw gateway status) — the cron scheduler depends on the gateway process. Then run pnpm openclaw cron list to check if the job status is active. If the machine was sleeping, the job will be skipped — deploy on an always-on server for reliability.
Can I push to multiple Telegram groups or channels?
Yes. Create multiple cron jobs, each targeting a different --channel or --chatId. For example, push to both your personal chat and a team group by simply adding two jobs.
How do I change the push time, like to 9 PM?
Run pnpm openclaw cron list to get the job ID, then pnpm openclaw cron delete <id> to remove the old one, and recreate it with a new cron expression. 9 PM corresponds to "0 21 * * 1-5".
Can briefing content be saved as a historical record?
OpenClaw's session logs are saved by default in /tmp/openclaw/. For long-term archiving, add an instruction in SKILL.md to write the briefing to a local file after generating it, using the file system tool for automatic archiving.
Will the briefing fail if a website is unreachable?
The SKILL.md already includes a fault-tolerance instruction: "if a site is unreachable, skip it and note the issue." AI will mention in the briefing which source was unavailable without interrupting the entire job.
Why This Is Interesting
Ordinary AI chat tools require you to go ask them. OpenClaw combines "proactive push" with "AI understanding" — you set it up once, and it reads, writes, and sends to you every day on its own. This is true AI automation, not just a chat box.