Giter Site home page Giter Site logo

shur1k-n / meetninja-google-meet-bot Goto Github PK

View Code? Open in Web Editor NEW
69.0 1.0 12.0 74.15 MB

A super dope tool that attends your Google Meet(s) for you. Flawlessly handles scheduled multiple (subsequent) Meet sessions. Also disables the camera & microphone, and shows timestamps of joining & ending times for each Meet. Supported: Google Chrome / Mozilla Firefox running on Linux / Mac / Windows

Home Page: https://TheComputerNoob.com

Python 100.00%
google meet bot autopilot automation chrome mozilla firefox school college

meetninja-google-meet-bot's Introduction

MeetNinja: Google Meet Bot

Description

A super dope tool that attends your Google Meet(s) for you on autopilot while you sleep or work on something else. MeetNinja flawlessly handles multiple Meet sessions, background activity, scheduling, and also disables your Meet camera and microphone in-Meet! It is also equipped with color-coded, concise activity logging (verbose) with timestamps of all joining and ending activities for each Meet session (to assure you—upon your return—that your Meets were indeed successfully attended). Supports Google Chrome and Mozilla Firefox, on Linux, Mac, and Windows.

Example Execution

This project was created in Python, for the fellow comrades and homies.

Features

  • Multiple Meet sessions supported, according to the user-defined Meet schedule
  • Works even with the display on sleep (and will not wake it up either)
  • Works even in the background while you do other work (as long as you do not explicitly "Minimize" the browser window MeetNinja generates; just keep it open in the background, beneath your current open window(s))
  • Automatically disables camera and microphone in-Meet
  • Color-coded and concise activity logging (verbose) with timestamps of all activities
  • Supported web browsers: Google Chrome and Mozilla Firefox
  • Supported platforms: Linux, Mac, and Windows
  • Automatically checks for a newer MeetNinja version upon every execution

Usage

  1. Clone this repository or download it as a ZIP file (and extract its contents)

  2. PIP-install all the packages mentioned under the last subheading on this page, either automatically via running the pip install -r requirements.txt command, or manually via separate pip install commands for each package

  3. Do not run MeetNinja.py just yet. First, open it using any editor, and substitute your inputs (Google Meet URLs, their start times, duration of all Meets, Google username, password, path to the web driver file of your respective browser and OS) into the dummy values in the following section of the code (highlighted):

Values to Substitute

  1. Save your changes, and run the program (either by double-clicking MeetNinja.py, or executing it via a terminal window if you are feeling particularly geeky today)

  2. Take the chillest of pills (figuratively) and abandon all your worries; MeetNinja's got your back

What MeetNinja Does

Upon execution, MeetNinja generates a new Google Chrome / Mozilla Firefox window in Developer Mode, and this new window stays idle until it is time to join your first Meet (according to your schedule). Once it is time, MeetNinja automatically logs you into your Google account, navigates to the first Meet URL, disables your camera and microphone, joins the Meet session, and then waits until the duration specified (60 minutes by default) before ending the call and repeating the same for the next Meet session (whenever it may be) and so on, until your schedule has exhausted (phew) — all this with just a single (double) click!

Tip(s) for CyberJedi-like Usage

Wake-on-LAN

You may use MeetNinja paired with Wake-on-LAN / Magic Packet (if your motherboard and network adapter support it) for the optimal, ultimate "Away From Keyboard" automation experience.

You would be surprised by how common a feature WoL is in most modern and semi-modern systems. Hence, definitely do check it out. It is super cool, convenient, easy, helpful, and—importantly—native.

I highly recommend this Android app (ad-free, free, light, simple) for sending WoL packets to your computer system over the air and triggering a wake-up from the Hibernation / Sleep state without even touching the system (ironic how you would wake your system up so you could sleep, hah!).

Chrome Remote Desktop / Microsoft's RD Client

You may also need or use the above remote desktop client(s) if you need to mid-sleep-check on your progress or if your computer system has a login password you may need to enter remotely after a Wake-on-LAN.

Note

  1. MeetNinja works even in the background while you do other work on other windows, as long as you do not explicitly "Minimize" MeetNinja's generated browser window; just keep it open in the background, beneath your current open window(s)

  2. There is deliberately no Headless Mode (at the moment) due to potential complications arising from exiting MeetNinja while a Meet is still active (such as the Meet not relatively "naturally" ending and you being a part of the Meet unknowingly till the end of time)

  3. Although you may abort the process at any stage or time by pressing CTRL + C from within the MeetNinja console / terminal window, it is not advised to do so from within an active Meet (for reasons similar to the previous point)

  4. There is deliberately no audio output muting due to potential situations such as roll-calls or surprise questions for which you may need to intervene unexpectedly. Besides, you can either mute the tab manually if you are working on something else; or just entirely mute your system if you are planning on sleeping anyway

