Leech-O-Meter

Warning indicator for Wanikani when learning common leeches.

Tendrás que instalar una extensión para tu navegador como Tampermonkey, Greasemonkey o Violentmonkey si quieres utilizar este script.

You will need to install an extension such as Tampermonkey to install this script.

Necesitarás instalar una extensión como Tampermonkey o Violentmonkey para instalar este script.

Necesitarás instalar una extensión como Tampermonkey o Userscripts para instalar este script.

Necesitará instalar una extensión como Tampermonkey para instalar este script.

Necesitarás instalar una extensión para administrar scripts de usuario si quieres instalar este script.

(Ya tengo un administrador de scripts de usuario, déjame instalarlo)

Necesitará instalar una extensión como Stylus para instalar este estilo.

Necesitará instalar una extensión como Stylus para instalar este estilo.

Necesitará instalar una extensión como Stylus para instalar este estilo.

Necesitará instalar una extensión del gestor de estilos de usuario para instalar este estilo.

Necesitará instalar una extensión del gestor de estilos de usuario para instalar este estilo.

Necesitará instalar una extensión del gestor de estilos de usuario para instalar este estilo.

(Ya tengo un administrador de estilos de usuario, déjame instalarlo)

// ==UserScript==
// @name         Leech-O-Meter
// @namespace    hitechbunny
// @version      0.0.1
// @description  Warning indicator for Wanikani when learning common leeches.
// @match        https://www.wanikani.com/lesson/session
// @run-at       document-end
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    $('#lesson').append("<div id='leech-o-meter' style='position: absolute; top: 206px; right: 11px; text-align: right; padding-left: 0.3em; padding-right: 0.3em; font-size: 2em; background-color: yellow; opacity: 0.25;'>⚠ Leech</div>");

    var last_characters = null;
    var last_type = null;

    var leech_indicator = {'vocabulary | 力': 'mild', 'vocabulary | 大した': 'mild', 'vocabulary | 八つ': 'mild', 'vocabulary | 人口': 'mild', 'vocabulary | 土': 'yellow', 'vocabulary | 八日': 'mild', 'vocabulary | 出す': 'mild', 'vocabulary | 女子': 'mild', 'vocabulary | 上手': 'mild', 'vocabulary | 大いに': 'mild', 'kanji | 出': 'mild', 'kanji | 丁': 'mild', 'vocabulary | 王子': 'mild', 'vocabulary | 日': 'mild', 'vocabulary | 六日': 'mild', 'kanji | 了': 'mild', 'vocabulary | 六つ': 'mild', 'vocabulary | 内': 'mild', 'vocabulary | 生': 'mild', 'vocabulary | 公用': 'mild', 'vocabulary | 左右': 'mild', 'vocabulary | 生む': 'mild', 'vocabulary | 用いる': 'mild', 'vocabulary | 少ない': 'mild', 'vocabulary | 外れる': 'mild', 'kanji | 少': 'mild', 'vocabulary | 人生': 'mild', 'vocabulary | 名字': 'yellow', 'vocabulary | 一代': 'yellow', 'vocabulary | 早々': 'mild', 'vocabulary | 名人': 'mild', 'vocabulary | 先日': 'mild', 'vocabulary | 年中': 'mild', 'vocabulary | 大気': 'mild', 'vocabulary | 他': 'mild', 'vocabulary | 主人': 'mild', 'vocabulary | 気に入る': 'mild', 'vocabulary | 一文字': 'mild', 'kanji | 去': 'mild', 'vocabulary | 主に': 'mild', 'vocabulary | 先': 'mild', 'vocabulary | 作用': 'yellow', 'vocabulary | 〜年来': 'yellow', 'vocabulary | 行う': 'yellow', 'vocabulary | 一生': 'yellow', 'vocabulary | 万人': 'yellow', 'vocabulary | 本来': 'mild', 'vocabulary | 近日': 'mild', 'vocabulary | 何月': 'mild', 'vocabulary | 近年': 'mild', 'vocabulary | 音': 'mild', 'vocabulary | 仕草': 'mild', 'vocabulary | 正直': 'yellow', 'vocabulary | 土地': 'mild', 'vocabulary | 直行': 'mild', 'vocabulary | 活用': 'mild', 'vocabulary | 年次': 'mild', 'vocabulary | 羊毛': 'mild', 'kanji | 画': 'mild', 'vocabulary | 〜札': 'yellow', 'vocabulary | 失う': 'yellow', 'vocabulary | 近々': 'mild', 'vocabulary | 見当たる': 'mild', 'vocabulary | 欠ける': 'mild', 'vocabulary | 考古学': 'mild', 'vocabulary | 先回り': 'mild', 'vocabulary | 氏': 'mild', 'vocabulary | 氏名': 'mild', 'kanji | 組': 'mild', 'vocabulary | 近く': 'mild', 'kanji | 由': 'mild', 'vocabulary | 末': 'mild', 'kanji | 欠': 'mild', 'kanji | 未': 'mild', 'vocabulary | 社会': 'mild', 'vocabulary | 人形': 'mild', 'vocabulary | 大空': 'mild', 'kanji | 末': 'mild', 'vocabulary | 欠点': 'mild', 'vocabulary | 形': 'mild', 'vocabulary | 生地': 'yellow', 'vocabulary | 出所': 'yellow', 'vocabulary | 交じる': 'yellow', 'vocabulary | 人数': 'yellow', 'vocabulary | 入場': 'yellow', 'vocabulary | 助手': 'yellow', 'vocabulary | 究明': 'yellow', 'vocabulary | 入所': 'mild', 'vocabulary | 交わる': 'mild', 'vocabulary | 数える': 'mild', 'vocabulary | 化ける': 'mild', 'vocabulary | 身': 'mild', 'vocabulary | 向こう': 'mild', 'vocabulary | 場合': 'mild', 'vocabulary | 当たり前': 'mild', 'vocabulary | 数': 'mild', 'kanji | 身': 'mild', 'vocabulary | 見直す': 'mild', 'vocabulary | 対外': 'mild', 'vocabulary | 当てる': 'mild', 'vocabulary | 助力': 'mild', 'vocabulary | 住人': 'mild', 'vocabulary | 欠かす': 'yellow', 'vocabulary | 大事': 'yellow', 'vocabulary | 発表': 'mild', 'vocabulary | 用事': 'mild', 'vocabulary | 具合': 'mild', 'vocabulary | 通す': 'mild', 'vocabulary | 付く': 'mild', 'kanji | 負': 'mild', 'vocabulary | 対談': 'mild', 'vocabulary | 相談': 'mild', 'vocabulary | 相手': 'mild', 'vocabulary | 発見': 'mild', 'vocabulary | 付近': 'mild', 'vocabulary | 部首': 'mild', 'vocabulary | 不自由': 'mild', 'vocabulary | 予定': 'mild', 'kanji | 送': 'mild', 'kanji | 和': 'mild', 'vocabulary | 表': 'mild', 'vocabulary | 表す': 'mild', 'vocabulary | 早速': 'red', 'vocabulary | 近所': 'yellow', 'vocabulary | 作業': 'yellow', 'vocabulary | 運ぶ': 'yellow', 'vocabulary | 配る': 'mild', 'vocabulary | 算数': 'mild', 'vocabulary | 線路': 'mild', 'vocabulary | 開発': 'mild', 'vocabulary | 親しい': 'mild', 'vocabulary | 調子': 'mild', 'vocabulary | 路地': 'mild', 'vocabulary | 最近': 'mild', 'vocabulary | 化かす': 'mild', 'vocabulary | 口調': 'mild', 'vocabulary | 転がる': 'mild', 'vocabulary | 進む': 'mild', 'vocabulary | 語る': 'mild', 'vocabulary | 開始': 'mild', 'vocabulary | 農場': 'mild', 'vocabulary | 電鉄': 'mild', 'vocabulary | 転送': 'mild', 'vocabulary | 思わず': 'mild', 'vocabulary | 最終': 'mild', 'vocabulary | 入院': 'mild', 'vocabulary | 強調': 'mild', 'vocabulary | 速度': 'mild', 'vocabulary | 病む': 'mild', 'vocabulary | 用意': 'yellow', 'vocabulary | 努力': 'yellow', 'vocabulary | 支度': 'yellow', 'vocabulary | 争う': 'yellow', 'vocabulary | 共同': 'yellow', 'vocabulary | 苦労': 'yellow', 'vocabulary | 気付く': 'yellow', 'vocabulary | 競う': 'yellow', 'kanji | 労': 'mild', 'vocabulary | 開放する': 'mild', 'vocabulary | 仲良し': 'mild', 'vocabulary | 育つ': 'mild', 'vocabulary | 指す': 'mild', 'vocabulary | 主位': 'mild', 'vocabulary | 友好': 'mild', 'vocabulary | 見事': 'mild', 'vocabulary | 利く': 'mild', 'vocabulary | 通う': 'mild', 'vocabulary | 心持': 'mild', 'vocabulary | 労働': 'mild', 'vocabulary | 仲良く': 'mild', 'vocabulary | 仲間': 'mild', 'vocabulary | 意見': 'mild', 'vocabulary | 待合': 'mild', 'vocabulary | 屋上': 'mild', 'vocabulary | 文字通り': 'mild', 'vocabulary | 意外': 'mild', 'vocabulary | 苦手': 'mild', 'vocabulary | 相図': 'mild', 'vocabulary | 注意': 'mild', 'kanji | 働': 'mild', 'vocabulary | 昔話': 'mild', 'vocabulary | 見送る': 'mild', 'kanji | 洋': 'mild', 'vocabulary | 初歩': 'mild', 'vocabulary | 合わせる': 'mild', 'vocabulary | 期待': 'red', 'vocabulary | 行動': 'yellow', 'vocabulary | 湯気': 'yellow', 'vocabulary | 利息': 'yellow', 'vocabulary | 転ぶ': 'yellow', 'vocabulary | 陽気': 'yellow', 'kanji | 陽': 'yellow', 'vocabulary | 植える': 'yellow', 'vocabulary | 商売': 'yellow', 'vocabulary | 起こる': 'mild', 'vocabulary | 登山': 'mild', 'vocabulary | 落ち': 'mild', 'vocabulary | 一流': 'mild', 'vocabulary | 勝手': 'mild', 'kanji | 温': 'mild', 'vocabulary | 親分': 'mild', 'kanji | 湯': 'mild', 'kanji | 息': 'mild', 'vocabulary | 根本': 'mild', 'vocabulary | 流行': 'mild', 'kanji | 植': 'mild', 'vocabulary | 活動': 'mild', 'kanji | 都': 'mild', 'vocabulary | 民族': 'mild', 'vocabulary | 旅': 'mild', 'vocabulary | 会員': 'mild', 'vocabulary | 文章': 'mild', 'vocabulary | 泉': 'mild', 'vocabulary | 根気': 'mild', 'vocabulary | 運動': 'mild', 'kanji | 倍': 'mild', 'vocabulary | 童話': 'mild', 'vocabulary | 都会': 'mild', 'vocabulary | 鳴る': 'mild', 'vocabulary | 家庭': 'mild', 'kanji | 登': 'mild', 'vocabulary | 根': 'mild', 'vocabulary | 息子': 'mild', 'vocabulary | 着く': 'mild', 'kanji | 悲': 'mild', 'vocabulary | 予想': 'red', 'vocabulary | 感想': 'red', 'vocabulary | 感心': 'red', 'vocabulary | 人情': 'red', 'vocabulary | 事情': 'red', 'vocabulary | 器用': 'yellow', 'kanji | 願': 'yellow', 'vocabulary | 想定': 'yellow', 'vocabulary | 整理': 'yellow', 'vocabulary | 整然': 'yellow', 'vocabulary | 思想': 'mild', 'vocabulary | 宿': 'mild', 'vocabulary | 表情': 'mild', 'vocabulary | 器': 'mild', 'vocabulary | 情熱': 'mild', 'vocabulary | 映る': 'mild', 'vocabulary | 養う': 'mild', 'kanji | 想': 'mild', 'vocabulary | 輪': 'mild', 'vocabulary | 疑問': 'mild', 'kanji | 練': 'mild', 'vocabulary | 映像': 'mild', 'vocabulary | 自然': 'mild', 'vocabulary | 暗い': 'mild', 'vocabulary | 謝る': 'mild', 'vocabulary | 詩歌': 'mild', 'vocabulary | 楽器': 'mild', 'kanji | 謝': 'mild', 'kanji | 熱': 'mild', 'vocabulary | 別れる': 'mild', 'vocabulary | 画像': 'mild', 'vocabulary | 目標': 'mild', 'vocabulary | 選手': 'mild', 'kanji | 賞': 'mild', 'vocabulary | 都合': 'red', 'vocabulary | 人性': 'red', 'vocabulary | 良好': 'red', 'vocabulary | 囲む': 'red', 'vocabulary | 求める': 'yellow', 'vocabulary | 格好': 'yellow', 'vocabulary | 折角': 'yellow', 'vocabulary | 念願': 'yellow', 'vocabulary | 技': 'yellow', 'vocabulary | 周年': 'yellow', 'vocabulary | 芸人': 'mild', 'vocabulary | 悪気': 'mild', 'vocabulary | 意地悪': 'mild', 'vocabulary | 材料': 'mild', 'vocabulary | 合格する': 'mild', 'kanji | 技': 'mild', 'vocabulary | 束': 'mild', 'vocabulary | 動かす': 'mild', 'vocabulary | 落ち着く': 'mild', 'vocabulary | 性格': 'mild', 'vocabulary | 意図的': 'mild', 'vocabulary | 特技': 'mild', 'kanji | 求': 'mild', 'vocabulary | 求人': 'mild', 'vocabulary | 残念': 'mild', 'vocabulary | 私立': 'mild', 'vocabulary | 要求': 'mild', 'kanji | 念': 'mild', 'vocabulary | 理性': 'mild', 'vocabulary | 周り': 'mild', 'kanji | 束': 'mild', 'kanji | 雰': 'mild', 'vocabulary | 参る': 'mild', 'vocabulary | 折る': 'mild', 'vocabulary | 計算': 'yellow', 'vocabulary | 信用': 'yellow', 'vocabulary | 信心': 'yellow', 'vocabulary | 計画': 'yellow', 'vocabulary | 伝': 'mild', 'vocabulary | 丈': 'mild', 'vocabulary | 昨今': 'mild', 'vocabulary | 返信': 'mild', 'vocabulary | 列': 'mild', 'kanji | 列': 'mild', 'kanji | 式': 'mild', 'kanji | 紀': 'mild', 'vocabulary | 整える': 'mild', 'vocabulary | 紀元後': 'mild', 'vocabulary | 合計': 'mild', 'kanji | 築': 'mild', 'vocabulary | 仏': 'mild', 'kanji | 浅': 'mild', 'vocabulary | 世紀': 'mild', 'vocabulary | 区分': 'mild', 'vocabulary | 変事': 'mild', 'vocabulary | 自信': 'mild', 'vocabulary | 治安': 'red', 'vocabulary | 保証': 'red', 'vocabulary | 地面': 'yellow', 'vocabulary | 顔面': 'yellow', 'vocabulary | 存じる': 'yellow', 'vocabulary | 係わる': 'yellow', 'vocabulary | 幸福': 'yellow', 'kanji | 険': 'yellow', 'vocabulary | 保つ': 'yellow', 'vocabulary | 事典': 'yellow', 'vocabulary | 保存': 'yellow', 'vocabulary | 証明': 'yellow', 'vocabulary | 世辞': 'yellow', 'vocabulary | 保持': 'yellow', 'vocabulary | 関心': 'yellow', 'vocabulary | 証': 'yellow', 'vocabulary | 芸術家': 'yellow', 'vocabulary | 残品': 'yellow', 'vocabulary | 下品': 'mild', 'vocabulary | 日光浴': 'mild', 'kanji | 係': 'mild', 'kanji | 喜': 'mild', 'vocabulary | 折れる': 'mild', 'kanji | 関': 'mild', 'kanji | 浴': 'mild', 'vocabulary | 急行': 'mild', 'vocabulary | 品': 'mild', 'kanji | 阪': 'mild', 'vocabulary | 冒険': 'mild', 'vocabulary | 場面': 'mild', 'vocabulary | 幸運': 'mild', 'vocabulary | 作品': 'mild', 'kanji | 冒': 'mild', 'vocabulary | 特急': 'mild', 'kanji | 真': 'mild', 'vocabulary | 技術': 'mild', 'vocabulary | 留学': 'mild', 'vocabulary | 心底': 'yellow', 'vocabulary | 敗れる': 'yellow', 'kanji | 結': 'yellow', 'vocabulary | 干渉': 'yellow', 'vocabulary | 川底': 'yellow', 'vocabulary | 交渉': 'mild', 'kanji | 識': 'mild', 'kanji | 署': 'mild', 'vocabulary | 相変わらず': 'mild', 'kanji | 是': 'mild', 'vocabulary | 原因': 'mild', 'vocabulary | 果てる': 'mild', 'vocabulary | 意識': 'mild', 'vocabulary | 栄える': 'mild', 'vocabulary | 虚しい': 'mild', 'vocabulary | 伝説': 'mild', 'vocabulary | 自覚': 'mild', 'vocabulary | 建つ': 'mild', 'kanji | 察': 'mild', 'vocabulary | 知識': 'mild', 'vocabulary | 幻覚': 'mild', 'vocabulary | 結局': 'mild', 'vocabulary | 勝敗': 'mild', 'vocabulary | 試す': 'yellow', 'vocabulary | 人種': 'yellow', 'vocabulary | 取決め': 'yellow', 'vocabulary | 訓練': 'yellow', 'vocabulary | 許す': 'yellow', 'vocabulary | 祈る': 'yellow', 'vocabulary | 取り分け': 'yellow', 'vocabulary | 一等': 'yellow', 'vocabulary | 人類': 'yellow', 'vocabulary | 取材': 'yellow', 'vocabulary | 伝達': 'mild', 'kanji | 訓': 'mild', 'vocabulary | 借用': 'mild', 'vocabulary | 借金': 'mild', 'vocabulary | 切り取る': 'mild', 'vocabulary | 報道': 'mild', 'kanji | 験': 'mild', 'vocabulary | 配達する': 'mild', 'vocabulary | 試みる': 'mild', 'vocabulary | 広告': 'mild', 'kanji | 試': 'mild', 'vocabulary | 取れる': 'mild', 'vocabulary | 煙': 'mild', 'kanji | 絡': 'yellow', 'vocabulary | 比例': 'yellow', 'vocabulary | 乱れる': 'yellow', 'vocabulary | 改まる': 'yellow', 'vocabulary | 果たして': 'yellow', 'vocabulary | 改正': 'yellow', 'vocabulary | 加える': 'yellow', 'vocabulary | 暴れる': 'yellow', 'vocabulary | 改善': 'yellow', 'vocabulary | 財閥': 'mild', 'vocabulary | 続々': 'mild', 'vocabulary | 借財': 'mild', 'vocabulary | 乱戦': 'mild', 'vocabulary | 混乱': 'mild', 'vocabulary | 連日': 'mild', 'kanji | 昆': 'mild', 'vocabulary | 連絡する': 'mild', 'vocabulary | 汽笛': 'mild', 'vocabulary | 自在': 'red', 'vocabulary | 議論': 'yellow', 'vocabulary | 正確': 'yellow', 'vocabulary | 余る': 'yellow', 'vocabulary | 残余': 'yellow', 'vocabulary | 裕福': 'yellow', 'vocabulary | 尾': 'yellow', 'vocabulary | 実在': 'yellow', 'vocabulary | 理論': 'mild', 'vocabulary | 余裕': 'mild', 'vocabulary | 被る': 'mild', 'vocabulary | 有罪': 'mild', 'vocabulary | 災難': 'mild', 'vocabulary | 余計': 'mild', 'vocabulary | 確率': 'mild', 'vocabulary | 機嫌': 'mild', 'vocabulary | 嫌疑': 'mild', 'vocabulary | 非難': 'mild', 'vocabulary | 反省': 'red', 'vocabulary | 総合': 'red', 'vocabulary | 資料': 'red', 'vocabulary | 評判': 'red', 'vocabulary | 審判': 'yellow', 'vocabulary | 省く': 'yellow', 'vocabulary | 審査': 'yellow', 'vocabulary | 義理': 'yellow', 'vocabulary | 総体的': 'yellow', 'vocabulary | 際': 'yellow', 'vocabulary | 評論': 'yellow', 'vocabulary | 解説': 'yellow', 'vocabulary | 条件': 'yellow', 'vocabulary | 乱す': 'yellow', 'vocabulary | 資格': 'yellow', 'vocabulary | 解ける': 'yellow', 'vocabulary | 企てる': 'yellow', 'kanji | 委': 'yellow', 'kanji | 省': 'yellow', 'vocabulary | 得体': 'mild', 'vocabulary | 責める': 'mild', 'kanji | 件': 'mild', 'vocabulary | 布地': 'mild', 'vocabulary | 定義': 'mild', 'kanji | 資': 'mild', 'vocabulary | 義務': 'mild', 'vocabulary | 素材': 'mild', 'kanji | 検': 'mild', 'vocabulary | 区域': 'yellow', 'vocabulary | 対応': 'yellow', 'vocabulary | 価': 'yellow', 'vocabulary | 提案': 'yellow', 'kanji | 域': 'yellow', 'vocabulary | 嫌味': 'mild', 'vocabulary | 姿': 'mild', 'vocabulary | 領域': 'mild', 'vocabulary | 営む': 'mild', 'vocabulary | 指示': 'mild', 'vocabulary | 圧倒する': 'mild', 'vocabulary | 観念': 'mild', 'vocabulary | 位置': 'mild', 'vocabulary | 済ます': 'red', 'vocabulary | 施設': 'yellow', 'vocabulary | 収入': 'yellow', 'vocabulary | 裁判': 'yellow', 'vocabulary | 反則': 'yellow', 'vocabulary | 記載': 'yellow', 'vocabulary | 記述': 'yellow', 'kanji | 販': 'yellow', 'vocabulary | 警視庁': 'yellow', 'vocabulary | 対象': 'yellow', 'vocabulary | 所載': 'yellow', 'vocabulary | 含意': 'red', 'vocabulary | 補う': 'red', 'vocabulary | 収める': 'yellow', 'vocabulary | 絞る': 'yellow', 'vocabulary | 障る': 'red', 'vocabulary | 構造': 'red', 'kanji | 貸': 'red', 'vocabulary | 抜ける': 'red', 'vocabulary | 退く': 'red', 'vocabulary | 処置': 'red', 'kanji | 綺': 'red', 'vocabulary | 清い': 'red'};
    function warn() {
        if ($('#main-info #character').length === 0) return;

        var characters = $('#main-info #character')[0].innerText;
        var type = $('#main-info')[0].className;

        var key = type+' | '+characters;
        //console.log("Current subject:", key, 'indicator:', leech_indicator[key], !leech_indicator[key]);

        if (characters.trim().length > 0 && (type != last_type || characters != last_characters)) {
            if (!leech_indicator[key]) {
                $('#leech-o-meter').hide();
            } else {
                if (leech_indicator[key] == 'mild') {
                    $('#leech-o-meter').show().css('background-color', 'yellow').attr('title', 'A leech for 10-20% of people.');
                } else if (leech_indicator[key] == 'yellow') {
                    $('#leech-o-meter').show().css('background-color', 'orange').attr('title', 'A leech for 20-30% of people.');
                } else {
                    $('#leech-o-meter').show().css('background-color', 'red').attr('title', 'A leech for 30%+ of people!');
                }
            }
            //console.log("New subject!", key, 'indicator:', leech_indicator[key]);
            last_type = type;
            last_characters = characters;
        }

        return;
    }

    setInterval(warn, 250);
})();