Skip to content

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

⚠️READ SAFETY AND ETHICS BEFORE USE⚠️

🤖 Auto Edgenuity Answer Bot

An automated bot that uses AI to answer Edgenuity quiz questions. Connects to your browser via Selenium, reads questions and answer choices, queries a local AI model through Ollama, and submits answers automatically — all through a live dark-themed GUI.


✨ Features

  • AI-Powered Answering — Uses local or cloud Ollama models (DeepSeek-R1, GPT-OSS, etc.) to answer questions intelligently
  • Multiple Question Types — Multiple choice, multi-select, dropdown/cloze, free-write, drag-and-drop, and multi-part questions
  • Smart Retry Logic — Automatically retries wrong answers up to 2 times with escalating prompts that exclude already-wrong choices
  • Video Skipping — Skips Edgenuity videos by boosting playback speed (up to 16x) or seeking to the end
  • Real-Time GUI — Dark-themed interface with live logs, AI progress bar, video progress bar, stats, and a session timer
  • Seamless Browser Integration — Attaches to an existing Opera GX session, no new browser window needed
  • Push Notifications — Sends alerts via ntfy.sh when assignments complete or errors occur

📋 Requirements

  • Python 3.7+
  • Ollama installed and running
  • Opera GX browser
  • ChromeDriver v145 (place in the same folder as the script)

🚀 Setup

1 — Install Python dependencies

pip install selenium requests

2 — Install Ollama and pull a model

Download Ollama from https://ollama.com/download, then run:

ollama pull deepseek-r1

3 — Launch your browser with remote debugging

Any Chromium-based browser works. Close it fully first, then launch it from the command line with --remote-debugging-port=9222. Pick your browser below:

Note: Make sure you use the correct ChromeDriver version for your browser's version. ChromeDriver v145 is included and matches Opera GX and Chrome around that release. Check chromedriver.chromium.org if you need a different version.


Opera GX (default/recommended)

"C:\Users\caleb\AppData\Local\Programs\Opera GX\opera.exe" --remote-debugging-port=9222

Google Chrome

"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222

On macOS:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222

On Linux:

google-chrome --remote-debugging-port=9222

Brave

"C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe" --remote-debugging-port=9222

On macOS:

/Applications/Brave\ Browser.app/Contents/MacOS/Brave\ Browser --remote-debugging-port=9222

Microsoft Edge

"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --remote-debugging-port=9222

On macOS:

/Applications/Microsoft\ Edge.app/Contents/MacOS/Microsoft\ Edge --remote-debugging-port=9222

After launching, open one tab and navigate to your Edgenuity test page before running the script.

4 — Place ChromeDriver

Put chromedriver.exe (v145) in the same folder as auto_answer.py. The script detects it automatically.


🖥️ Usage

python auto_answer.py

The GUI launches automatically. The bot will:

  1. Connect to your Opera GX browser session
  2. Find and switch to the Edgenuity tab
  3. Read the current question and answer choices
  4. Send the question to the AI and wait for a response
  5. Click the correct answer and submit
  6. Handle retries if the answer is wrong
  7. Skip videos and navigate to the next question/page

GUI Controls

Control Description
Pause / Resume Temporarily halt and continue the bot
Stop End the session immediately
D key toggle Enable/disable D key spam after video reload
Video speed toggle Enable/disable automatic video speed boost
Speed multiplier Set a custom playback speed (default: 16x)

⚙️ Configuration

All settings are at the top of auto_answer.py:

Setting Default Description
OLLAMA_MODEL gpt-oss:120b-cloud AI model to use
OLLAMA_USE_CHAT_API True True for cloud/chat models, False for local generate models
MAX_QUESTIONS 50 Safety limit — max questions per run
STEP_DELAY 0.2 Seconds between actions (lower = faster)
VIDEO_SPEED_MULTIPLIER 16.0 Video playback speed multiplier
D_KEY_PRESS_ENABLED True Spam D key after video page reload
NTFY_ENABLED True Send push notifications via ntfy.sh
NTFY_TOPIC edgenuity_bot Your ntfy.sh topic name