Dependencies to PIP-Install

  • selenium (for web browser-based automation)
  • requests (for automatic update checks)
  • datetime (for scheduling & timestamps)
  • pause (for scheduling)
  • colorama (for colors)
  • termcolor (for colors)

My website: https://TheComputerNoob.com

meetninja-google-meet-bot's People

Contributors

shur1k-n avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

meetninja-google-meet-bot's Issues

Initializing browser... Failed!

hey ..just figuring out everything was fine until this"Initializing browser...�[31m Failed!�[0m"
can you help me out with this?
Screenshot 2020-11-30 at 8 53 54 PM

Selenium Problem

Hi, i cant manage to get the share screen function to work with the chrome browser.
I dont know if i have to add a new flag or something, i tried with --enable-usermedia-screen-capturing, --allow-http-screen-capture and --check-screen-recording-permission but nothing,
any advise would be greatly receive thanks!

Ending Meet fails

yo bro the bot joins the classes and leaves too but when it leaves the class it encounters some error and bot stops although it has left the class but it says leaving meet failed any fixes and there is no sound

Pop-up blocks "Join" button

WHEN WE GO TO MEET PAGE IT BLOCKS MIC AND CAM THEN IT SHOWS THE POPUP WHICH IS TO BE DISMISSED THAT POPUP BLOCKS JOIN MEET BUTTON

Couldn't end the meet successfully

hey..can you check this out?

