Kekeke Enhancer

Kekeke Set Blacklist to Block Unwanted Pics & Night Mode

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Kekeke Enhancer
// @namespace    http://tampermonkey.net/
// @version      1.9
// @description  Kekeke Set Blacklist to Block Unwanted Pics & Night Mode
// @author       Johann
// @icon         http://www.google.com/s2/favicons?domain=https://kekeke.cc/
// @include      https://kekeke.cc/*
// @grant	     GM_addStyle
// @require      https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js
// ==/UserScript==



setTimeout(function(){


   GM_addStyle('.SquareCssResource-chatNameHover, .SquareCssResource-chatContent:hover {background:#eef !important;}');
   GM_addStyle('.SquareCssResource-message:hover, .SquareCssResource-chatDate:hover {background:#eef !important; color:#cf3a3a !important; font-weight:bold !important; text-shadow:none !important}');
   GM_addStyle('.SquareCssResource-chatContent.SquareCssResource-replyToMe.SquareCssResource-even:hover {background:#eef !important; color:#cf3a3a !important; font-weight:bold !important; text-shadow:none !important}');
   GM_addStyle('.SquareCssResource-chatContent.SquareCssResource-replyToMe:hover {background:#eef !important; color:#cf3a3a !important; font-weight:bold !important; text-shadow:none !important}');


   $('<td class="gwt-MenuItem" id="gwt-uid-l" role="menuitem" title="檢視在黑名單中的用戶,點擊用戶名即可對其解除封鎖。">檢視名單</td>').insertAfter('.gwt-MenuItem:contains("Q & A")');
   $('<td class="gwt-MenuItemSeparator"><div class="menuSeparatorInner"></div></td>').insertAfter('.gwt-MenuItem:contains("Q & A")');
   $('<td class="gwt-MenuItem" id="gwt-uid-b" role="menuitem" title="在圖片區塊的用戶名側邊添加黑名單鍵,點擊可封鎖該位用戶。">黑名單</td>').insertAfter('.gwt-MenuItem:contains("Q & A")');
   $('<td class="gwt-MenuItemSeparator"><div class="menuSeparatorInner"></div></td>').insertAfter('.gwt-MenuItem:contains("Q & A")');
   $('<td class="gwt-MenuItem" id="gwt-uid-d" role="menuitem" title="開關黑夜模式。">關燈</td>').insertAfter('.gwt-MenuItem:contains("Q & A")');
   $('<td class="gwt-MenuItemSeparator"><div class="menuSeparatorInner"></div></td>').insertAfter('.gwt-MenuItem:contains("Q & A")');

    function Hover() {

          $('.gwt-MenuItem').hover(function(){

            $(this).addClass("gwt-MenuItem-selected");

        }, function () {

            $(this).removeClass("gwt-MenuItem-selected");

   }); }


   $('.gwt-MenuItem:contains("關燈")').click(function(){
     $(this).toggleClass('init');
     if($(this).hasClass('init')){ $(this).html('開燈');  $('#gwt-uid-b').css('color','#f5deb3'); $('#gwt-uid-b.gwt-MenuItem.init').css('color','#c00');
        $('td').has('.SquareCssResource-squareHeader.GlobalCssResource-zhFont').css('background','#333'); $('.SquareCssResource-squareHeader.GlobalCssResource-zhFont').css('background','#333');
        if($('.gwt-Image[title*="統一暱稱"]').length < 1) {
        $('<td><div><img src="https://kekeke.cc/com.liquable.hiroba/emoji/emoji_one/1f60e_2x.png" class="gwt-Image" title="統一暱稱顏色" style="cursor: pointer; width:21px; height:21px; margin:1.5px;"></div></td>')
        .insertBefore('.SquareCssResource-submitInputButton'); } Hover();
        $('.gwt-Image[title*="統一暱稱"]').click(function(){ $(this).toggleClass('init');
        if($(this).hasClass('init') && $('#gwt-uid-d').hasClass('init')) {
           GM_addStyle('.GlobalCssResource-colorNickname {color: #999 !important}'); $(this).attr('src','https://kekeke.cc/com.liquable.hiroba/emoji/emoji_one/1f60e_2x.png'); } else location.reload(true); });

     // custom
     GM_addStyle('#gwt-uid-b {color: #f5deb3} \
                  #gwt-uid-b.gwt-MenuItem.init {color: #c00} \
                  #new-line {background: #333} \
                  .SquareCssResource-chatContent {cursor:pointer}');

     // global
     GM_addStyle('a, a *, a, a:visited {color: #409B9B}');

     // header
     GM_addStyle('.SquareCssResource-squareHeader .GlobalCssResource-colorBox .GlobalCssResource-noOfCrowd {background: #333} \
                  .GlobalCssResource-statusPanel.gwt-MenuBar table>tbody>tr {background: #333} \
                  .GlobalCssResource-statusPanel.gwt-MenuBar table td {color: #f5deb3} \
                  .gwt-MenuBar .gwt-MenuItem-selected {background:#999}');

     // table
     GM_addStyle('table[style*="rgb(255, 255, 170)"] {background:#333 !important} \
                 .google-visualization-table-table th, .google-visualization-table-table td {background:#333 !important}');

     // selector
     GM_addStyle('.SquareCssResource-eventSection .SquareCssResource-eventSectionModeSelector {background: #222; color: #fff}');

     // poster
     GM_addStyle('.gwt-InlineHTML, .gwt-viz-container, .gwt-Label.SquareCssResource-posterContent {color: #fff} \
                  .SquareCssResource-posterPanel {background: #222} \
                  .SquareCssResource-eventSection {background: #333}\
                  .KmarkCssResource-kmark p, .KmarkCssResource-kmark ol, .KmarkCssResource-kmark ul {color: #999} \
                  .SquareCssResource-mediaFlow .SquareCssResource-mediaHeader {background: #333; color: #409B9B}');

     // float-box
     GM_addStyle('.SquareCssResource-smileyTabPane {background: #444; color:#eee} \
                  .gwt-DialogBox .dialogMiddleCenter {background: #333; color:#eee} \
                  .gwt-ListBox, input[type=text], textarea {background: #444; color: #fff}');

     // room-title
     GM_addStyle('.SquareCssResource-squareHeader .SquareCssResource-squareHeaderAddress {color: #409B9B; background: #333}');

     // input-area
     GM_addStyle('.SquareCssResource-chatRoom .SquareCssResource-inputArea {background: #333; color: #409B9B} \
                  .SquareCssResource-inputArea .SquareCssResource-messageInputField, .SquareCssResource-chatRoom .SquareCssResource-nicknameField {background: #444; color: #fff}');

     // chat-room
     GM_addStyle('.SquareCssResource-chatRoom .SquareCssResource-replyToMe {background: #222 !important} \
                  table.SquareCssResource-chatRoom, .SquareCssResource-chatRoom .SquareCssResource-chatContent, .SquareCssResource-dockPanelCenter, .SquareCssResource-dockPanelRight {background: #333} \
                  .SquareCssResource-chatRoom .SquareCssResource-chatContent, .SquareCssResource-chatRoom .SquareCssResource-chatContent.SquareCssResource-even {background: #333; font-weight: bold; font-size: 14px} \
                  .SquareCssResource-chatRoom .SquareCssResource-chatContent .SquareCssResource-message {color: #999;}'); //text-shadow: 0 0 3px #000

                                 }
     if ($('.gwt-Image[title*="統一暱稱"]').hasClass('init')) { location.reload(true); }

     if(!$(this).hasClass('init')) { $(this).html('關燈'); $('#gwt-uid-b').css('color','initial'); $('#gwt-uid-b.gwt-MenuItem.init').css('color','#c00'); $('.gwt-Image[title*="統一暱稱"]').remove();
            $('td').has('.SquareCssResource-squareHeader.GlobalCssResource-zhFont').css('background','#fff'); $('.SquareCssResource-squareHeader.GlobalCssResource-zhFont').css('background','#fff');

     // custom
     GM_addStyle('#gwt-uid-b {color: initial} \
                  #gwt-uid-b.gwt-MenuItem.init {color: #c00} \
                  #new-line {background: initial} \
                  .SquareCssResource-chatContent {cursor:default}');

     // global
     GM_addStyle('a, a *, a, a:visited {color: #0c4a8a}');

     // header
     GM_addStyle('.SquareCssResource-squareHeader .GlobalCssResource-colorBox .GlobalCssResource-noOfCrowd {background: initial} \
                  .GlobalCssResource-statusPanel.gwt-MenuBar table>tbody>tr {background: initial} \
                  .GlobalCssResource-statusPanel.gwt-MenuBar table td {color: initial} \
                  .gwt-MenuBar .gwt-MenuItem-selected {background: #E0EDFE}');

     // table
     GM_addStyle('table[style*="rgb(255, 255, 170)"] {background:#ffffaa !important} \
                 .google-visualization-table-table th, .google-visualization-table-table td {background:#fff !important}');

     // selector
     GM_addStyle('.SquareCssResource-eventSection .SquareCssResource-eventSectionModeSelector {background: #fff; color: #333}');

     // poster
     GM_addStyle('.gwt-InlineHTML, .gwt-viz-container, .gwt-Label.SquareCssResource-posterContent {color: initial} \
                  .SquareCssResource-posterPanel {background: #f6efe4} \
                  .SquareCssResource-eventSection {background: #fff} \
                  .KmarkCssResource-kmark p, .KmarkCssResource-kmark ol, .KmarkCssResource-kmark ul {color: #333} \
                  .SquareCssResource-mediaFlow .SquareCssResource-mediaHeader {background: #eaf6e5; color: #2b8f00}');

     // float-box
     GM_addStyle('.SquareCssResource-smileyTabPane {background: #fff; color:#333} \
                  .gwt-DialogBox .dialogMiddleCenter {background: #fff; color:#333} \
                  .gwt-ListBox, input[type=text], textarea {background: #fff; color: #333}');

     // room-title
     GM_addStyle('.SquareCssResource-squareHeader .SquareCssResource-squareHeaderAddress {color: #0c4a8a; background: #fff}');

     // input-area
     GM_addStyle('.SquareCssResource-chatRoom .SquareCssResource-inputArea {background: #e8eef5; color: #333} \
                  .SquareCssResource-inputArea .SquareCssResource-messageInputField, .SquareCssResource-chatRoom .SquareCssResource-nicknameField {background: #fff; color: #333}');

     // chat-room
     GM_addStyle('.SquareCssResource-chatRoom .SquareCssResource-replyToMe {background: #fdfdba!important} \
                  table.SquareCssResource-chatRoom, .SquareCssResource-chatRoom .SquareCssResource-chatContent, .SquareCssResource-dockPanelCenter, .SquareCssResource-dockPanelRight {background: initial} \
                  .SquareCssResource-chatRoom .SquareCssResource-chatContent {background: #eaf6e5; font-weight: initial; font-size: 13px} \
                  .SquareCssResource-chatRoom .SquareCssResource-chatContent.SquareCssResource-even {background: #fff; font-weight: initial; font-size: 13px} \
                  .SquareCssResource-chatRoom .SquareCssResource-chatContent .SquareCssResource-message {color:#333;}'); //text-shadow:none

          }
   });

   $('.gwt-MenuItem:contains("黑名單")').click(function(){
     $(this).toggleClass('init');
     if($(this).hasClass('init')){ append(); block(); $(this).css('color','#c00'); }
     else { $('.blocked').remove(); if($('#gwt-uid-d').hasClass('init')){ $(this).css('color','#f5deb3'); } else $(this).css('color','initial'); }
   });

   $('.gwt-MenuItem:contains("檢視名單")').click(function(){
     var headline = $('.gwt-MenuBar.gwt-MenuBar-horizontal.GlobalCssResource-statusPanel.SquareCssResource-squareStatusPanel');
     $(this).toggleClass('init');
     if($(this).hasClass('init')){
        $('<table id="new-line" style="border-top:1px solid #bbb"></table>').appendTo(headline);
        $(JSON.parse(localStorage.getItem("blacklistValues"))).each(function () {
        $('<td class="gwt-MenuItem banned" role="menuitem" title="' + '將『' + this + '』從黑名單中剔除' + '" style="cursor:pointer">' + this + '</td>').appendTo('#new-line');
        });
        $('<a style="margin-left:10px">黑名單:</a>').insertBefore('.gwt-MenuItem.banned:first');
        $('.gwt-MenuItem.banned:contains("removed")').remove();

              $('.gwt-MenuItem.banned').hover(function(){

            $(this).addClass("gwt-MenuItem-selected");

        }, function () {

            $(this).removeClass("gwt-MenuItem-selected");

   });

        }
     else { $('#new-line').remove(); }

      $('.gwt-MenuItem.banned').click(function() {
      var user = $(this)[0].innerText; console.log("解除封鎖 " + user);
      if(localStorage.getItem("blacklistValues") !== null) localStorage.setItem('blacklistValues', localStorage.getItem("blacklistValues").replace(user,'removed'));
      $(this).html('已解除');
      });

   });

}, 1000);


