GithubHelp home page GithubHelp logo

atharva-lipare / ms-teams-auto-joiner Goto Github PK

View Code? Open in Web Editor NEW
88.0 3.0 22.0 103 KB

Python script to automatically join Microsoft Teams meetings appearing in your calendar.

Python 100.00%
python3 selenium-webdriver microsoft-teams meeting python-script twilio-sms-api

ms-teams-auto-joiner's People

Contributors

atharva-lipare avatar wolfieeee 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ms-teams-auto-joiner's Issues

add heroku deployment?

i think deploying on heroku or glitch is a perfect idea for those lazy to wake up and turn on the computer to run the script

Doesn't leave the meetings

Hi! I modified the values as you have instructed in the config.Json and still the meeting doesn't end even though the number of minimum participants are crossed i.e., 50 (Input value). If the meeting isn't left it won't join any other meeting, I've checked the code and even tried tweaking it by changing default minimum value to 50. Nothing works, I've checked the code twice before executing, the data is working as login happens smoothly, the meetings joining is accurate too. Only issue is that it doesn't leave when the organizer (admin person) hasn't left but the meeting has less than minimum participants. I have noticed that its because it doesn't open the active participants to scan it in certain intervals. I hope you understood my situation and can help out. Thank you!

Script working only for one day

As the calendar view is switched to the "Day" view, the script works only for that day (i.e. the day on which the script is started).

Refreshing the page after some interval may be a solution for this.

Re-Joins the left meeting

Everything works perfectly but it enters back the meeting which it has just left on reloading. My teacher kept noticing me for joining and leaving the meeting several times and she caught me that i was using a bot XD . I am new to python and github both, just tried few editing but ended messing it up. Please help me out

I tried adding one more function:

def check_and_rejoin_meeting():
global curParticipants
global current_meeting
global about_to_join_meeting
joins = wait_and_find_elements_by_xpath('//button[.="Join"]', 3)
if len(joins) == 0: # no meeting scheduled
return
joins[-1].click() # join the latest meeting scheduled i.e if join buttons for 9, 10 A.M available, will join 10 A.M
elem = wait_and_find_element_by_xpath(
'//[@id="page-content-wrapper"]/div[1]/div/calling-pre-join-screen/div/div/div[2]/div[1]/div['
'2]/div/div/section/div[2]/toggle-button[1]/div/button')
about_to_join_meeting=browser.title
if about_to_join_meeting != current_meeting :
current_meeting=browser.title
if elem.get_attribute('aria-pressed') == 'true': # turn off camera
elem.click()
elem = wait_and_find_element_by_xpath('//
[@id="preJoinAudioButton"]/div/button')
if elem.get_attribute('aria-pressed') == 'true': # turn off microphone
elem.click()
wait_and_find_element_by_xpath('//button[.="Join now"]').click() # join meeting
if(config['use_twilio']==True):
global check
global meeting_name
meeting_name=browser.title
check = 0
try:
client.messages.create(
to=config['your_no'],
from_=config['twilio_no'],
body=f"Hi {config['nickname']}, I joined the meeting named {meeting_name} at {datetime.now()}. Hope you're doing well"
)
except:
print('Twilio service failed')
print('Joined the meeting at {}'.format(datetime.now()))
sleep(60 * 5)
browser.execute_script("document.getElementById('roster-button').click()")
sleep(sleepDelay)
num_str = wait_and_find_elements_by_xpath(
'//span[@Class="toggle-number"][@ng-if="::ctrl.enableRosterParticipantsLimit"]')
if len(num_str) >= 2:
if num_str[1].text[1:-1] != '':
curParticipants = int(num_str[1].text[1:-1])
else:
browser.execute_script("document.getElementById('roster-button').click()")
else:
browser.get(TEAMS_URL)
browser.refresh()
sleep(5)
check_and_rejoin_meeting()

Error

Everything works fine but when chrome browser open it cannot join meeting also said no audio channel receiver found on cmd and continuously loop again and again..! i have put error from debug file.!

[1119/115014.628:ERROR:process_reader_win.cc(123)] NtOpenThread: {Access Denied} A process has requested access to an object, but has not been granted those access rights. (0xc0000022)
[1119/115014.937:ERROR:exception_snapshot_win.cc(99)] thread ID 140 not found in process
[1119/115015.110:ERROR:process_reader_win.cc(123)] NtOpenThread: {Access Denied} A process has requested access to an object, but has not been granted those access rights. (0xc0000022)
[1119/115015.110:ERROR:exception_snapshot_win.cc(99)] thread ID 4600 not found in process
[1119/115015.992:ERROR:process_reader_win.cc(123)] NtOpenThread: {Access Denied} A process has requested access to an object, but has not been granted those access rights. (0xc0000022)
[1119/115015.992:ERROR:exception_snapshot_win.cc(99)] thread ID 6164 not found in process

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.