GithubHelp home page GithubHelp logo

bunk_bot's Introduction

THE BUNK BOT

Python 3.8.5 GitHub stars GitHub forks GitHub issues contributions welcome

Watch our YouTube tutorial on how to use this here!

The Bunk Bot is built on Python and its main purpose is to attend your online meetings/classes for you.

This bot gets the meeting ID of your meeting from Google Docs (note: your friend can upload this for you if you can't) and opens Google Meet and logs in on your behalf.

It can use both Speech Recognition and Image Processing techniques to interact with other people in the meeting.

Once the meeting is done, it closes the Google Chrome page and this process continues every time you have an online class to attend.

Speech Recognition is used to identify whether your enrollment number is being called out during attendance and the bot automatically types "present" in the chatbox.

Image Processing is used to convert all the messages in the chatbox into an array of strings and uses some string manipulation techniques to find the most common phrase most of the students said and type it in the chat box. For example, if 5 people said the answer was "11.5", the bot will type "11.5" in the chatbox and send it.

Libraries used:

  1. Image: Used for image processing. View the documentation here.

  2. WinSound: Can be used for playing a pre-recorded voice note of yourself saying "present". In this project, it has been used for signalling purposes. View the documentation here.

  3. PyAutoGUI: Simulates the mouse and keyboard. View the documentation here.

  4. PyTesseract: Converts images to text. View the documentation here.

  5. RE: Regular expressions for NLP. View the documentation here.

  6. Cv2: Used for image processing. View the documentation here.

  7. DateTime: Used to time the speech recognition and the image processing algorithms and give them specific times to run View the documentation here.

  8. speech_recognition: Used for speech to text conversion. View the documentation here.

  9. PyAudio: Used to access the microphone. View the documentation here.

Compatibility:

Changing the coordinates in PyAutoGUI is more than enough to implement this code on Google Meet, Zoom Meetings, Microsoft Teams or any other software you use to attend class.

CHANGES YOU HAVE TO MAKE:

A small amount of the code you see in this repository is hardcoded w.r.t to my computer. Changes that you have to make to implement this on your computer are:

  1. Change all the coordinates that PyAutoGUI uses. Refer to coordinate_finder.py to find the coordinates which are suitable for you (if you didn't understand any of this, please read the PyAutoGUI documentation).
  2. Change the file paths.
  3. Change the size of the crop in crop=img1[280:911,1520:1900] to crop=img1[y1:y2,x1:x2] where x1, x2, y1 and y2 are coordinates of the chatbox in the online classroom software (i.e Google Meet/ Zoom etc.)

These changes can be made in the global variables that is mentioned in the bunk_bot.py file. Can be found in the 15th line.

Fixes and Patches:

  1. An unknown exception thrown during image processing has been handled.
  2. Circular import error has been fixed
  3. Test files to check the working of the PyTesseract and Speech Recognition Libraries have been added to the folder Test Files. Use these to verify that you've downloaded them and that they're working.

Places to improve:

Currently planning on making a ChatBot which can hopefully have full fleged conversations.
You can provide your suggestions on this here.
Please contribute and make this better lads.

PLEASE NOTE:

For legal reasons,
This bot was purely made for educational purposes only and is meant as a fun way to learn and implement the libraries/packages mentioned above.
This bot is not meant to be used in any malicious way and we are not responsible for anyone actually using this bot to wrongfully attend online classes on his/her/their behalf.

bunk_bot's People

Contributors

sujaysathya avatar dhiganthrao avatar sumba101 avatar prithamimmanuel avatar saicharanb avatar ksbsatya avatar nielparekh avatar

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.