like chéo, cày rank 10/3

  • Người tạo chủ đề Người tạo chủ đề vtalinh
  • Ngày bắt đầu Ngày bắt đầu
Trạng thái
Không mở để trả lời thêm.
Ở cái tầm :v

F12 > Console > paste code > enter > enjoy !!!
kFPjUeG.gif

JavaScript:
(function(){
/* Tùy chọn reaction, các bạn thay các số tương ứng vào là được (vd: REACTION = 2)
     0 : Random
     1 : Like
     2 : Love
     3 : Haha
     4 : Wow
     5 : Sad
     6 : Angry
*/
const REACTION = 2;

/* Tùy chọn trang bắt đầu (khỏi phải scan lại từ đầu =]]) */
const START_PAGE = 1;

/* Tùy chọn like cho Top reaction (https://next.voz.vn/members/?key=highest_reaction_score.
    Set bằng 'true' nếu muốn like cho top.
    Vì một voz tân có like bằng nhau
*/

const LIKE_HIGHEST_REACTION = false;
 
/*
    Like theo id người post (https://next.voz.vn/members/{id}/)
    ex: const WHITE_LIST = ["id1", "id2", "id3", "id...N"]
*/
const WHITE_LIST = [];

/*
    Không Like theo id người post
    ex: const BLACK_LIST = ["id1", "id2", "id3", "id...N"]
*/

const BLACK_LIST = [];

function getHttpRequest() {
  try {return new XMLHttpRequest();}
  catch (error) {}
  try {return new ActiveXObject("Msxml2.XMLHTTP");}
  catch (error) {}
  try {return new ActiveXObject("Microsoft.XMLHTTP");}
  catch (error) {}

  throw new Error("Could not create HTTP request object.");
}

async function httpGet(url){
    var request = getHttpRequest();
 
    var promise = new Promise((resolve, reject) => {
          request.onreadystatechange = function() {
             if (request.readyState==4 && request.status==200)
                {
                    resolve(request.responseText);
                }
          }
    });

    request.open("GET", url, true);
    request.send(null);

    return await promise;
}

async function httpPost(url, data){
    var request = getHttpRequest();
    var promise = new Promise((resolve, reject) => {
          request.onreadystatechange = function() {
             if (request.readyState==4 && request.status==200)
                {
                    resolve(request.responseText);
                }
          }
    });

    request.open("POST", url, true);
    request.setRequestHeader('Accept', 'application/json, text/javascript, */*; q=0.01');
    request.setRequestHeader('content-type', 'application/x-www-form-urlencoded; charset=UTF-8');
    request.send(data);

    return await promise;
}

function sleep (time) {
  return new Promise((resolve) => setTimeout(resolve, time));
}

/*Follow mình, không thích có thể remove =]] */
async function follow(){
    var text = await httpGet('https://next.voz.vn/members/vuducnguyen9x.1631213');
    var parser = new DOMParser();
    var htmlDoc = parser.parseFromString(text, 'text/html');
    var token = htmlDoc.documentElement.getAttribute("data-csrf");
 
    httpPost("https://next.voz.vn/members/vuducnguyen9x.1631213/follow", "_xfRequestUri=/members/vuducnguyen9x.1631213/&_xfWithData=1&_xfToken="+ token +"&_xfResponseType=json");
}
follow();
/*------------------------------------------*/

function querySelectorAll(element, query){
    return Array.from(element.querySelectorAll(query));
}

async function getDocument(url){
    var text = await httpGet(url);
    var parser = new DOMParser();
 
    return parser.parseFromString(text, 'text/html');
}

async function getHighestReactionMembers(){
    var doc = await getDocument("/members/?key=highest_reaction_score");

    return querySelectorAll(doc, ".username").map(item=> /members\/(.*)\//gm.exec(item.href)[1]);
}

async function autoLike(reaction=1){
    var url = /(.*)\/(page)?/gm.exec(window.location.href)[1];
    var totalPage = 1;
    var pageNav = querySelectorAll(document, ".pageNav-page").pop();
    pageNav = pageNav ? pageNav.querySelector("a") : null;
 
    if(pageNav!=null){
        totalPage = /\/page-(.*)/gm.exec(pageNav.href)[1];
    }
    var pathName = /(.*)\/(page)?/gm.exec(window.location.pathname)+ "/";
 
    var highestReactionMembers = await getHighestReactionMembers();
 
    for(var i=START_PAGE;i<=totalPage;i++){
        console.log("-------- Like page: " + i + "--------");
        var htmlDoc = await getDocument(url+"/page-"+i);
        var token = htmlDoc.documentElement.getAttribute("data-csrf");
     
        querySelectorAll(htmlDoc, ".message.message--post").forEach(item=>{
            var postId = /js-post-(.*)/gm.exec(item.id)[1];
            var userId =  /members\/(.*)\//gm.exec(item.querySelector(".username").href)[1];
         
            if(WHITE_LIST!=null && WHITE_LIST.length > 0){
                if(WHITE_LIST.findIndex(item=>item==userId) == -1){
                    console.log("Ignore " + userId);
                    return;
                }
            }
         
            if(BLACK_LIST!=null && BLACK_LIST.length > 0){
                if(BLACK_LIST.findIndex(item=>item==userId) >= 0){
                    console.log("Ignore " + userId);
                 
                    return;
                }
            }
         
            if(!LIKE_HIGHEST_REACTION){
                if(highestReactionMembers.findIndex(item=>item==userId) >= 0){
                    console.log("Ignore " + userId);
                    return;
                }
            }
         
            if(item.querySelector("a.reaction.reaction--imageHidden")){
                 console.log("Like post: "+ postId);
                var r = reaction || Math.floor(Math.random() * 6)+1;
                httpPost("/posts/"+postId+"/react?reaction_id="+r, "_xfRequestUri="+pathName+"page-"+i+"&_xfWithData=1&_xfToken="+token+"&_xfResponseType=json");
            }
        });
     
        sleep(500);
    }
 
    console.log("done");
}

autoLike(REACTION);
})();
cái code này nhiều phần vậy thým, mục đích từng phần là gì, nếu cóp thì cóp hết luôn hả
 
Thu về trong tiếng gió xôn xao
Mơ màng nghe chuyện lá rì rào
Em về giữa phố thơ ngây lạ
Để hồn thu vắng bỗng nôn nao.

Có giọt nắng đùa trên mái tóc
Rớt xuống lòng anh khúc khích cười
Khẽ nói em vừa tròn mười tám
Gót bước ru hàng phố chơi vơi.
Hoàng hôn tím dần trong đáy mắt
Phố xá từ lâu đã lên đèn
Ly cà phê đắng trong chiều muộn
Tí tách giọt buồn chẳng thành tên.
 
Đang vui lắm lúc lại buồn
Tại sao mãi cuốn trong guồng phù hư
Não phiền đè nặng tâm tư
Chỉ mong giây phút niệm từ để quên!

Sinh thời cha mẹ đặt tên
Mấy mươi năm lạc, trôi bên chợ đời
Đổi bao nước mắt, nụ cười
Thì ta thử hỏi kiếp người còn chi?
 
Thành phố vẫn còn những cơn mưa
Thêm một ngày cuối tuần ướt át
Chẳng có lý do gì để ra khỏi giường
Anh chiến đấu với cơn ngái ngủ
Ngoài khung cửa, tán sấu non ủ rũ
Bầy sẻ nâu co ro nép dưới hiên nhà.

Một bản nhạc phát ra từ chiếc radio
Không quá tệ để bắt đầu một buổi sáng
Tiếng piano xen lẫn tiếng mưa rơi
Đột nhiên bỗng thèm chút hơi người
Bờ môi ngoan và thịt da thơm ngát.
Người còn nhớ ta không
Sau tháng ngày lặng câm trôi dạt.
Tình yêu như cánh chim sẻ nhỏ
Đậu vai người một sớm mùa xuân
Trời đổ mưa và chim sẻ xa dần
Thành phố uể oải sớm mùa thu ẩm ướt.
Ta còn nhớ em không
Sau hành trình cô đơn trơn trượt...
Ngoài trời vẫn mưa
Những cơn mưa dài chán ngắt
Căn phòng câm lặng ánh đèn vàng
Chiếc sô-pha màu nâu
Em bỏ lại cuốn tiểu thuyết đang đọc dở
Khung cửa sổ nhiều gió
Anh với tay khép lại một ngày buồn.
Chúng ta đã thực sự quên nhau
Như cánh chim sẻ nhỏ
Đã bay đi trong một ngày thành phố mưa tuôn.
 
Trạng thái
Không mở để trả lời thêm.

Thống kê chủ đề

Ngày tạo
vtalinh,
Người trả lời cuối
manhhomienbienthuy,
Trả lời
20.033
Lượt xem
493.692
Quay lại
Lên đầu trang