KAIST Safety Course Bot
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 π
App Screenshot
Usage
First, choose you target courses in the KAIST Safety Website. Then:
- For Windows/Mac users:
- We will be using Chrome and thus the chromedriver needs to be installed and moved in the right path (look it up on Google for installation help depending on your system).
- From the Release Page, download and run files that fit your operating system.
- Run the executable file
- Modify settings (have a look at the Configuration Settings). NOTE: you need to modify the
driver_path
with the path where chromedriver is saved - 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 kaist-safety-course-bot.py
Configuration Settings
The bot will ask for a few configuration inputs:
answer_quiz
: (default=true): if true, the bot will also answer the quiz for youdriver_path
: (default=/usr/bin/chromedriver) yourchromedriver
path (look at Setup above)mute_video
(default=true) mute videotarget_webpage
(default=’https://safety.kaist.ac.kr/main/main.do‘) target pageusername
(default=’YOUR_USERNAME’) your KAIST usernamevideo_id
(default=0) the video you want to watch signed with ‘μ κΈ°’ starting on the left
A config.yaml
file will be saved so that you don’t need to re-add these again.
You should then see some webpages automatically popping up and doing stuff!
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
- When the quiz is passed (>=60 points scored) the bot gets stuck since it cannot find the “NEXT” button. In this case, check if the quiz has been passed and you can stop the script with
Ctrl+C
. This could be fixed by checking the page source for keywords related to the completion. - Only Easy Authentication works for now (κ°νΈ 2λ¨κ³ μΈμ¦), so you need to set it up first Setup instructions
- After answering the quiz, the bot crashes: if it does though good news, you should have completed the lesson π
Changelog
- 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 - Automatic course selection (everything would be automatic this way)
- Add other authentication methods if user does not have Easy Auth
- 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!