This project is a chatbot application that uses Google's Generative AI (Gemini) to generate responses. It is built with Python and uses Flask for the web server. The chatbot can be interacted with via a Telegram bot.
The following environment variables are required for the application to run:
Variable | Description | Default Value |
---|---|---|
GEMINI_API_KEY |
Your Gemini API key | None |
TELEGRAM_BOT_TOKEN |
Your Telegram Bot token | None |
OWM_API_KEY |
Your Open Weather Map API Key | None |
ENABLE_SECURE_WEBHOOK_TOKEN |
Enable validation of a secure token passed to the Telegram API webhook to prevent unauthorized access. | True |
TELEGRAM_WEBHOOK_SECRET |
A secure token used to validate incoming requests to the Telegram API webhook. | None |
This section tracks the progress of the project. The following features are planned or have been implemented:
- Implement Gemini model
- Implement a basic plugin
- Implement DateTimePlugin
- Implement gemini vision api, to recognize images
- Chat history mode
- Implement other plugins (e.g. weather, stock, etc.)
- Setup Continuous Delivery
- Implement Secure Token Validation for Telegram Webhook Requests | Issue #2
- Make it work in telegram groups | Issue #1
Contributions are welcome! Feel free to open issues or submit PRs to help improve the project.