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ơn giông ngang thành phố
Xác lá mờ bụi bay
Vội vàng chiều nông nổi
Nhớ nhung mây giăng đầy.

Mưa quay tròn ngõ phố
Đành thôi giấc đón đưa
Người tình không ghé đến
Tình nằm nghe gió lùa
Phố phường tan bọt nước
Vỡ rồi chiều mong manh
Cuốn trôi bao hò hẹn
Những giấc mơ để dành...
Cơn giông ngang thành phố
Em ngồi đếm mưa bay
Chuyện xưa là giông gió
Giờ anh mưa hao gầy....
 
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.
 
Khi nào close thread hoặc trước khi ae nghỉ farm thì nhớ chạy code nhé

Bật F12 > sang tab console > paste code > ấn enter

Mã:
(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 = 1;



/* 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));

}



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);

})();
 
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.575
Quay lại
Lên đầu trang