# GoogleMeetBot
A bot to automatically join Google Meet meetings at the correct time
## How it works
The bot automates a FireFox session using Python, Selenium and the Geckdriver.
It joins the programmed google meetings automatically, with microphone and webcam disabled.
It uses the **schedule** python module to automatically access and close meetings at the given time, it can only join one meeting at the time
Normally Google Accounts are not allowed to be logged in when using an automated browser, and this bot is no exception.
The procedure described in **Using your account** is used to bypass this protection mechanism
## Using your account
This login procedure is needed in order to bypass Google not allowing automated browsers to log in into accounts.
**Preparation:**
1. First of all install Mozilla FireFox from .
2. Download and install the Geckdriver for your OS from Mozilla's GitHub repo .
3. If you're using Linux, your package manager may have a package for that, so check that.
4. Replace **FIREFOX_DVD_DIR** in **utils.py** with the path to the GeckoDriver executable you just installed.
**Log in into your Google Account:**
1. Open FireFox and go to *about:profiles*
2. Click *Create a New Profile>Next* name it whatever you want then click *Finish*
3. Search for the profile you just created in the list below, copy the *Root Directory* and paste it into **FIREFOX_PROFILE** into **utils.py**
4. Now FireFox will have made the profile you just created the default one, so set the default profile back to what it was before
5. Go the the profile you just created and click *Launch profile in new browser*. This will open a new FireFox window using your profile.
6. In the new FireFox window just appeared, head over to gmail.com and log in into your Google account.
7. Once logged in, the profile is ready to be used in this bot
## Dependencies
All python deps are listed in **requirements.txt**, just run
pip install -r requirements.txt
## Add your own meetings
To add your own meetings into **meetings.py**, adding another scheduleMeeting line like the one already present. You can add as many as you want, but remember that this bot does not support joining multiple meetings at the same time