Coder Social home page Coder Social logo

kaist-safety-course-bot's Introduction

KAIST Safety Course Bot

Latest release Latest releasePython Selenium

A bot for automatically completing the KAIST safety course.

This bot makes viewing the (quite annoying) lab safety videos automatic, so you don't have to click many times on the videos that you need to see to complete the course. Also, considering that as of the time of writing the quiz can't be failed, the bot can additionally complete it too :D

NOTICE (2022/10/13)

Due to changes in KAIST's website, the bot was upgrade and can now deal with the video viewing in the new website, while the quiz is still in the works 한국어판: en

App Screenshot

Image

Usage

First, choose you target courses in the KAIST Safety Website. Then:

  • For Windows/Mac users:
  1. From the Release Page, download and run files that fit your operating system! Note: yoy may need to disable the antivirus if it detects it as false positive.
  2. Follow the instructions and enjoy!
  • For Linux users (or developers): We will be using Selenium for automating the webpages. The first step is to install it along with the requirements:
pip install -r requirements.txt

then, run

python run.py

Important Note

The scope of these scripts is NOT to disregard lab safety, which is extremely important for researchers! The purpose is mainly to automate some boring stuff for fun - besides, don't you feel like a chad cheating the system?

On a serious note, most people just find it annoying having to listen to mandatory courses they are not interested in so they skip them manually. The exam can just be passed by failing the first time and completing the answers after knowing the results. So my question is: does this make sense? Why not just automate this tedious and - for most - time-wasting process?

PS: I'm not responsible for inappropriate use of this software of course ;) Feel free to contact me anytime though if you need help or have some feedback

Known Issues

  • No quiz for the moment, still in the works ;)

Changelog

  • v1.0.1: Bug fixes: fix bug with infinite recursion and popups
  • v1.0.0alpha
    • Updated for the new website
    • Big GUI overhaul!
    • Added option for fast skipping of videos
    • Added login with multiple options
  • v0.2.0: new GUI
    • Added GUI with PySimpleGUI
    • In-app help and link
    • Add stoppable thread for selenium driver
    • Source code polishing
    • Misc. fixes
  • v0.1.0: first release

Contribute

Feel free to contribute and open Issue/PRs!

Here are some ideas of things to be done:

  • Create executable for Windows/Mac
  • Add GUI
  • Automate chromedriver installation
  • Add other authentication methods if user does not have Easy Auth
  • Add quiz answering
  • Fix final step: although the quiz is answered correctly, the user does not have any prompt about the finished course since the bot crashes
  • Progress bar or better progress print - now each second there is a bit ugly printing
  • Add tests for Windows version
  • Add tests for Mac version
  • Add tests for Linux version
  • ... Any additional feedback!

You may also try reusing some code for automating something else ^^


PS: the original scope was to save time, but I took much longer to create this bot rather than just clicking on the screen myself and remembering the answers kkk. Hopefully though, it will save other people's time!

kaist-safety-course-bot's People

Contributors

fedebotu avatar snp0301 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

kaist-safety-course-bot's Issues

Bot gets stuck when passing the quiz

Currently, the bot has no way of knowing when the quiz is over. A function for understanding when the quiz is over would be needed.

This function will probably need to be modified accordingly. Looking forward to your contribution! ^^

Korean Translation

It would be very useful to have the app translated in Korean!
Will be grateful if you would like to help :)

Login only works with "EasyAuth"

The current login only works with the "Easy Authentication" method - that many people actually don't have. If this happens, then the program stops. A way to select different logins is needed - one that can handle a page change and wait for user input (due to password and OTP code).

This function will be a good starting point if you want to contribute!

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.