[Userscript] Burn Manager (Review / Resurrect / Retire)


Upgraded to use Wanikani Open Framework

:point_right: [v2.0.0] - Converted this script to use Wanikani Open Framework.

Hi all… Burn Manager now uses the Wanikani Open Framework. Now, when you install Burn Manager, or when you update to this new version, you will be forwarded to a forum thread that explains how to install the Open Framework script. (Unless you already have the Open Framework installed, of course).

The Open Framework is an open-source userscript framework for simplifying the process of writing userscripts for Wanikani.


Works beautifully, like a freshly recharged お守り (charm). Thank you very much! ありがとうございます!


Just found this! I am so going to use this later! Installing now though =)

And yes, it is worth reviving this topic, let’s keep it alive! Another 12 months where it won’t get closed :wink:


Threads in the third-party app section don’t close after 12 months. :slight_smile:


Oh! Didn’t know! Well, that IS a good rule! =D
Well, still worth showing my support though! =^_^=


Yo @rfindley I tried using this script out as instructed with Chrome + TamperMonkey to resurrect a combination of 1000+ Burned Kanji / Vocab items and got rate limited hard. I don’t know the actual numerical rate limit but once exceeded, access to the WaniKani website itself was blocked seemingly every run attempt by a message like below for a minute or two (or until you disable the scripts).

{"error":"Rate limit exceeded","code":429}

I basically had to resort to resurrecting only Kanji one level at a time, and then switch to only Vocab one level at a time. I’d suggest introducing an option the user can check mark to induce a delay between each of the api requests you’re sending. I was going to manually add a setTimeout() somewhere, but… couldn’t figure out where to put it. :disappointed:


Yeah, it’s a pretty old script. They didn’t used to have rate-limiting on the resurrect/retire URLs, but apparently they do now.

Doing timeouts and retries with Promises is a little tricky, but it can be done. It’s the retire() function’s .fail section that needs to be modified. Unforunately, I don’t have time to work on it at the moment.