1. JavaScript / Говнокод #20917

    +2004

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    // ==UserScript==
    // @name         GK refine
    // @version      0.1
    // @description  opens comments on govnokod.ru... etc
    // @match        http://govnokod.ru/*
    // @match        http://www.govnokod.ru/*
    // @grant        none
    // ==/UserScript==
    
    // Показывает в стоке "new" около нового комментария
    // и пишет, сколько времени назад его оставили
    (function(){
        if(location.pathname != '/comments') return;
        
        var key = 'fcd0d66f-9ff0-4827-82f1-e183dc1ab98c-last-time';
        var lastTime = localStorage[key] ? +localStorage[key] : 0;
        var now = new Date();
        
        $('abbr.published').each(function(){
            var d = + new Date($(this).attr('title'));
            $(this).text(((now-d) / 1000 / 60).toFixed(2) + 'm');
            if(d > lastTime) $(this).after('<span style="color: red">NEW </span>');
        });
        localStorage[key] = +now;
    })();
    
    // Открывает скрытые комменты
    $("div.entry-comment-hidden").removeClass('entry-comment-hidden');

    Смотрю, а багры в стоке комментарий подменяют, чтобы пользователи не видели, где новый багор, а где старый.
    Я только сейчас это понял потому, что у меня около непросмотренного в стоке пишется "NEW" уже несколько месяцев.
    Запилил потому, что даже без багров не помнил, что открыл, а что нет. А тут в тему будет для тех, у кого платного аккаунта нет.

    Запостил: 1024--, 21 Августа 2016

    Комментарии (48) RSS

    • #юзерскрипт #сток
      Ответить
      • Какой багор )))
        Ответить
      • Не заходил пару месяцев. Что с сайтом случилось?
        Ответить
        • Какой багор )))
          Ответить
        • показать все, что скрытоПроснулись багры и минусаторы. Проснулся Стертор и начал давить багры восьмьюдесятью минусами и поднимать небагров. Пришли антибагры с несколькими сотнями ботов в помощь Стерторы. Пришёл ещё кто-то и зарегистрировал ~1000 учёток. Пришёл ещё кто-то и зарегистрировал ~2000. Потом ещё какая-то группа лиц взяла ещё несколько тысяч учёток. Кто-то из них регистрировал вручную, кто-то заставил нейронную сеть распознавать капчу ГК. Достигли скорости в 35 килорегистраций в сутки. Пользователи bagor и SlavaBagru отвечают на каждый комментарий "Какой багор )))", комментарии и посты поднимают/опускают на 1.5К.
          Сейчас вообще какая-то странная фигня творится.
          Ответить
    • Если уж проект заброшен, почему бы не дать возможность контрибьютить в репозиторий говнокода? Были же желающие!
      За раз бы пофиксили все недочеты и добавляли бы новых фич.
      Ответить
    • Я когда регался (примерно чуть больше года назад), админ ещё был активен.
      Мне не приходило письмо с подтверждением, я написал на [email protected], и меня подтвердили вручную.
      Ответить
    • пиздец что творится, джва года не заходил на говнокод, наверное столько же не буду заходить
      Ответить
    • // ==UserScript==
      // @name         GK refine
      // @version      0.2
      // @description  opens comments on govnokod.ru... etc
      // @match        http://govnokod.ru/*
      // @match        http://www.govnokod.ru/*
      // @grant        none
      // ==/UserScript==
      
      // Показывает в стоке "new" около нового комментария
      // и пишет, сколько времени назад его оставили
      (function(){
      	if(location.pathname != '/comments') return;
      
      	var key = 'fcd0d66f-9ff0-4827-82f1-e183dc1ab98c-last-time';
      	var lastTime = localStorage[key] ? +localStorage[key] : 0;
      	var now = new Date();
      
      	$('abbr.published').each(function(){
      		var d = + new Date($(this).attr('title'));
      		$(this).text(((now-d) / 1000 / 60).toFixed(2) + 'm');
      		if(d > lastTime) $(this).after('<span style="color: red">NEW </span>');
      	});
      	localStorage[key] = +now;
      })();
      
      // Открывает скрытые комменты
      $("div.entry-comment-hidden").removeClass('entry-comment-hidden');
      
      // Далее куски спёрты с http://userscripts-mirror.org/scripts/review/393166
      
      //dirty, DIRTY hack to wait for certain element to appear. -_- 
      //But I have no idea how to do it right.
      function waitForSelector(selector, context, mustexist, callback) {
      	if (($(selector, context).length>0) == mustexist)
      		callback();
      	else
      		setTimeout(function(){waitForSelector(selector, context, mustexist, callback);}, 50);
      }
      
      (function hijackComments() {
      	if (/govnokod\.ru\/\d+/.test(location)) return;
      	//мы на главной или где-то еще
      
      	//перехват загрузки комментариев
      	var oldLoadComments = window.comments['load'];
      
      	function newLoadComments(aElemTrigger) {
      		var $parent = $(aElemTrigger).closest('.entry-comments');
      		oldLoadComments.call(this,aElemTrigger);
      		waitForSelector('.hcomment', $parent, true, function(){
      			// Открывает скрытые комменты на главной
      			$parent.find("div.entry-comment-hidden").removeClass('entry-comment-hidden');
      		});
      	}
      
      	window.comments['load'] = newLoadComments;
      })();
      Ответить

    Добавить комментарий