diff --git a/script.js b/script.js index d00ec27..bb60a97 100644 --- a/script.js +++ b/script.js @@ -1,53 +1,111 @@ // ==UserScript== // @name RemoveBotInMsgers -// @version 0.5 +// @version 0.8 // @namespace https://up-world.ru/ -// @description Удаляет назойливых ботов или людей +// @description Добавляет кого угодно в Черный список // @author Misterzym // @match https://vk.com/im?* // @grant none // ==/UserScript== - var blackList = {}; load(); -if (blackList==null) +if (blackList == null) blackList = {}; -var peaple = JSON.stringify({name:"",url:""}); +var peaple = JSON.stringify({ + name: "", + url: "" +}); (function() { var jq = document.createElement('script'); jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"; document.getElementsByTagName('head')[0].appendChild(jq); - var timerId = setInterval(function(){ - $("._im_peer_history.im-page-chat-contain").find("div[data-peer='526941523']").remove(); - $(".im-mess-stack--lnk[href='/pillow.developers']").closest(".im-mess-stack").remove(); - }, 1000); + var timerId = setInterval(function() { + for (var prop in blackList) { + $("._im_peer_history.im-page-chat-contain").find("div[data-peer='" + prop + "']").remove(); + $(".im-mess-stack--lnk[href='" + blackList[prop].url + "']").closest(".im-mess-stack").remove(); + } - setTimeout(function(){ - $("._im_dialog_action_wrapper ._ui_menu").append('
Черный список'); - $(".im-mess-stack").on('mouseenter',function(){ - $(this).append(''); - }).on("mouseleave",function(){ + $(".im-mess-stack").unbind().on('mouseenter', function() { + $(this).append(''); + }).on("mouseleave", function() { $(this).find(".addBlackList").remove(); - }).on("click",function(){ - var peer=$(this).closest(".im-mess-stack").data("peer"); - var name=$(this).closest(".im-mess-stack").find(".im-mess-stack--pname a").html(); - var url=$(this).closest(".im-mess-stack").find(".im-mess-stack--pname a").attr("href"); - blackList[peer]=JSON.parse(peaple); - blackList[peer].name=name; - blackList[peer].url=url; - console.log(blackList); + }).on("click", function() { + var peer = $(this).data("peeder"); + blackList[peer] = JSON.parse(peaple); + blackList[peer].name = $(this).closest(".im-mess-stack").find(".im-mess-stack--pname a").html(); + blackList[peer].url = $(this).closest(".im-mess-stack").find(".im-mess-stack--pname a").attr("href"); save(); + return false; }); - },1000); + + if (!$("a").is(".blackListButton")){ + $("._im_dialog_action_wrapper ._ui_menu").append('
Черный список'); + + $(".blackListButton").unbind().on('click', function() { + $(".blackListGened").remove(); + $("body").append(genBlackList()); + $(".blackListGened").fadeIn(500); + $(".removeBlackList").on('click', function() { + var peed = $(this).data('peered'); + delete blackList[peed]; + save(); + $(".hideBlackList").click(); + location.reload(); + return false; + }); + $(".hideBlackList").on('click', function() { + $(this).closest(".blackListGened").fadeOut(500); + $(this).unbind(); + $(this).closest(".blackListGened").remove(); + return false; + }); + }); + } + }, 1000); })(); +function genBlackList() { + //var keys=Object.keys(blackList); + var tt = ""; + for (var prop in blackList) { + tt = tt + '' + blackList[prop].name + ' X
'; + } + /*for (var i = 0; i < keys.lenght; i++) { + tt=tt+''+blackList[keys[i]].name+''; + console.log(keys[i]+"|"); + }*/ + + return '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '' + + '
' + + '
'; +} -function save(){ +function save() { localStorage.setItem('blackList', JSON.stringify(blackList)); } -function load(){ +function load() { blackList = JSON.parse(localStorage.getItem('blackList')); }