Google-Meet-Bot
This project is a Python bot that automates the process of logging into Gmail, joining a Google Meet, recording the audio of the meeting, and then generating a summary, key points, action items, and sentiment analysis of the meeting.
Recording video/audio/transcripts from video conferencing calls
If you’re looking to use this repo to retrieve video/audio streams or transcripts from meeting platforms like Zoom, Google Meet, Microsoft Teams, consider checking out Recall.ai, an API for meeting recording.
Prerequisites
- Python 3.8 or higher
- Chrome browser
- OpenAI API Key
- A Gmail account
- A Google Meet link
- ffmpeg/ffprobe installed and available on PATH (for audio trimming if needed)
Installation
-
Clone the repository:
git clone https://github.com/dhruvldrp9/Google-Meet-Bot.git cd Google-Meet-Bot
-
Create Python environment:
python3 -m venv env
-
Activate environment:
- For Unix/Linux/macOS:
source env/bin/activate
- For Windows:
env\Scripts\activate
- For Unix/Linux/macOS:
-
Install package (local):
pip install -U build pip install .
-
Configure environment variables:
- Create a
.envfile in the project root with the following content:# Google Meet Credentials EMAIL_ID=your_email@gmail.com EMAIL_PASSWORD=your_password # Meeting Configuration MEET_LINK=https://meet.google.com/xxx-xxxx-xxx RECORDING_DURATION=60 # Audio Configuration SAMPLE_RATE=44100 MAX_AUDIO_SIZE_BYTES=20971520 # OpenAI Configuration OPENAI_API_KEY=your_openai_api_key GPT_MODEL=gpt-4 WHISPER_MODEL=whisper-1
- Create a
-
CLI usage:
# After installation, a console script is available google-meet-bot --meet-link "https://meet.google.com/xxx-xxxx-xxx" --duration 60 # Or run as a module python -m google_meet_bot --meet-link "https://meet.google.com/xxx-xxxx-xxx" --duration 60
-
Programmatic usage:
from google_meet_bot import JoinGoogleMeet, SpeechToText bot = JoinGoogleMeet() bot.Glogin() bot.turnOffMicCam("https://meet.google.com/xxx-xxxx-xxx") # ...
Environment Variables
| Variable | Description | Default |
|---|---|---|
| EMAIL_ID | Your Gmail address | - |
| EMAIL_PASSWORD | Your Gmail password | - |
| MEET_LINK | Google Meet URL to join | - |
| RECORDING_DURATION | Duration to record in seconds | 60 |
| SAMPLE_RATE | Audio recording sample rate | 44100 |
| MAX_AUDIO_SIZE_BYTES | Maximum audio file size in bytes | 20971520 (20MB) |
| OPENAI_API_KEY | Your OpenAI API key | - |
| GPT_MODEL | GPT model to use for analysis | gpt-4 |
| WHISPER_MODEL | Whisper model for transcription | whisper-1 |
Features
- Automated Google Meet login and joining
- Audio recording of meetings
- Transcription using OpenAI's Whisper
- Meeting analysis including:
- Abstract summary
- Key points extraction
- Action items identification
- Sentiment analysis
- Automatic audio compression if size exceeds limit
- JSON output of meeting analysis
Metadata
Release files for google-meet-bot 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| google_meet_bot-0.0.1.tar.gz | 7.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| google_meet_bot-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.3 kB
Release files / google_meet_bot-0.0.1.tar.gz
| Download URL | google_meet_bot-0.0.1.tar.gz |
|---|---|
| Size | 7.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ce20835349c81263c9ba3436cec7159562feeae26ace52fe74d1a226ccbb2ca5
|
|
BLAKE2b-256 checksum How to use checksums |
86b62fc408cd77e96f1fa02a20ba7a48097f1ed90391a387e9870e760d2749bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.4
|
Release files / google_meet_bot-0.0.1-py3-none-any.whl
| Download URL | google_meet_bot-0.0.1-py3-none-any.whl |
|---|---|
| Size | 9.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4cc55f472b9fed8ad67bdcb861e313febaeb3ced8ffe425d25de2ea0923339fc
|
|
BLAKE2b-256 checksum How to use checksums |
c23d4c879d4cd304db7eced5ab45075a4a90423436a5431903eb230181ec19db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.4
|