📚 Supported Question Types

Type Description
Multiple Choice Single correct answer from a list of options
Multi-Select Multiple correct answers (e.g. "Choose 3 correct answers")
Dropdown / Cloze Fill-in-the-blank with dropdown menus
Free Write Short answer — AI generates a text response
Drag and Drop Item matching and sorting questions
Multi-Part Gated questions that unlock sequentially
Videos Skipped by boosting speed or seeking to end

🔧 Troubleshooting

"Cannot reach debug port"

  • Make sure Opera GX was launched with --remote-debugging-port=9222
  • Only one instance of Opera GX should be open
  • Check that nothing is blocking port 9222 (firewall, antivirus)

"Ollama is not running"

  • Start the Ollama application
  • Confirm the model is downloaded: ollama run deepseek-r1
  • Verify it's accessible at http://localhost:11434

"Could not find Edgenuity tab"

  • Make sure an Edgenuity page is open and fully loaded in Opera GX
  • Only one Edgenuity tab should be open

"Model warm-up failed"

  • Confirm Ollama is running and the model exists
  • Try running ollama run deepseek-r1 in a terminal first to test

Questions not detected

  • Make sure you're on an active quiz or test page, not a lesson or summary
  • Check the live log for selector errors — some newer page layouts may not be supported yet

Performance Tips

  • Local models (e.g. deepseek-r1) are fastest and have no rate limits
  • Cloud models (e.g. gpt-oss) tend to be more accurate but slower
  • Very low STEP_DELAY values can cause missed elements — 0.2 is a safe minimum
  • VIDEO_SPEED_MULTIPLIER values above 16x may not work on all videos

⚠️ Safety & Ethics

Read this section in full before using this tool.

Academic Integrity

Using this bot to complete Edgenuity assignments is academic dishonesty. Schools and districts have explicit policies against automated cheating tools. Potential consequences include:

  • Failing grades on affected assignments or entire courses
  • Suspension or expulsion depending on your institution's policies
  • A permanent disciplinary record that can impact college admissions
  • Being required to retake courses or losing credit entirely

Platform Terms of Service

Edgenuity's Terms of Service prohibit automated or non-human interactions with their platform. Using this tool may result in:

  • Your account being flagged, suspended, or permanently banned
  • Edgenuity notifying your school administration directly
  • Detection via activity monitoring — abnormal answer speed, completion patterns, and browser automation signatures can all trigger alerts

Technical & Privacy Risks

  • This script attaches to a live browser session that has full access to your Edgenuity account
  • Your login credentials and student data are accessible to whatever is running the script
  • Using untrusted forks or modified versions of this script could expose your account to theft
  • Running automation software may trigger security alerts on school-managed devices or networks

What This Tool Should NOT Be Used For

  • Completing graded assignments that affect your final grade
  • Bypassing required learning content — videos, lessons, and assessments exist for a reason
  • Gaining an unfair advantage over classmates
  • Use on school-owned devices or school-monitored networks

Responsible Use Guidelines

If you choose to use this tool despite the risks above:

  • Use it only on your own personal device and home network
  • Never use it on high-stakes assignments (finals, credit-bearing assessments)
  • Do not encourage others to cheat or share your results
  • Understand the material yourself — this tool does not replace learning
  • Accept full personal responsibility for any consequences

A Note on AI Accuracy

This bot is not perfect. The AI makes mistakes, and a string of suspiciously fast wrong-then-right answers can draw more attention than a student who simply struggled honestly. There is no guarantee of a passing score.


This project exists for educational and research purposes — to demonstrate browser automation with Selenium, local LLM integration via Ollama, and real-time GUI design with Tkinter. The author does not endorse or encourage academic dishonesty in any form.


📄 License

Provided as-is with no warranty of any kind. By using this software you accept full responsibility for any consequences that result from its use.

About

EdgenAuto is an advanced Edgenuity bot.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages