Gemini is an advanced Artificial Intelligence (AI) system designed to intelligently respond to diverse prompts, including pictures, text, speech, music, and code. This Python Telegram Bot script leverages the aiogram library to interact with Google's AI.
- 🔄 Asynchronous Communication: Leverages the power of async for seamless interactions.
- ⚙️ Error Handling: Robust error handling for a smoother user experience.
- 🍪 Text Prompt Response: Accepts text prompts and generates text.
- 🖼️ Image Recognition: Can read and interpret images.
For more detailed information on the capabilities and availability of Google Gemini AI, please visit Google's official blog.
To utilize Gemini Pro, configure your environment with the necessary API key and service account credentials. Follow these steps to get started:
- Python 3.9 or higher 🐍
- Libraries:
aiogram==2.25.1
,PIL
,io
,logging
,google-generativeai
📚 - Environment Variables:
GOOGLE_API_KEY
,GOOGLE_APPLICATION_CREDENTIALS
🗝️
-
Install the required dependencies, ensuring Python 3.9 or higher:
pip install aiogram==2.25.1 Pillow google-generativeai
Note: The
PIL
package is part of thePillow
library, which is a more up-to-date fork of PIL. -
Create a Google Cloud Platform (GCP) service account and download the JSON key file. Follow these steps:
- Go to Google Cloud Console.
- Navigate to the project where you want to create a service account.
- In the left sidebar, click on the hamburger menu and select "IAM & Admin" > "Service accounts."
- Click on "Create Service Account" at the top of the page.
- Enter a name for the service account, choose a role (e.g., Project > Editor), and click "Continue."
- Skip the "Grant users access to this service account" section and click "Done."
- Locate the newly created service account in the list and click on the pencil icon to the right.
- Navigate to the "Add Key" tab, choose JSON as the key type, and click "Create." Save the downloaded JSON file to a secure location.
-
Obtain a Google API key by following the link here.
-
Set the Google API key and the path to your service account credentials as environment variables:
export GOOGLE_API_KEY=<your-api-key> export GOOGLE_APPLICATION_CREDENTIALS=/path/to/serviceaccount.json
Replace
<your-api-key>
and/path/to/serviceaccount.json
with your actual Google API key and the path to your service account JSON file, respectively.
To set environment variables permanently on a VPS :
-
Open the Profile File
For a single user, edit
~/.bashrc
:nano ~/.bashrc
-
Add the Environment Variables
At the bottom, add:
export GOOGLE_API_KEY="your-api-key-here" export GOOGLE_APPLICATION_CREDENTIALS="/path/to/serviceaccount.json"
Replace
"your-api-key-here"
and"/path/to/serviceaccount.json"
with your actual details. -
Save and Exit
Press
Ctrl + O
, thenEnter
and .PressCtrl + X
, to exit -
Apply the Changes
Reload the profile:
source ~/.bashrc
git clone https://github.com/bisnuray/GeminiProBot
cd GeminiProBot
nano gemini.py [ replace with your actual bot token ]
python3 gemini.py
- Create a new bot with @BotFather on Telegram and get the bot token.
- Replace the placeholder token in the script with your actual bot token.
Execute the script to start the bot:
python gemini.py
The bot supports the following commands:
- /gem: Generates a response based on a text prompt.
- /imgai: Generates a response based on an image. Ensure to reply to an image with /imgai command for it to work.
- Name: Bisnu Ray
- Telegram: @SmartBisnuBio
Feel free to reach out if you have any questions or feedback.