Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sooryaprakash31/GMeet-Bot

CLI bot for joining classes/meetings in Google Classroom.
https://github.com/sooryaprakash31/GMeet-Bot

automation firefox google-classroom google-meet google-meet-automation python3 selenium-python web-automation

Last synced: 3 months ago
JSON representation

CLI bot for joining classes/meetings in Google Classroom.

Awesome Lists containing this project

README

        


I built this to make my life easier as a student. Hope this helps you too!

This bot joins your classes for you on time automatically using the data about
your google classroom schedule and account credentials.
#AutomateAndChill

- [Requirements](#requirements)
- [Setup](#setup)
- [Execution](#execution)
- [Output](#output)
- [Customization](#customization)
- [Troubleshooting](#troubleshooting)
- [License](#license)

## Requirements

- Clone of this repository
- [python3](https://www.python.org/downloads/)
- [Firefox browser](https://www.mozilla.org/en-US/firefox/all/#product-desktop-release)
- `pip install requirements.txt`

## Setup

1. `cd GMeet-Bot`
2. Enter your account credentials in `config.ini`
Example:
>```
>[AUTH]
>[email protected]
>PASSWORD=password
>```
3. Download geckodriver from [here](https://github.com/mozilla/geckodriver/releases) and place it in the folder
4. Create a profile in Firefox and block the camera and microphone access for google meet.


5. Get the path for the created profile using `about:profiles` in the firefox browser
and include the following at the end of the `config.ini` file.
```
[FIREFOX]
PROFILE_PATH=/path/to/the/created/profile
```
6. Get the Course Names from your classroom

7. Insert the Course Name at the appropriate position in `schedule.csv`
Example:
> CS16004-SemC
> - Mon - 09:20
> - Tue - 11:40
> - Thu - 14:25
>
>
Day
09:20
11:40
14:25

Mon
CS16004-SemC




Tue

CS16004-SemC



Wed





Thu


CS16004-SemC


Fri






- Repeat this for all the Courses to populate the `schedule.csv` with your schedule

## Execution
1. `cd GMeet-Bot`
2. `python3 gmeet_bot.py`
3. `ctrl+c` will stop the execution

## Output

- The program will run in the background.
- When the current time hits one of the class timings,
1. The program automatically fires up the browser.
2. Logs in your account into google classroom.
3. Finds the Course from `schedule.csv`.
4. Joins the meeting using the `Meet Link` in the course room.
5. After one hour, ends the meeting and closes the browser.

## Customization

1. Class Timings
- Modify the class timings in the header of `schedule.csv`
- Use 24-hour time format
2. It is programmed to run for three classes per day. Modify it [here](https://github.com/sooryaprakash31/GMeet-Bot/blob/master/gmeet_bot.py#L55) by changing 2 to 'n'-1 for 'n' classes.
```
if self.count < 2:
self.count = self.count + 1
```

## Troubleshooting
1. Google account must not be already logged in.
2. `schedule.csv` must contain the exact course names.
3. Slow internet connection may cause program to crash.

## License
- [MIT License](/LICENSE.MD)

---

## Leave a :star: if you find this useful!