Navigating to Google Meet #1...�[32m Success!�[0m
Entering Google Meet #1...�[32m Success!�[0m
�[32mNow attending Google Meet #1 @09:19:22�[0mTraceback (most recent call last):
  File "/Users/reeswar/Dropbox/My Mac (Reeswars-MacBook-Pro.local)/Downloads/MeetNinja-Google-Meet-Bot-master/MeetNinja.py", line 242, in <module>
    endMeet()
  File "/Users/reeswar/Dropbox/My Mac (Reeswars-MacBook-Pro.local)/Downloads/MeetNinja-Google-Meet-Bot-master/MeetNinja.py", line 177, in endMeet
    endButton.click()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py", line 80, in click
    self._execute(Command.CLICK_ELEMENT)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
  (Session info: chrome=87.0.4280.67)


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/reeswar/Dropbox/My Mac (Reeswars-MacBook-Pro.local)/Downloads/MeetNinja-Google-Meet-Bot-master/MeetNinja.py", line 259, in <module>
    print(e)
NameError: name 'e' is not defined
>>> 

can't enter the meeting

I'm using the geckodriver, i have inserted everything, installed every PIP requirement, everything works except entering the meeting, i have no idea why

web browser not secure

heyy,i have already read the previous threads regarding this issue and tried everything including diabling two step verification,switching on java script and allowing less secure stuff to run, but it still doesnt work,wud appreciate if u cud help.
Cheers!!

2021-06-15.12-26-04.mp4

ModuleNotFoundError: No module named 'selenium'

Traceback (most recent call last):
File "/Users/reeswar/MeetNinja-Google-Meet-Bot-master/MeetNinja.py", line 3, in
from selenium import webdriver; import requests
ModuleNotFoundError: No module named 'selenium'

Changes a few things up but it doesn't work anymore

Hello Shuriken,

So I tried to add the function of:

Clicking Meet link
Launch chrome with default profile

But the code is failing me right now:

#!/usr/bin/env python3

from selenium import webdriver; import requests
from selenium.webdriver.support import expected_conditions as when
from selenium.webdriver.common.by import By as by
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.common.keys import Keys
import pause; import os; import re
import time; from datetime import datetime
import colorama; from termcolor import colored

colorama.init()

###################################################################
#                        Meets                           HH:MM:SS DD/MM/YYYY
MEETS = {"1 https://classroom.google.com/u/3/c/": "21:00:00 24/02/2021",
         #"2 https://meet.google.com/": "08:29:45 05/02/2021",
         #"3 https://meet.google.com/lookup/": "09:14:50 05/02/2021",
         #"4 https://meet.google.com/": "09:59:50 05/02/2021",
         #"5 https://meet.google.com/": "10:43:00 05/02/2021",
         #"6 https://meet.google.com/": "11:29:00 05/02/2021",
         #"7 https://meet.google.com/": "12:59:00 05/02/2021",
         #"8 https://meet.google.com/": "13:44:00 05/02/2021",
         # Add more Meet URLs (if any) using the same format as above
         }

DURATION = 40 # Duration of each Meet in minutes
USERNAME = 
PASSWORD = 

BROWSER_DRIVER = "ChromeDrivers/linux64/chromedriver"

#                   Google Chrome
#           Linux: "ChromeDrivers/linux64/chromedriver"
#             Mac: "ChromeDrivers/mac64/chromedriver"
#        Mac (M1): "ChromeDrivers/mac64_m1/chromedriver"
#         Windows: "ChromeDrivers/win32/chromedriver.exe"

#                   Mozilla Firefox
#     Linux (x32): "FirefoxDrivers/linux32/geckodriver"
#     Linux (x64): "FirefoxDrivers/linux64/geckodriver"
#             Mac: "FirefoxDrivers/mac64/geckodriver"
#   Windows (x32): "FirefoxDrivers/win32/geckodriver.exe"
#   Windows (x64): "FirefoxDrivers/win64/geckodriver.exe"
##################################################################

# All required interactive elements' locators (text fields, buttons, etc.)
usernameFieldPath = "identifierId"
usernameNextButtonPath = "identifierNext"
passwordFieldPath = "password"
passwordNextButtonPath = "passwordNext"
linkButton1Path = "//*[contains(text(), 'meet.google.com')]"
linkButton2Path = "//*[contains(text(), 'meet.google.com')]"
joinButton1Path = "//span[contains(text(), 'Join')]"
joinButton2Path = "//span[contains(text(), 'Ask to join')]"
endButtonPath = "[aria-label='Leave call']"

currentVersionNumber = "v3.1.1"
VERSION_CHECK_URL = "https://raw.githubusercontent.com/SHUR1K-N/MeetNinja-Google-Meet-Bot/master/versionfile.txt"
BANNER1 = colored('''
   ███▄ ▄███▓▓█████ ▓█████▄▄▄█████▓ ███▄    █  ██▓ ███▄    █  ▄▄▄██▀▀▀▄▄▄
  ▓██▒▀█▀ ██▒▓█   ▀ ▓█   ▀▓  ██▒ ▓▒ ██ ▀█   █ ▓██▒ ██ ▀█   █    ▒██  ▒████▄
  ▓██    ▓██░▒███   ▒███  ▒ ▓██░ ▒░▓██  ▀█ ██▒▒██▒▓██  ▀█ ██▒   ░██  ▒██  ▀█▄
  ▒██    ▒██ ▒▓█  ▄ ▒▓█  ▄░ ▓██▓ ░ ▓██▒  ▐▌██▒░██░▓██▒  ▐▌██▒▓██▄██▓ ░██▄▄▄▄██
  ▒██▒   ░██▒░▒████▒░▒████▒ ▒██▒ ░ ▒██░   ▓██░░██░▒██░   ▓██░ ▓███▒   ▓█   ▓██▒
  ░ ▒░   ░  ░░░ ▒░ ░░░ ▒░ ░ ▒ ░░   ░ ▒░   ▒ ▒ ░▓  ░ ▒░   ▒ ▒  ▒▓▒▒░   ▒▒   ▓▒█░
  ░  ░      ░ ░ ░  ░ ░ ░  ░   ░    ░ ░░   ░ ▒░ ▒ ░░ ░░   ░ ▒░ ▒ ░▒░    ▒   ▒▒ ░
  ░      ░      ░      ░    ░         ░   ░ ░  ▒ ░   ░   ░ ░  ░ ░ ░    ░   ▒
         ░      ░  ░   ░  ░                 ░  ░           ░  ░   ░        ░  ░''', 'blue')
BANNER2 = colored('''                    ------------------------------------''', 'blue')
BANNER3 = colored('''                    || MeetNinja: The Google Meet Bot ||''', 'red')
BANNER4 = colored('''                    ------------------------------------''', 'blue')


def printBanner():
    print(BANNER1), print(BANNER2), print(BANNER3), print(BANNER4)


def versionCheck():
    global currentVersionNumber

    print("\nChecking for MeetNinja updates...", end="")

    crawlVersionFile = requests.get(VERSION_CHECK_URL)
    crawlVersionFile = str(crawlVersionFile.content)
    crawlVersionFile = re.findall(r"([0-9]+)", crawlVersionFile)
    latestVersionNumber = int(''.join(crawlVersionFile))

    currentVersionNumber = re.findall(r"([0-9]+)", currentVersionNumber)
    currentVersionNumber = int(''.join(currentVersionNumber))

    if currentVersionNumber >= latestVersionNumber:
        print(colored(" You are using the latest version!\n", "green"))
    elif currentVersionNumber < latestVersionNumber:
        print(colored(" You are using an older version of MeetNinja.", "red"))
        print(colored("\nGet the latest version at https://github.com/SHUR1K-N/MeetNinja-Google-Meet-Bot", "yellow"))
        print(colored("Every new version comes with fixes, improvements, new features, etc..", "yellow"))
        print(colored("Please do not open an Issue if you see this message and have not yet tried the latest version.", "yellow"))


def fixTimeFormat(rawTime):
    rawTime = list(rawTime.split())
    times = list(map(int, rawTime[0].split(":")))
    dates = list(map(int, reversed(rawTime[1].split("/"))))
    startTime = dates + times
    return startTime


def timeStamp():
    timeNow = str(datetime.now())
    timeRegEx = re.findall(r"([0-9]+:[0-9]+:[0-9]+)", timeNow)
    return(timeRegEx[0])



def initBrowser():
    print("\nInitializing browser...", end="")
    if BROWSER_DRIVER.lower().startswith("chrome"):
        chromeOptions = webdriver.ChromeOptions()
        options = webdriver.ChromeOptions()
        options.add_argument("user-data-dir=/home/user/.config/chromium/Default")
    #w = webdriver.Chrome(executable_path="/usr/lib/chromium/chromium", chrome_options=options)

    driver = webdriver.Chrome(executable_path=BROWSER_DRIVER, options=chromeOptions)




def attendMeet():
    print(f"\n\nNavigating to Google Meet #{meetIndex}...", end="")
    driver.get(URL[2:])
    print(colored(" Success!", "green"))
    print(f"Entering Google Meet #{meetIndex}...", end="")

    try:
        linkButton = wait.until(when.element_to_be_clickable((by.XPATH, linkButton1Path)))
    except:
        linkButton = wait.until(when.element_to_be_clickable((by.XPATH, linkButton2Path)))
    try:
        joinButton = wait.until(when.element_to_be_clickable((by.XPATH, joinButton1Path)))
    except:
        joinButton = wait.until(when.element_to_be_clickable((by.XPATH, joinButton2Path)))
    if BROWSER_DRIVER.lower().startswith("chrome"):
        time.sleep(1)
        action.send_keys(Keys.ESCAPE).perform()
    time.sleep(1)
    linkButton.click()
    joinButton.click()

    print(colored(" Success!", "green"))
    time.sleep(1)
    print(colored(f"Now attending Google Meet #{meetIndex} @{timeStamp()}", "green"), end="")

    try:
        joinButton = wait.until(when.element_to_be_clickable((by.XPATH, joinButton1Path)))   # For another prompt that pops up for Meets being recorded
        time.sleep(1)
        joinButton.click()
    except:
        pass


def endMeet():
    endButton = driver.find_element_by_css_selector(endButtonPath)
    endButton.click()
    print(colored(f"\nSuccessfully ended Google Meet #{meetIndex} @{timeStamp()}\n", "red"), end="")


def genericError():
    # clrscr()
    print(colored(" Failed!", "red"), end="")
    print("\n\nPossible fixes:\n")
    print("1.1 Make sure you have downloaded the latest version of MeetNinja from the GitHub page (every new iteration brings fixes and new capabilities)")
    print("1.2 Make sure you have pip-installed all the required python packages mentioned in the README")
    print("2.1 Check your inputs and run MeetNinja again (make sure there are no leading zeros in the Meet start times)")
    print("2.2 And / Or make sure you have chosen the correct webdriver file respective of your web browser and operating system")
    print("3. Make sure the generated web browser is not \"Minimized\" while MeetNinja is working")
    print("4.1. Make sure the webdriver file is of the latest stable build (https://chromedriver.chromium.org/ or https://github.com/mozilla/geckodriver/releases)")
    print("4.2. And / Or make sure your chosen web browser is updated to the latest version")
    print("4.3. And / Or make sure the webdriver file is at least of the same version as your chosen web browser (or lower)")
    print("5. Make sure the small \"time.sleep()\" delays (in seconds) in the login() and attendMeet() functions are comfortable for your internet speed")
    print("6. Make sure your internet connection is stable throughout the process")
    print("\nPress Enter to exit.")
    input()
    try:
        driver.quit()
    except:
        pass


def clrscr():
    if os.name == 'posix':
        _ = os.system('clear')
    else:
        _ = os.system('cls')
    printBanner()


def hibernate():
    print("\nHibernating in 10 seconds. Press Ctrl + C to abort.")
    time.sleep(13)
    _ = os.system('shutdown /h /f')


############### Main ###############

if __name__ == "__main__":

    printBanner()

    versionCheck()

    try:
        DURATION *= 60
        driver = initBrowser()
        wait = webdriver.support.ui.WebDriverWait(driver, 7)
        action = ActionChains(driver)
        for meetIndex, (URL, rawTime) in enumerate(MEETS.items(), start=1):
            startTime = fixTimeFormat(rawTime)
            if (meetIndex <= 1):
                print(colored(f"Waiting until first Meet start time [{rawTime}]...", "yellow"), end="")
            else:
                print(colored(f"\n\nWaiting until next Meet start time [{rawTime}]...", "yellow"), end="")
            pause.until(datetime(*startTime))
            print(colored(" Started!", "green"))

            attendMeet()
            time.sleep(DURATION)
            endMeet()
        print("\n\nAll Meets completed successfully.")
        # hibernate()
        # Uncomment above to hibernate after a 10 second countdown upon completion of all Meets (Ctrl + C to abort hibernation)
        print("Press Enter to exit.")
        input()
        print("\nCleaning up and exiting...", end="")
        driver.quit()

    except KeyboardInterrupt:
        # clrscr()
        print("\n\nCTRL ^C\n\nThrew a wrench in the works.")
        print("Press Enter to exit.")
        input()
        print("\nCleaning up and exiting...", end="")
        driver.quit()
    except:
        print(e)
        # Uncomment above to display error traceback (use when reporting issues)
        genericError()

Error on bash:

Checking for MeetNinja updates... You are using the latest version!


Initializing browser...Traceback (most recent call last):
  File "/home/user/git/MeetNinja-Google-Meet-Bot/MeetNinja.py", line 217, in <module>
    action = ActionChains(driver)
  File "/home/user/.local/lib/python3.9/site-packages/selenium/webdriver/common/action_chains.py", line 72, in __init__
    if self._driver.w3c:
AttributeError: 'NoneType' object has no attribute 'w3c'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/git/MeetNinja-Google-Meet-Bot/MeetNinja.py", line 246, in <module>
    print(e)
NameError: name 'e' is not defined

Please let me know if you have any idea to improve this!

ModuleNotFoundError: No module named 'selenium'

im on windows 10 and when i try to run the meetninja bot it says "no module called selenium found even though i have installed all the required packages using cmd,pls help me.
thank you.Cheers!!!

error in README.md file

There is an error in the Readme file.
Under the "Usage" section, in the 2nd point, the spelling of requirements is wrong on "pip install -r requirments.txt" sentence.
Kindly update the above issue.
Thank you

Note: Screenshot is attached for the reference.

image

"TypeError: __init__() got an unexpected keyword argument 'service'" [SOLVED]

Hey kind dev!

I use 64bit Arch linux and latest firefox 85.0. And this error popped up. Any idea how to fix it?
Know naught about why the error service popped up. Read previous issues, could not fix it myself sorry.


   ███▄ ▄███▓▓█████ ▓█████▄▄▄█████▓ ███▄    █  ██▓ ███▄    █  ▄▄▄██▀▀▀▄▄▄
  ▓██▒▀█▀ ██▒▓█   ▀ ▓█   ▀▓  ██▒ ▓▒ ██ ▀█   █ ▓██▒ ██ ▀█   █    ▒██  ▒████▄
  ▓██    ▓██░▒███   ▒███  ▒ ▓██░ ▒░▓██  ▀█ ██▒▒██▒▓██  ▀█ ██▒   ░██  ▒██  ▀█▄
  ▒██    ▒██ ▒▓█  ▄ ▒▓█  ▄░ ▓██▓ ░ ▓██▒  ▐▌██▒░██░▓██▒  ▐▌██▒▓██▄██▓ ░██▄▄▄▄██
  ▒██▒   ░██▒░▒████▒░▒████▒ ▒██▒ ░ ▒██░   ▓██░░██░▒██░   ▓██░ ▓███▒   ▓█   ▓██▒
  ░ ▒░   ░  ░░░ ▒░ ░░░ ▒░ ░ ▒ ░░   ░ ▒░   ▒ ▒ ░▓  ░ ▒░   ▒ ▒  ▒▓▒▒░   ▒▒   ▓▒█░
  ░  ░      ░ ░ ░  ░ ░ ░  ░   ░    ░ ░░   ░ ▒░ ▒ ░░ ░░   ░ ▒░ ▒ ░▒░    ▒   ▒▒ ░
  ░      ░      ░      ░    ░         ░   ░ ░  ▒ ░   ░   ░ ░  ░ ░ ░    ░   ▒
         ░      ░  ░   ░  ░                 ░  ░           ░  ░   ░        ░  ░
                    ------------------------------------
                    || MeetNinja: The Google Meet Bot ||
                    ------------------------------------

Checking for MeetNinja updates... You are using the latest version!


Initializing browser...Traceback (most recent call last):
  File "/home/user/git/MeetNinja-Google-Meet-Bot/MeetNinja.py", line 247, in <module>
    driver = initBrowser()
  File "/home/user/git/MeetNinja-Google-Meet-Bot/MeetNinja.py", line 141, in initBrowser
    driver = webdriver.Firefox(service=serv, options=firefoxOptions)
TypeError: __init__() got an unexpected keyword argument 'service'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/git/MeetNinja-Google-Meet-Bot/MeetNinja.py", line 279, in <module>
    print(e)
NameError: name 'e' is not defined

This browser or app may not be secure.

I am getting the following error

Couldn't sign you in
This browser or app may not be secure. Learn more
Try using a different browser. If you’re already using a supported browser, you can refresh your screen and try again to sign in.

Can't run because there is no module named pause

Traceback (most recent call last):
File "/home/kali/MeetNinja-Google-Meet-Bot/MeetNinja.py", line 9, in
import pause; import os; import re
ModuleNotFoundError: No module named 'pause'
I'm on linux, i'm using python3 and edited the credentials and everything but can't run it

init() got an unexpected keyword argument 'service'

Python 3.9.6 (v3.9.6:db3ff76da1, Jun 28 2021, 11:49:53)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license()" for more information.

===== RESTART: /Users/reeswar/MeetNinja-Google-Meet-Bot-master/MeetNinja.py ====
�[34m
███▄ ▄███▓▓█████ ▓█████▄▄▄█████▓ ███▄ █ ██▓ ███▄ █ ▄▄▄██▀▀▀▄▄▄
▓██▒▀█▀ ██▒▓█ ▀ ▓█ ▀▓ ██▒ ▓▒ ██ ▀█ █ ▓██▒ ██ ▀█ █ ▒██ ▒████▄
▓██ ▓██░▒███ ▒███ ▒ ▓██░ ▒░▓██ ▀█ ██▒▒██▒▓██ ▀█ ██▒ ░██ ▒██ ▀█▄
▒██ ▒██ ▒▓█ ▄ ▒▓█ ▄░ ▓██▓ ░ ▓██▒ ▐▌██▒░██░▓██▒ ▐▌██▒▓██▄██▓ ░██▄▄▄▄██
▒██▒ ░██▒░▒████▒░▒████▒ ▒██▒ ░ ▒██░ ▓██░░██░▒██░ ▓██░ ▓███▒ ▓█ ▓██▒
░ ▒░ ░ ░░░ ▒░ ░░░ ▒░ ░ ▒ ░░ ░ ▒░ ▒ ▒ ░▓ ░ ▒░ ▒ ▒ ▒▓▒▒░ ▒▒ ▓▒█░
░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░░ ░ ▒░ ▒ ░░ ░░ ░ ▒░ ▒ ░▒░ ▒ ▒▒ ░
░ ░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ▒
░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░�[0m
�[34m ------------------------------------�[0m
�[31m || MeetNinja: The Google Meet Bot ||�[0m
�[34m ------------------------------------�[0m

Checking for MeetNinja updates...�[32m You are using the latest version!
�[0m

Initializing browser...Traceback (most recent call last):
File "/Users/reeswar/MeetNinja-Google-Meet-Bot-master/MeetNinja.py", line 235, in
driver = initBrowser()
File "/Users/reeswar/MeetNinja-Google-Meet-Bot-master/MeetNinja.py", line 114, in initBrowser
driver = webdriver.Chrome(service=servicePath, options=chromeOptions)
TypeError: init() got an unexpected keyword argument 'service'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/reeswar/MeetNinja-Google-Meet-Bot-master/MeetNinja.py", line 267, in
print(e)
NameError: name 'e' is not defined

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.