Skip to content

alextakayama/python-telegram-nena-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👩 Nena - Python Telegram Bot

This is a RAG (Retrieval-Augmented Generation) application that acts as a personal assistant, answering general questions and interacting with the user's personal mailbox.

✨ Features

  • 💬 Answer general questions
  • 📬 List email messages in a mailbox
  • 📖 Read an entire message
  • 🗑️ Delete message from a mailbox
  • ✨ Summarize messages

🚀 Tech Stack

  • Programming Language: Python 3.11
  • Packages: Langchain, OpenAI, python-telegram-bot, imaplib/smtplib, python-dotenv
  • Persistence: Files

🏗️ Running the Application with Docker Compose

To quickly set up and run the application using Docker Compose, follow these steps:

  1. Ensure Docker and Docker Compose are installed

  2. Register a new Telegram bot using BotFather

    • Open Telegram and search for "@BotFather"
    • Start a chat and use /newbot command
    • Follow prompts to set a name and username (must end in 'bot')
    • BotFather will provide you with an API token - keep this secure
  3. Clone the repository

git clone https://github.com/alextakayama/python-telegram-nena-bot.git
cd python-telegram-nena-bot
  1. Copy and edit .env with your own values
cp .env.example .env
vi .env
  1. Start the application
docker-compose up -d

This will start the Telegram bot application in detached mode (-d).

To stop the application:

docker-compose stop

And to delete the container:

docker-compose down

🚀 Why I Built This

Recent advances in Artificial Intelligence and the widespread availability of generative AI services have made it feasible to develop intelligent applications with features such as text classification, information summarization, data extraction, editing and revision, reasoning and problem-solving, personalization and recommendations, moderation, and tutoring. This project demonstrates how leveraging LLMs with user-specific content can streamline everyday tasks—like accessing your emails—and make routine operations much faster.


🛠️ Future Improvements & TODOs

  • Add command to send e-mails
  • Add run_webhook support
  • Add multi-modality support
  • Add function calling
  • Add memory checks and token contraints
  • Add tests

👋 About Me

Foto de Alex Takayama

Hi, I'm Alex Takayama, a builder at heart, passionate about technology and problem-solving. I have experience crafting scalable applications and driving innovation for enterprises and startups. Always eager to collaborate—let’s build something great together!

💻 Skills

  • Languages: C++, C#, Java, JavaScript, Lua, Node.JS, Perl, PHP, Python, Rust, Typescript
  • Backend: ASP.NET, Express, FastAPI, Flask, Laravel, Nest.JS, Phalcon, Play Framework, Slim, Spring Boot, Symfony
  • Frontend: Angular, Next.js, React, Vue.js
  • Mobile: React Native, Flutter
  • Databases: DynamoDB, MariaDB, MongoDB, MySQL, SQL Server, PostgreSQL, SQLite
  • DevOps: Apache, AWS, CI/CD, GCP, Docker, Memcached, NginX, RabbitMQ, Redis, Terraform, Varnish

🌐 Connect

LinkedIn GitHub

📫 Contact

You can also reach me by email: alex.takayama@gmail.com.


📄 License

Distributed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors