{"id":13586063,"url":"https://github.com/sooryaprakash31/GMeet-Bot","last_synced_at":"2025-04-07T14:33:26.128Z","repository":{"id":44773388,"uuid":"274797866","full_name":"sooryaprakash31/GMeet-Bot","owner":"sooryaprakash31","description":"CLI bot for joining classes/meetings in Google Classroom.","archived":false,"fork":false,"pushed_at":"2023-10-18T01:50:47.000Z","size":5968,"stargazers_count":40,"open_issues_count":4,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-02-13T21:22:06.115Z","etag":null,"topics":["automation","firefox","google-classroom","google-meet","google-meet-automation","python3","selenium-python","web-automation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sooryaprakash31.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.MD","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-25T00:36:39.000Z","updated_at":"2024-08-01T16:32:06.647Z","dependencies_parsed_at":"2024-08-01T16:42:09.249Z","dependency_job_id":null,"html_url":"https://github.com/sooryaprakash31/GMeet-Bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sooryaprakash31%2FGMeet-Bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sooryaprakash31%2FGMeet-Bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sooryaprakash31%2FGMeet-Bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sooryaprakash31%2FGMeet-Bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sooryaprakash31","download_url":"https://codeload.github.com/sooryaprakash31/GMeet-Bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223285043,"owners_count":17119823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","firefox","google-classroom","google-meet","google-meet-automation","python3","selenium-python","web-automation"],"created_at":"2024-08-01T15:05:18.258Z","updated_at":"2024-11-06T04:30:45.172Z","avatar_url":"https://github.com/sooryaprakash31.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\u003cimg src=\"docs/images/Gmeet_bot_header.png\" align=\"center\"\u003e\u003cbr\u003e\n\n\u003cp align=\"center\"\u003eI built this to make my life easier as a student. Hope this helps you too!\u003cbr\u003e\nThis bot joins your classes for you on time automatically using the data about\u003cbr\u003e your google classroom schedule and account credentials.\u003cbr\u003e\u003ca href=\"https://github.com/sooryaprakash31/GMeet-Bot\"\u003e#AutomateAndChill\u003c/p\u003e\n\n  - [Requirements](#requirements)\n  - [Setup](#setup)\n  - [Execution](#execution)\n  - [Output](#output)\n  - [Customization](#customization)\n  - [Troubleshooting](#troubleshooting)\n  - [License](#license)\n\n## Requirements\n\n- Clone of this repository \n- [python3](https://www.python.org/downloads/)\n- [Firefox browser](https://www.mozilla.org/en-US/firefox/all/#product-desktop-release)\n- `pip install requirements.txt`\n\n## Setup\n\n1. `cd GMeet-Bot`\n2. Enter your account credentials in `config.ini`\u003c/br\u003e\n   Example:\n   \u003e```\n    \u003e[AUTH]\n    \u003eUSERNAME=username@abc.com\n    \u003ePASSWORD=password\n   \u003e```\n3. Download geckodriver from [here](https://github.com/mozilla/geckodriver/releases) and place it in the folder\n4.  Create a profile in Firefox and block the camera and microphone access for google meet.  \n   \u003cimg src=\"docs/images/Firefox_permissions.png\" align=\"center\" \u003e\n   \n5. Get the path for the created profile using `about:profiles` in the firefox browser\n   and include the following at the end of the `config.ini` file.\n   ```\n   [FIREFOX]\n   PROFILE_PATH=/path/to/the/created/profile\n   ```\n6. Get the Course Names from your classroom  \n   \u003cimg src=\"docs/images/CourseName.png\" align=\"center\"\u003e\n\n7. Insert the Course Name at the appropriate position in `schedule.csv`\u003c/br\u003e\n   Example:\n   \u003e CS16004-SemC \n   \u003e - Mon - 09:20\n   \u003e - Tue - 11:40\n   \u003e - Thu - 14:25\n   \u003e\u003c/br\u003e\n   \u003e\u003ctable\u003e\n   \u003cth\u003eDay\u003c/th\u003e\n    \u003cth\u003e09:20\u003c/th\u003e\n    \u003cth\u003e11:40\u003c/th\u003e\n    \u003cth\u003e14:25\u003c/th\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eMon\u003c/td\u003e\n    \u003ctd\u003eCS16004-SemC\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eTue\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003eCS16004-SemC\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eWed\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eThu\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003eCS16004-SemC\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eFri\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n   \u003c/table\u003e\n    \n- Repeat this for all the Courses to populate the `schedule.csv` with your schedule\n\n## Execution\n1. `cd GMeet-Bot`\n2. `python3 gmeet_bot.py`\n3. `ctrl+c`  will stop the execution\n\n\n## Output\n\n- The program will run in the background.\n- When the current time hits one of the class timings, \n  1. The program automatically fires up the browser.\n  2. Logs in your account into google classroom.\n  3. Finds the Course from `schedule.csv`.\n  4. Joins the meeting using the `Meet Link` in the course room.\n  5. After one hour, ends the meeting and closes the browser.\n\n## Customization\n\n1. Class Timings\n   - Modify the class timings in the header of `schedule.csv`\n   - Use 24-hour time format\n2. 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.\n   ```\n   if self.count \u003c 2:\n        self.count = self.count + 1\n   ```\n\n## Troubleshooting\n1. Google account must not be already logged in.\n2. `schedule.csv` must contain the exact course names.\n3. Slow internet connection may cause program to crash.  \n\n## License\n- [MIT License](/LICENSE.MD)\n\n---\n\n## Leave a :star: if you find this useful!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsooryaprakash31%2FGMeet-Bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsooryaprakash31%2FGMeet-Bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsooryaprakash31%2FGMeet-Bot/lists"}