Welcome to AI Notes Agent — your personal AI-powered content processor for Telegram! This bot receives content like text, images, documents, and even YouTube links, and automatically creates clean, concise, and structured Markdown notes. All notes are stored right here in this GitHub repository — creating your own searchable knowledge base, effortlessly. 🧠📚
Build a zero-cost, fully automated content pipeline — where any interesting idea, resource, or piece of knowledge can be captured, processed by AI, and stored — all by sending a message to a Telegram bot. No manual effort. No financial cost. Just seamless AI-driven note creation. 💡🚀
This bot is a Swiss Army knife of content processing! Here's what it can do:
- 📝 Plain Text — Just send a message.
- 🖼️ Images — Get detailed visual descriptions.
- 📄 Documents — Supports
.pdf,.docx,.pptx,.csv,.xlsx, and.txtfiles. - 🔗 YouTube Links — Summarizes English transcripts.
Uses Google's Gemini AI to generate rich, structured notes with:
- A main title and executive summary
- Headings, subheadings, and bullet points
- Bold and italic emphasis
- 🎨 Emojis for visual clarity
- Filenames like
Introduction-to-Data-Structures.mdare AI-generated, descriptive, and URL-safe. ✍️
- Add custom instructions via captions Example: "Create a 5-question quiz from this document."
/start— Friendly welcome message/help— List of all features & how-tos/list— Shows 5 latest saved notes with links
This project brings together several free-tier tools:
| Layer | Tech Used |
|---|---|
| Interface | Telegram Bot 📱 |
| Logic | Python script 🐍 |
| Hosting | PythonAnywhere ☁️ |
| Intelligence | Gemini 1.5 Flash 🤖 |
| Storage | GitHub Repository 🗃️ |
✅ Bot is live on PythonAnywhere ✅ Gemini AI is processing all inputs ✅ Markdown notes are saved directly to this repo ✅ Telegram interface is stable and user-friendly
Here’s the dirt from the trenches:
- Most “free” platforms like Render and Fly.io had hidden limits or required cards.
- PythonAnywhere (with an open console) met the truly free, 24/7 requirement.
- Faced
401: Bad credentialserrors. - Fixed by generating a GitHub Personal Access Token with
reposcope and properly configuring it in the script.
- Initially used
gemini-pro, which led to404errors. - Switched to
gemini-1.5-flash, which is faster and more reliable.
- Upgraded to the latest
python-telegram-botlibrary. - Refactored code using
Application.builder()andasyncmethods.
Pull requests are welcome! Feel free to fork the repo, suggest features, or help squash bugs. 🐛
MIT License © 2025 — Made with ❤️ for the open-source community.
"Turn your Telegram into a knowledge vault. Let AI do the heavy lifting." ⚡ — AI Notes Agent