Skip to content

AI-powered Telegram bot that intelligently schedules multiple reminders using natural language processing. Parses tasks and deadlines with Gemini 2.0 Flash to create smart, adaptive reminder schedules.

License

Notifications You must be signed in to change notification settings

varunaditya27/TaskNova

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 TaskNova — Your AI-Powered Telegram Smart Reminder Bot

TaskNova is a Telegram bot that goes beyond simple reminders — it's your personal productivity agent powered by Google Gemini. It doesn't just set a timer. It thinks. It plans. It adapts.

Chat with TaskNova on Telegram:

"Remind me to complete my lab report before 8 PM tonight"

...and TaskNova will:

  • Figure out what you need to do
  • When you need to do it
  • And intelligently schedule multiple reminders so you don't slack off or forget.

🧠 What It Does

  • Parses natural language using Gemini 2.0 Flash
  • Extracts task, deadline, and plans smart reminders
  • Schedules and sends reminders through Telegram Bot
  • Sends multiple nudges depending on task urgency (short/long deadlines)
  • Handles vague times like "in 10 minutes" or "tomorrow evening"
  • Super simple chat interface — no apps, no clutter, just Telegram

🛠 Tech Stack

  • Python + Flask
  • APScheduler for job scheduling
  • Telegram Bot API
  • Google Gemini Pro API (via Google AI Studio)
  • Hosted on Render

🚀 Getting Started

1. Clone the Repo

git clone https://github.com/varunaditya27/tasknova.git
cd tasknova

2. Install Dependencies

pip install -r requirements.txt

3. Set Environment Variables

Create a .env file:

BOT_TOKEN=your_telegram_bot_token
GEMINI_API_KEY=your_gemini_api_key

4. Run Locally

python app.py

Your Flask server will run at http://localhost:5000 and listen for Telegram webhook events.


🌐 Deploying on Render

  1. Push this repo to GitHub
  2. Create a Web Service on Render
  3. Connect your GitHub repo
  4. Set build/start commands:
    • Build Command: pip install -r requirements.txt
    • Start Command: python app.py
  5. Add environment variables (BOT_TOKEN, GEMINI_API_KEY) in Render's dashboard
  6. Set your Telegram webhook using:
curl -X POST https://api.telegram.org/bot<YOUR_BOT_TOKEN>/setWebhook \
     -d url=https://your-render-url.onrender.com/webhook

📂 Project Structure

tasknova/
├── app.py              # Flask app (Telegram webhook handler)
├── gemini_utils.py     # Handles Gemini API requests & smart planning
├── requirements.txt    # Python dependencies
├── render.yaml         # Optional: Render deployment config
└── .env                # Secrets (never commit this!)

⚡️ Example Interaction

You (on Telegram): "Remind me to revise DBMS unit 2 by 10 PM today"

Gemini thinks, calculates: "This is urgent. Let's send 3 reminders: 30 min before, 10 min before, and at the deadline."

Bot:

✅ Task scheduled: Revise DBMS unit 2
🕒 Reminders will be sent at:
- 9:30 PM
- 9:50 PM
- 10:00 PM

You: "Set a reminder to water plants in 10 minutes"

Bot: "✅ Got it! Smart reminder set."


🙌 Author

Crafted with caffeine, memes, and Gemini by Varun


📜 License

MIT — Use it, fork it, modify it, build something cooler with it. Just give credit where it's due. 😎

About

AI-powered Telegram bot that intelligently schedules multiple reminders using natural language processing. Parses tasks and deadlines with Gemini 2.0 Flash to create smart, adaptive reminder schedules.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages