[Userscript] Self-Study Quiz

Open Framework has to be the first script to run. Assuming you are using TamperMonkey as your script host, open the TamperMonkey dashboard (where the list of installed scripts are), click on the left-most column header (“#”) to sort by that column, and make sure Open Framework is in the #1 position.

If that doesn’t solve the issue, try opening the Javascript console (press F12 and click the Console tab) and post any errors you see there.

Also, if you are using Firefox browser and you have the privacy settings set too high, it prevents indexeddb from being accessed, and that’s where Open Framework needs to store cached data and files.

Thank you so much! I was just going to respond as I found this thread where you explained it:

So smart, this is much appreciated, thank you!

Is there a more detailed user guide available?

Sorry, there isn’t. What do you want to do?

I’ve been using this script for a while to study items from a specific level. Since yesterday it doesn’t seem to be working anymore. If I go to any level page (pleasant, painful etc) the option to start a quiz is missing. I can still access a quiz from the menu though. The problem is that I can’t quiz a specific level anymore.

Yeah, Wanikani has been updating a lot of pages lately without warning, so things are breaking. In this case, the Self Study Hide Info is what broke. I’ll let you know when it’s fixed.

Thank you!

Give it a try now, after upgrading Open Framework, Self-Study Quiz, and Self-Study Hide Info.

It’s working again! Thank you so much! I appreciate it.

Love the script but a recommendation - to be able to write digits, not spell it out; for example, "五台’ can write as the answer “5 machines” - don’t have to spell out “five”. On wanikani, can write the digit or spell out the number, but in the Self Study Quiz, you have to spell out the whole number.

Self-Study Quiz relies on the data that Wanikani provides, and for some reason, they don’t provide their ‘whitelist’ info, which is where the digit forms are found. You could add a synonym in WK, though… those do appear in they data they provide.

Yes they do. This is supported by the API. Check the auxiliary_meanings object attribute of the subject endpoint in the API documentation. I use this information in Item Inspector.

Yeah, I’m familiar with auxiliary_meanings. There are additional meanings that WK supports that don’t appear in auxiliary_meanings (there’s something slightly different about the non-published ones, but I can’t remember what), and I had assumed that was the case here since it didn’t work for @RyanLion.

But as it turns out, in this case “5 machines” is indeed in the auxiliary_meanings list. So, I looked in Self-Study Quiz, and sure enough… auxiliary_meanings isn’t implemented there. It seems I added it to Double-Check, but not Self-Study Quiz.

(By the way, one side note regarding auxiliary_meaning… if an entry contains any numeric digits, you’re supposed to disable typo forgiveness so, for example, it won’t accept, 10000 instead of 1000)

:point_right: [v3.0.37] - Add support for auxiliary_meanings whitelist.

(Note: The blacklist is not implemented yet. I don’t think it will be a lot of work, but I don’t have enough time to implement and test it at the moment)

I thought blacklisted meanings were not exposed in the API?

Thank you @rfindley. It’s such a small thing. It is so great to use for audio learning - is what I use it for.

Both are in the API:

'[{"type":"whitelist","meaning":"5 Machines"},
{"type":"blacklist","meaning":"One Machine"}]'

But Tofugu discovered after creating those two categories that there are some additional circumstances that aren’t so… well, black-and-white. I’d have to dig around a bit to find the info about it.

Oh… Hmm. This was a long time ago, but I remember looking for (I thought) blacklisted items in the API and not finding them… You know what, this is what I was thinking of

Ahh, that shook a memory loose…

There are some “gray-listed” meanings that aren’t found in the API. Basically, they’re not technically wrong, but WK discourages using them because of ambiguity. I think the example was if you answer “giant” for 巨大, because the user might be thinking of 巨人. “Gigantic” is listed in the meanings, and there are no auxiliary_meanings, but I think “giant” is gray-listed (not in the API).

I’m not sure what action is currently taken when you enter one of those, but I’m guessing either a shake-and-warn message, or just a ‘notification’ message. (Or maybe they were only talking about the need to implement that… I’m not 100% sure. It’s been at least a few months since I saw the discussion.)

You are right – when looking up the auxiliary_meanings of 巨大 via the internal API, there is an entry for “giant”:

(await fetch("https://www.wanikani.com/extra_study/items?ids=5013").then(r => r.json()))[0].auxiliary_meanings
// results in:
[{"type": "warn", "meaning": "Giant", "message": "That's a bit ambiguous. Can you give us another meaning?"}]

If you answer with “giant”, you get a shake and the specified warning message (unless you have “giant” added as a user synonym – in that case WK immediately marks your answer wrong because of a bug).