Hola, quiero presentarte un código que he realizado en javascript para votar automáticamente los contenidos de los usuarios a los que sigues en steemit.
Imagen:http://computerhoy.com/noticias/software/primeros-pasos-convertirte-hacker-53768
A continuación te dejo el código:
var user="eusebio";
var timeClick=5000;
var timeDownload=60000;
setInterval(
function(){
var l=document.querySelectorAll('[title=Upvote]');
if(l.length>0&&location.pathname=="/@"+user+"/feed") {
l[0].click();
}
}
,timeClick);
setInterval(
function(){
if(location.pathname=="/@"+user+"/feed"){
document.querySelectorAll("[href='/@"+user+"/feed']")[0].click();
}
}
,timeDownload);
Voy a explicar parte por parte en que consisten cada una de las sentencias.
Las primeras 3 instrucciones son variables que deben usarse para personalizar el comportamiento del programa:
var user="eusebio";
var timeClick=5000;
var timeDownload=60000;
La variable 'user' es obligatorio cambiarla, debes poner tu nombre de usuario en steem.
'timeClick' es el intervalo de tiempo en milisegundos que debe esperar el script antes de votar el siguiente artículo de la lista, he puesto 5000 (5 segundos) por los lags, aunque la plataforma impone 3 segundos como mínimo.
'timeDownload' es el tiempo que debe esperar el script antes de descargar nuevo contenido. En realidad simula un click en la pestaña home. He puesto por defecto que cada minuto compruebe si hay nuevo contenido (60000).
La función:
setInterval(funcion, tiempo)
Es propia de javascript, sirve para que cada vez que pase el tiempo que indica la variable 'tiempo', se ejecute la función que indica la variable 'función'. Por tanto en mi código cada 'timeClick' ejecutará la función anónima que le estoy pasando:
function(){
var l=document.querySelectorAll('[title=Upvote]');
if(l.length>0&&location.pathname=="/@"+user+"/feed") {
l[0].click();
}
}
Esta función comienza recogiendo una lista con todos los artículos que no han sido votados y guardándolos en la variable 'l':
var l=document.querySelectorAll('[title=Upvote]');
A continuación aparece una sentencia 'if', (si condicional) que indica que si se cumple la condición que va entre paréntesis se ejecutará el código que existe en su bloque:
if(l.length>0&&location.pathname=="/@"+user+"/feed")
En primer lugar se comprueba que hay artículos para votar:
l.length>0
Es decir, el tamaño (length) de la lista 'l' es mayor que 0, y además:
location.pathname=="/@"+user+"/feed"
La url es la de la pestaña home, si una de las dos condiciones no se cumple el bloque 'if', no se ejecutará. Es decir, cuando no hay artículos que votar o no estás situado en la pestaña home, por ejemplo si has pinchado sobre un artículo para leerlo.
El código dentro de la sentencia 'if':
l[0].click();
Coje el primer elemento de la lista el 0 y simula un click, por tanto, cada vez que se ejecuta, coje el primer artículo sin votar en orden descendente de la página y lo vota.
La segunda parte del script:
setInterval(
function(){
if(location.pathname=="/@"+user+"/feed"){
document.querySelectorAll("[href='/@"+user+"/feed']")[0].click();
}
}
,timeDownload);
Es prácticamente idéntica sólo que en este caso, comprobamos, únicamente, que el usuario se encuentra en la pestaña 'home' y después se simula un click sobre la propia pestaña 'home' descargando nuevo contenido. Hay veces que al pulsar sobre 'home', no se descarga nuevo contenido, cuando esto pase habrá que actualizar la página y volver a instalar el script.
Para instalar este código, debes poner tu nombre de usuario en lugar de eusebio que es el mio, dirigirte a la pestaña 'home' de la plataforma, y copiarlo y pegarlo en la consola de desarrollo del chrome:
Para ello, una vez en la pestaña 'home' presiona la tecla 'F12' de tu teclado, y en la herramienta que aparece debajo o a un lado, dirigite a la pestaña 'console'. Una vez ahí, en la parte de abajo del todo, como puede verse en la imagen, pega el código y pulsa 'enter'. A partir de ese momento, comenzará a votarse un artículo cada 5 segundos y a descargarse nuevo contenido, en caso de exista, cada minuto.
Espero que te resulte de utilidad, ¡un saludo y hasta la próxima!