Request: Is there a userscript to temporarily take vocab items out of rotation?

Or to set them off limits for certain times of the day?

There are a few items I’d like to not flash randomly across my screen if I’m studying in my Japanese work environment. (As I sometimes do between classes or during free periods.)

If this doesn’t exist or isn’t possible, I’ll just keep suffering through it, but if there is one, I’d sure like to be using it.

What, you don’t want 金玉 randomly appearing on your screen while you’re at work? :sweat_smile:

I haven’t come across such a script but are there really enough words to warrant a script like that?

Have you heard of Reorder Ultimate? It allows you to choose which items to study/review based on their type (radical/kanji/vocab) and also their level. For example, you could choose to only do radical and kanji reviews at work.

It is certainly possible to do this, but I don’t know of a script that actually does. If you have any coding abilities you could probably look at the code in Reorder Ultimate and Lesson Filter to figure out what to do.

無理無理無理. Unfortunately if it doesn’t exist already, I’ll just have to put up with it, as I have no coding abilities myself. Or, maybe if I have a spare weekend to sit down and logic it out.

I also don’t want to just set it to avoid all vocab via the reorder script, because it’s nice to be able to take out larger chunks of reviews if there’s time.

Oh well! Thanks for all the responses. And @Liras, not a ton, but enough. Currently wouldn’t mind taking “nipple,” and “suicide by train” out of the queue. I think they’re burned now, but I felt similarly about “orgy,” “harakiri” and “seppuku” in the past.

So I wrote up this whole post about how I don’t have time to write it but that I’d give you pointers to do it yourself. But in the end I ended up writing it and procrastinating what I really should have been doing. :sweat_smile:

So here’s a barely tested snippet of code that you can put into your script manager. It should at least mostly work. Just edit the variable blacklist at the top of the file to put in the items you want to blacklist.

As I said, this has barely been tested. It’s entirely possible that it won’t filter a blacklisted item if it happens to be first in the queue. And it’s also entirely possible that it will act strangely if you have fewer than 10 items up for review. But you’re welcome to try it out. Please let me know if you see anything quirky or if it acts as you’d expect. If it works well (or can work well with little more work) I’ll upload it properly for others to use.

// ==UserScript==
// @name          WaniKani Review Blacklist
// @namespace     https://www.wanikani.com
// @description   Blacklist certain items so they don't show up in reviews.
// @author        seanblue
// @version       0.9.0
// @include       https://www.wanikani.com/review/session*
// @grant         none
// ==/UserScript==

(function($) {
	const activeQueueSize = 10;
    const blacklist = ['不倫', '没'];

    let queue = $.jStorage.get('activeQueue').concat($.jStorage.get('reviewQueue'));
    let filteredQueue = queue.filter(item => blacklist.indexOf(item.kan) === -1 && blacklist.indexOf(item.voc) === -1)

    let newActiveQueue = filteredQueue.slice(0, activeQueueSize);
    let newReviewQueue = filteredQueue.slice(activeQueueSize);

    $.jStorage.set('reviewQueue', newReviewQueue);
    $.jStorage.set('activeQueue', newActiveQueue);
})(window.jQuery);
2 Likes

Thank you! I just finished all my current reviews (test day; lots of down time), but I’ll let you know how it goes.