setInterval(function() {  blacklist();  }, 1000);


   function append() {

      $('.SquareCssResource-mediaHeaderLeft').each(function() { if ( $(this).find('.blocked').length < 1 ) {
      $(this).append('<a class="blocked" style="cursor:pointer" title="將此用戶加入黑名單,停止顯示其所發送的任何圖片。">加入黑名單</a>'); }

      });
   }

   function blacklist() {

       var blacklist = JSON.parse(localStorage.getItem("blacklistValues"));
       $(blacklist).each(function () {
       $('.SquareCssResource-media').has('.gwt-HTML:contains("' + this + '")').hide();

       });
   }

   function block() {

   $('.blocked').click(function() {

    var blacklistValues= $(this).parent().find('.gwt-HTML')[0].innerText.split("@")[0].trim(); console.log("黑名單 " + blacklistValues);
    var data;

    if (localStorage.getItem("blacklistValues") === null)
      data = [];
    else
      data = JSON.parse(localStorage.getItem("blacklistValues"));

      data.push(blacklistValues);

    localStorage.setItem("blacklistValues",JSON.stringify(data));

    $(JSON.parse(localStorage.getItem("blacklistValues"))).each(function () {   $('.SquareCssResource-media').has('.gwt-HTML:contains("' + this + '")').hide();   });

   });

   }