[Userscript] Self-Study Quiz

This is the kind of filter I am considering.

I can’t do this with a filter. This kind of convenience requires a modification to the Self Study Quiz interface. This is not my script. I can’t make this modification.

For a use like yours I think there are filters that will do a better job of pinpointing the items you need to study than a blacklist.

One option is to use a leech filter to pinpoint the items that give you trouble. The items you know and won’t forget won’t to show up among your leeches. There is a leech filter in the Additional Filters script that does a good job for this.

Another option is to use a current streak <= filter from the statistics filter set. If you know your item chances are that it undergoes a streak of good answers. If you filter out the items with good streaks you will study items you don’t know well because you have recently failed a review.

This won’t work in my case. I don’t have any leeches yet and my accuracy is pretty high because i use self study quiz daily (multiple times). I want to to the exact opposite, i want to get rid of those items i’m pretty confident about.

For items i have or might have trouble with in the future, i currently use the (optional) item list filter in combination with the mark items userscript.

Appreciate the effort tho. With a filter i would have to do 1-2 extra steps but it would work as well.

The leech filter can be used to filter out the items you know well and retain the others. Leeches have values greater than 1.0. A setting lower than 1.0 will exclude the items you master best and retain items that are not leeches but may deserve to be studied.

For your purposes you should try using values less than 1.0. Something like 0.5 could be a good start for a test. You may tune this value until you get a result you are happy with.

This is highly unusual. Under the default threshold of 1.0 every item you have just failed for the first time is marked as a leech. You have items that were failed for the first time, don’t you?

I suggest you give the leech filter a try. I think you don’t have a clear understanding of what it does.

Yep, thats correct. I thought it will only catch items that are in the “Critical Condition Items” list. Played around with it for a sec and it doesn’t do what i need it to do.

To clarify what i actually want to do, i want to select specific items i don’t have any problems with and probably won’t have any problems with in the future and Blacklist them to cut down on review time with Self-Study-Quiz


  • one, two, three etc.
  • one thing, two things etc.
  • monday, tuesday etc.
  • and so on.

Those items for example would overlap with a lot of other items i never got wrong, so i don’t think there is a way to simply filter them out. That’s why i asked for a Blacklist.

1 Like

I am working on this kind of filter. I don’t make any promise but I should have something ready by the end of the week.

1 Like

@prouleau @Ashikaga,

Here’s a [Blacklist Filter]. I just inverted the logic of my [Item List Filter], which is a whitelist.

It’s not tested, but I only changed three instances of “>=” to “<”, and some labels from “list” to “blacklist”, so it most likely works.

You can read the Item List Filter thread to figure out how the Blacklist works. (Except the items you add are blacklisted instead of whitelisted, obviously)


You should make a thread for it. That will make the filter easier to find with a forum search.

The filter works fine in Item Inspector. This filter is not just for Self Study Quiz. I will add it to the list of optional filters in the next release of Item Inspector.

I will still make my own filter because I plan features not available in this filter:

  • Il will support the traditional radicals item type I plan to add to Item inspector.

  • It will support download of the settings to a file for future upload. This should make life easier for people having more than one black list.

Absolutely unreal addon. I love it! I’ve been using it for primarily the listening quiz from Japanese to English to drill the words into memory instead of dissecting kanji.

  1. Anyway, my only big issue is with synonyms. When I hear “Jinkou” I have no idea if it is talking about 人口 or 人工. “ひ” I have no clue if its referring to fire or day.
    Would it be possible to have a key-bind & button to perhaps show the relevant context sentences?

  2. The only other request is probably a help request and unfamiliarity with the addon - is there a way to replay the audio via a keybind? It slows me way down to have to remove hand from keyboard to click the audio everytime I want to relisten. My assumption is it’s in there already, and I just don’t know what I’m doing.

Thanks again for your hard work. I’m super impressed!

If I get some time to work on this script again, I would like to add something to account for homophones (i.e. same-sound words). It was something I always intended to do, but ran out of time when I was working on it. (And the context sentences weren’t available in the API data at the time).

As for shortcuts, you can hover over any button to see what shortcuts are supported. If I remember correctly, I think it’s ctrl-a or alt-a to repeat the audio.

Thanks for the update (and homophone/synonym correction)! I hope the context sentences are available in API now!

