Skip to content

A personal Telegram bot built with Python and PostgreSQL that delivers curated voice notes and shayaris based on the user's current mood.

Notifications You must be signed in to change notification settings

AmartyaKumar09/Telegram_ChatBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Telegram_ChatBot

πŸŒ™ Mood-Aware Voice Note Bot

A personal Telegram bot that acts as a "Digital Jar of Notes". It allows an Admin (you) to record voice notes or write texts tagged by specific moods. The user can then request a message based on how they are feeling, receiving a random, unplayed note from the collection.

✨ Features

  • πŸŽ™ Voice & Text Support: Upload voice notes or fallback to text poetry.
  • 🎭 Mood Tagging: Categorize messages into Romantic, Sad, or Hope.
  • πŸ”„ Smart Rotation: Ensures she never gets the same message twice until she has heard them all.
  • πŸ” Auto-Reset: Automatically reshuffles the "jar" when all messages in a mood have been played.
  • ☁️ Cloud Database: Uses PostgreSQL to ensure data is never lost, even when the bot restarts.
  • ⌨️ Interactive Menu: Easy-to-use button interface for the user.

πŸ› οΈ Tech Stack

  • Python 3.10+
  • pyTelegramBotAPI (Telebot)
  • PostgreSQL (Database)
  • Railway (Hosting Platform)

πŸš€ Local Setup (Running on your computer)

  1. Clone the repository
    git clone [https://github.com/yourusername/your-repo-name.git](https://github.com/yourusername/your-repo-name.git)
    cd your-repo-name

πŸ€– Commands

πŸ”’ Admin (You)

Command Usage Description
/upload <mood> /upload romantic Upload a voice note for a specific mood.
/addtext <mood> <text> /addtext sad I miss you Save a text message/poem for a mood.

πŸ‘¨β€πŸ’» User

Command Description
/start or /menu Opens the interactive button menu.
/romantic Fetches a random romantic voice note.
/sad Fetches a comforting voice note.
/hope Fetches a hopeful message.
/shayari Fetches a random message from any category.

πŸ“‚ Project Structure

β”œβ”€β”€ bot.py              # Main bot logic
β”œβ”€β”€ requirements.txt    # List of python libraries
β”œβ”€β”€ Procfile            # Worker command for Railway
β”œβ”€β”€ .gitignore          # Tells git to ignore .env
└── README.md           # Documentation

About

A personal Telegram bot built with Python and PostgreSQL that delivers curated voice notes and shayaris based on the user's current mood.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published