Giter Club home page Giter Club logo

geminiprobot's Introduction

Gemini Pro Telegram Bot ๐ŸŒŒ

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.


๐ŸŒŸ Features

  • ๐Ÿ”„ 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.

Getting Started ๐Ÿš€

To utilize Gemini Pro, configure your environment with the necessary API key and service account credentials. Follow these steps to get started:

Prerequisites

  • Python 3.9 or higher ๐Ÿ
  • Libraries: aiogram==2.25.1, PIL, io, logging, google-generativeai ๐Ÿ“š
  • Environment Variables: GOOGLE_API_KEY, GOOGLE_APPLICATION_CREDENTIALS ๐Ÿ—๏ธ
  1. 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 the Pillow library, which is a more up-to-date fork of PIL.

  2. 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.
  3. Obtain a Google API key by following the link here.

  4. 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.

Setting Environment Variables Permanently on a VPS

To set environment variables permanently on a VPS :

  1. Open the Profile File

    For a single user, edit ~/.bashrc:

    nano ~/.bashrc
  2. 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.

  3. Save and Exit

    Press Ctrl + O, then Enter and .Press Ctrl + X, to exit

  4. Apply the Changes

    Reload the profile:

    source ~/.bashrc

Deploy to VPS

git clone https://github.com/bisnuray/GeminiProBot
cd GeminiProBot
nano gemini.py [ replace with your actual bot token ]
python3 gemini.py

Setting Up the Bot

  1. Create a new bot with @BotFather on Telegram and get the bot token.
  2. Replace the placeholder token in the script with your actual bot token.

Running the Bot

Execute the script to start the bot:

python gemini.py

Usage ๐Ÿ› ๏ธ

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.

Author ๐Ÿ“

Feel free to reach out if you have any questions or feedback.

geminiprobot's People

Contributors

bisnuray avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.