Could someoen tell me how to study leeches with this? I saw a thread and someone swore by this program. I must be doing something wrong, because this doesn’t seem effective for leeches for me. I can get it to do a quiz on leeches, but at the end it just gives me a score. I just get it wrong and it moves on. Am I using it wrong?

First, if you have Lightning Mode turned on, turn it off for Leeches so you’ll get a chance to see when you get it wrong, and you can press F1 or ? to see the right answer. Take a moment to repeat the right answer while looking at the item.

After finishing a quiz, you have the option to re-quiz on the ones you missed, which will give you another round of exposure to the item. Keep repeating until you get all of the remaining items correct. After that, it wouldn’t hurt to go through them all of them one more time to see if you can get them all correct again.

I’m sure some people have other methods, too. Personally, I didn’t use it for leeches. I used it to study all of my current-level Apprentice items several times after lessons… basically just drilling items until I had them strongly memorized so I wouldn’t end up with leaches at all. I also cycled through prior levels… one or two levels a day as I had time, to regularly refresh my memory. But that is admittedly a lot of work, so I think most people don’t want to do it that way.


I used it to study all of my current-level Apprentice items several times after lessons

I need to to try this, since I’ve been struggling with leeches. Recently I’ve been using a leech trainer script, but it feels like I’m patching up a sinking ship. I had to train over 150 leeches, it seems like it would be better to avoid them all together!

How do I configure self study quiz to show only the kanji/vocab I did in lessons?

My last review session was really bad, 56% accuracy, and I want to do rounds with only those items I failed,

I see in settings, tab items and Filters, only Failed Last Review is marked (24 in the box) but still kanji I haven’t learned yet in my current level keep appearing on quiz.

You need to install the Additional Filters script. This will add the Lesson filters that will quiz you on your recent lessons (lessons from the past 24 hours by default). If you want just the vocab you may configure the Item Type filter on top of the Lessons filters to get only lessons on vocab.

it is already installed, all 5 items are marked there.

still no luck :frowning:

1 Like

Here’s the diff for opening item’s page on ctrl/cmd + O:

@@ -1690,11 +1690,13 @@
     var keycode_xlat = {
         '8':'Backspace', '13':'Enter', '27':'Escape', '37':'ArrowLeft', '39':'ArrowRight', '65':'KeyA',
         '69':'KeyE', '72':'KeyH', '76':'KeyL', '80':'KeyP', '82':'KeyR', '83':'KeyS', '112':'F1',
+        '79': 'KeyO',
     function quiz_key_handler(e) {
         if (quiz_settings_state === 'open') return true;
         var input = quiz.dialog.find('.answer input');
         var input_readonly = input.prop('readonly');
+        var qinfo = quiz.qinfo.load(quiz.index);
         var code;
         if (e.type === 'keydown') {
             if (e.originalEvent.keyCode) {
@@ -1741,6 +1743,7 @@
                 case 'KeyS': manual_shuffle(); break;
                 case 'ArrowLeft': quiz.prev(); break;
                 case 'ArrowRight': quiz.next(); break;
+                case 'KeyO': window.open(qinfo.item.object.data.document_url, '_blank').focus(); break;
                 default: return true;
         } else {

I might be missing something, but the “Include this source” checkbox is kind of misleading.


If it were to remove the preset from the list in the main window, that would be another story. But it doesn’t. Also, is there a difference between a source and a preset?

There is a difference between a source and a preset. A source is a collection of items you can select from while a preset is a setting you save.

Currently Self Study Quiz supports only Wanikani as a source so this checkbox is a hook for future extensions in case you want to exclude Wanikani items because you only want items from a future alternative source.

1 Like

To expound upon what @prouleau said:
A ‘source’ is a 3rd party source of items, such as a “10k Vocabulary” list, or a “JLPT” list of kanji and vocab.

A preset is a group of setting for a combination of [sources] + [filters]. So, assuming a 3rd-party source has the corresponding information available, you can still filter that source based on things like [kanji/vocab], or [part of speech], etc.

It is true: not all filters are applicable to all sources. So, not all presets would work with all sources. But the interface isn’t sophisticated enough to know whether a preset’s settings will work with a particular source. Doing so would make the task of designing a filter or source significantly more difficult than it needs to be, so I didn’t bother adding that to the framework.

[edit: After a quick glance at the framework documentation, I remembered that filters are registered to specific sources. So, when someone creates a new source, any filters that were written for the Wanikani source would need to be modified or copied to support the new source.]