Greasy Fork is available in English.

QQ空间自动点赞,QQ空间自动点赞说说

QQ空间自动点赞,两种模式(默认1):1. 每隔20秒获取新说说点赞新说说 2.一直往下翻屏幕点赞旧说说,选择模式请修改mode的值 。可以自定义点赞指定好友或不点赞某个好友,请修改指定数组的值;

// ==UserScript==
// @name         QQ空间自动点赞,QQ空间自动点赞说说
// @namespace    http://tampermonkey.net/
// @version      2.0.1.0
// @description  QQ空间自动点赞,两种模式(默认1):1. 每隔20秒获取新说说点赞新说说 2.一直往下翻屏幕点赞旧说说,选择模式请修改mode的值 。可以自定义点赞指定好友或不点赞某个好友,请修改指定数组的值;
// @author       健康幸福
// @match        https://user.qzone.qq.com/*
// @license      MIT
// @grant        none
// ==/UserScript==

var mode = 1; /* 模式 */

/* 模式1,刷新式点赞,适合自动刷新点赞新说说 */
var INTERVAL_1 = 20000; /* 设置刷新说说(网页内刷新)时间间隔毫秒*/
var refl = false; /* 间隔一段时间刷新网页 */

/* 模式2.下滑式点赞,适合点赞旧说说 */
var INTERVAL_2 = 500; /* 下滑时间间隔 */
var scs = 100; /* 下滑距离,像素为单位 */

/* 点赞好友过滤,请按照下面的格式填写QQ号码,并去掉QQlist前的双斜杠“//*/
var QQlist = new Array();
/* 如果这个数组的值不为空,则指点赞里面指定的好友 */
// QQlist[0] = "88888889";
// QQlist[1] = "88888888";

var dList = new Array()
//不要点赞的QQ好友
// dList[0]="200000003";
// dList[1]="2000000005";


function DIANZAN() {
    var sslist = document.getElementsByClassName("f-single");
    for (var i = 0; i < sslist.length; i++) {
        var likss = sslist[i];
        if (likss.children.length == 3) {
            var sshd = likss.children[0].children[3]; //获取到QQ号码和发表时间
            var sstime = sshd.children[1].children[0].innerHTML; //获取到发表时间
            var friendname = sshd.children[0].children[0]; //获取到好友名字(备注)
            var friendQQ = (friendname.href).match(/\d+/g)[0]; //获取到QQ号,会与数组中的匹配
            if ((QQlist.length == 0 || QQlist.indexOf(friendQQ) > -1) && dList.indexOf(friendQQ) == -1) {
                var dianzanBtn = likss.children[2].children[0].children[0].children[4]; //这里获取到点赞按钮
                if (dianzanBtn.className != "item qz_like_btn_v3 item-on") {
                    dianzanBtn.click();
                    console.log("点赞:" + sstime + ":" + friendname.innerHTML + " QQ:" + friendQQ);
                }

            }
        }
    }
}

function printNowTime() {
    var now = new Date();
    var hh = now.getHours(); //时
    var mm = now.getMinutes(); //分
    var ss = now.getSeconds()
    var time = {
        hh,
        mm,
        ss
    };
    return time;
}

function mode_1() {
    var refl = document.getElementById("feed_friend_refresh");
    if (refl != null) {
        // console.log(refl);
        refl.click(); /* 点击刷新,获取新的说说 */
    }
    setTimeout(DIANZAN, 2000); /*刷新后两秒点赞 */
    // printNowTime();
    var time = printNowTime().mm
    if (time.mm == 30 && time.ss > 35 && refl) {
        /* 考虑到长时间挂机内存逐渐跑高,某一时刻进行刷新一次
            目前问题:超过或接近12小时会因为刷新而掉线
         */
        location.reload(true);
        refl = false;
    }
    setTimeout(mode_1, INTERVAL_1);
}

function mode_2() {
    DIANZAN(); /* 点赞 */
    window.scrollBy(0, scs); /* 向下滑动 */
    setTimeout(mode_2, INTERVAL_2); /* 递归调用 */
}

function mode_sl() {
    switch (mode) {
        case 1: {
            mode_1();
            break;
        }
        case 2: {
            mode_2();
            break;
        }
        default: {
            console.log("请给mode赋值模式1 或 2")
            break;
        }

    }
}
(function () {
    'use strict';
    console.log("function ()函数启用");
    refl = true;
    window.onload = setTimeout(mode_sl, 2000);
})();