Chesshook
Chess bot userscript for chess.com
Usage:
- Install a userscript manager, such as Tampermonkey or Violentmonkey.
- Create a new script with the content of: chesshook.user.js
- Navigate to chess.com
- Note: The hotkey to toggle the window is Alt+K, but it should render by default
Features:
- Puzzle solver
- Intercepts puzzle solutions
- Solves puzzles with 100% accuracy in <1 second each

Render Threats
- Utilizes some built in chess.com functions to render undefended pieces, underdefended pieces, pinned pieces, and mates

Autoqueue
- Automatically begins a queue for a new game after the current game ends
Engine integration
- Includes a few native engines, but can also use any UCI-compliant engine using this
- Renders a green arrow on the board to indicate the best move
Automove
- Plays the best move generated by the selected engine
- Has a minimum and maximum move time; try to play the move within that time range
- Setting max to 0 will move instantly when the engine has a move
- Is detected by the site under 'didUseCheatMouse', but that does not appear to produce a ban
Legit mode
- Disables the engine and automove features
Bot game exploits
- 'Force Bot Scholars Mate': Will force the bot to play scholars mate, counts as defeating the bot for the crowns
- 'Force Draw Against Bot': Will force the bot to agree to draw
Engines:
- Betafish, can beat the highest rated named free bot on chess.com (Francis, 2300 elo)
- Random, plays a random legal move
- Checkmate, Check, Capture, Push, inspired by Tom7's paper for SIGBOVIK 2019, not very good at chess
- External, can use any UCI-compliant engine using an intermediary server written in Golang