NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Add Friends // @description Gerenciar Apps do Google Play // @version 1.0 // @author parloti // @license MIT // @include https://play.google.com/apps/* // @icon https://www.gstatic.com/android/market_images/web/favicon_v2.ico // @match http://portal.pixelfederation.com/en/profile* // @grant none // @run-at document-end // ==/UserScript== "use strict"; //http://portal.pixelfederation.com/?a=profile/userProfile&profileId=4833401 //http://portal.pixelfederation.com/?a=profile/userProfile var players=JSON.parse("["+(localStorage.players||"")+"]"); var friends=JSON.parse("["+(localStorage.friends||"")+"]"); function getProfiles(){ var requestedTime=new Date().getTime(); var player=players.shift()||7027252; while(player&&friends.indexOf(player)!==-1){ //console.log(player,friends.indexOf(player)); player=players.shift(); } if(player===7027252){ console.log(players); } //console.log(player); var xhr=new XMLHttpRequest(); xhr.open("GET","http://portal.pixelfederation.com/en/profile/"+player,true); xhr.onload=function(b){ if(b.currentTarget.status===200){ var receivedTime=new Date().getTime(); var response=b.currentTarget.response; //console.log(b.currentTarget.response); var parser = new DOMParser(); var doc = parser.parseFromString(response, "text/html"); var anchors=doc.querySelectorAll(".player-list__item__detail__username"); for(var i=0;i<anchors.length;i++){ let anchor=anchors[i]; if(anchor.getAttribute("href")){ var profile=anchor.getAttribute("href").match(/profile\/(\d+)/); if(profile&&profile.length===2){ profile=profile[1]; if(players.indexOf(profile)===-1&&friends.indexOf(profile)===-1){ players.push(profile); } } else{ console.log(profile); } } else{ console.log(anchor); } } localStorage.players=players; setTimeout(getProfiles,(receivedTime-requestedTime)*(Math.random()*4+1+localStorage.interval)); var friendship=doc.querySelector("#profileSettings .btn"); if(friendship){ if(friendship.getAttribute("href")){ var _friendship=friendship.getAttribute("href").match(/(addInvitedPlayer|removeFriendship|addFriendPlayerFromInvitedPlayer)\/(\d+)/); if(_friendship&&_friendship.length===3){ let status=_friendship[1]; let friend=_friendship[2]; if(status!=="addInvitedPlayer"&&status!=="removeFriendship"&&status!=="addFriendPlayerFromInvitedPlayer"){ console.log(status); } if(status==="addInvitedPlayer"||status==="addFriendPlayerFromInvitedPlayer"){ setTimeout(addFriend,(receivedTime-requestedTime)*(Math.random()*4+1)+localStorage.interval,player,status); } if(status==="removeFriendship"&&friends.indexOf(profile)===-1){ friends.push(player); localStorage.friends=friends; } } else{ console.log(_friendship,friendship.getAttribute("href")); } } else{ console.log(friendship);console.log(xhr); } } else{ console.log(doc); } } else{ console.log(b.currentTarget.status); if(players.indexOf(player)===-1){ players.push(player); } } } xhr.onerror=function(a){ console.log(a); if(players.indexOf(player)===-1){ players.push(player); } getProfiles(); } //xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"); xhr.send(); } function addFriend(player,status){ var xhr=new XMLHttpRequest(); xhr.open("GET","http://portal.pixelfederation.com/en/profile/friendPlayers/"+status+"/"+player,true); xhr.onload=function(b){ if(b.currentTarget.status!==200){ console.log(b.currentTarget.status); if(players.indexOf(player)===-1){ players.push(player); } } else if(b.currentTarget.status===200||b.currentTarget.readyState===4){ //console.log(b.currentTarget); } } xhr.onerror=function(a){ console.log(a); if(players.indexOf(player)===-1){ players.push(player); } } //xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"); xhr.send(); } getProfiles();