actually wrote this one myself (which explains why it's so bad) and it works exactly as intended. to run, you need to start the game and do the first move yourself, then modify the section inside the first while loop before the second so it can only select neighbouring colours. After that, it should run smoothly and may give you a solution in 10 or so minutes depending on which pattern you choose.
I'm currently working on the second possible pattern and after slimming it down, it's 348 frames long, only 16 longer than my none botted tas I did ages ago. Will see what happens when I optimise this solution further