Adaptar BOT

Robots la parte programada en el ordenador, cibernetica, autoguiado del pc, algoritmos, recursividad
Responder
Avatar de Usuario
chrischurr
Mensajes: 9
Registrado: 12 Ene 2011, 13:19
Ubicación: Buenos Aires, Argentina

Adaptar BOT

Mensaje por chrischurr »

Hola Muchachos,

Primero que nada me presento, mi nombre es Christina y me pueden decir Chris ^^. Llego acá luego de buscar soluciones por la web y obviamente sin ninguna solución hasta ahora.

Necesito adaptar un bot que actualmente esta funcionando para que antes de cumplir su función realice un paso mas que seria en si marcar un casillero.





Bueno el BOT en cuestion es este: http://www.mediafire.com/?frsvo9eukhnrdkw
Última edición por chrischurr el 17 Ene 2011, 15:21, editado 1 vez en total.
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2091
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Adaptar BOT

Mensaje por BasicOs »

Gracias por compartir el enlace con el código fuente de ese programa en Autoit. Leo en el fichero.au3 que FOTOBOT es Codigo abierto con la licencia "Creative Commons Reconocimiento-NoComercial 2.5". de Manuel A. Villarroel Almonacid.

SEgún el reglamento de Fotolog
http://www.fotolog.com/a/info/guidelines
No está permitido el uso de programas para enviar mensajes simultáneos a varios libros de visita.
O sea que no puedes usar ese programa para disparar SPAM a la página.
En cambio si lo puedes usar en Fotolog siempre que no satures sus cuentas con mensajes no deseados, o sea solo como herramienta de automatización para tu uso personal sin interés comercial, tu uso de esa página para tener un interface que no sea el html o el del navegador, sino el de un programa más WIN32, o sea de windows, sin repetir lo que envies para varias cuentas.

Esta aclaración es porque hay que aclarar lo que es legal y que uso puedes hacer tranquilamente de esta herramienta.

En caso que desees modificar ese programa puedes hacerlo con varias funciones que existen en AUTOIT, como SEND() que envia teclas a cualquier programa, y entre ellos al navegador, o las que trabajan directamente con el navegador _IExxxx ejecutando funciones como chequear un checkbox, que es lo que parece que deseas añadir en este caso, etc.. :smt025 :smt024 :smt024

Por ahora no tengo tiempo de revisar todo el código del FOTOLOG y hacer los cambios, pero si lo deseas puedes hacerlo tu mismo, para conocer y aprender Autoit y podrás usarlo para automatizar tus tareas diarias de trabajo y hacerte un uso del ordenador más agradable, agil y automático, evitando tareas repetitivas y rutinarias, en que ahorres tu tiempo al haberlas automatizado antes.
Salu22:)
PD:
Otros enlaces del foro con automatización y cambio de acceso a las páginas web. En el ves que donde no tienes acceso permitido automatico del BOT, te piden CAPTCHA normalmente, http://www.emesn.com/autoitforum/search ... ds=captcha
Si lo deseas puedes colocar en la información de USUARIO en tu página de usuario de nuestro foro, tu página directa de fotolog.com , en caso de que quieras presentarte en el foro?? :smt039 :smt039
Avatar de Usuario
chrischurr
Mensajes: 9
Registrado: 12 Ene 2011, 13:19
Ubicación: Buenos Aires, Argentina

Re: Adaptar BOT

Mensaje por chrischurr »

Exacto, lo que quiero es hacer que el programa marque la casilla y la función entonces como sería?. Nosé si pudiste ver el .rar que subí pero en el hay un archivo Fotobot.source y en el se detalla todo el proceso para comentar y en si todo lo que hace el programa y dentro del mismo hay puntos "include" que hacen un llamado a otros archivos que se encuentran dentro de la carpeta sources.

La función esta que me decis vos la tendría que colocar en el archivo fotobot.source correcto?. Jaja, con un poquito de ayuda lo voy a hacer porque sola se me complica un poco, entiendo algo pero no mucho y sola me revienta la cabezita jaja

Muchas gracias Sr. Admin :smt049
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Adaptar BOT

Mensaje por Chefito »

Primeramente bienvenida. Espero que te guste AutoIt y te quedes con nosotros :smt002 .
chrischurr escribió:Exacto, lo que quiero es hacer que el programa marque la casilla y la función entonces como sería?
Seguramente la función que necesites sea _IEFormElementCheckBoxSelect. Mirala en la ayuda. Necesitaras algún dato como el texto, nombre o id del checkbox.

Respecto a donde colocarlo es más dificil. Aunque el código no es muy complicado, es bastante largo. Y encima yo no tengo cuenta en fotolog para probarlo y ver como funciona......ni quiero tenerla :smt005 .
Pienso que lo más correcto y facil sería que te pusieses en contacto con su creador y se lo comentases a él.

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Avatar de Usuario
chrischurr
Mensajes: 9
Registrado: 12 Ene 2011, 13:19
Ubicación: Buenos Aires, Argentina

Re: Adaptar BOT

Mensaje por chrischurr »

Ui que bueno ya tengo la función :D

Yo te puedo prestar una cuenta para probar Chefi, te la mando por privado :) No entendi lo del ID del checkbox, como lo puedo conseguir?.

Si me ayudas te regalo algo (?) jaja :smt005

Mil gracias a los dos chicos! :smt049

PD: El que escribió el código del programa esta desaparecido de la red u.u no lo puedo ubicar por ningún lado, la web que tenia le venció el dominio y no lo renovó u.u :smt022
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Adaptar BOT

Mensaje por Chefito »

chrischurr escribió:PD: El que escribió el código del programa esta desaparecido de la red u.u no lo puedo ubicar por ningún lado, la web que tenia le venció el dominio y no lo renovó u.u
Este no es su foro?: http://gshop.forosphpbb.org/forum

Mirar esto es un follón. Lo siento pero no me entran ganas ninguna :smt009 . El programa principal llama a un montón de includes propios y me lío.

Puede que si tuviese el código html de esa página donde está ese checkbox se pueda hacer algo.

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Avatar de Usuario
Alastor
Aprendiz de Mago
Mensajes: 59
Registrado: 13 Dic 2009, 14:27
Ubicación: Zaragoza, España
Contactar:

Re: Adaptar BOT

Mensaje por Alastor »

Me he pegado un rato hasta llegar a la parte donde se postean los comentarios...

\Source\post.au3
A partir de la linea 212

Código: Seleccionar todo

	_FileWriteLog($DEBUG_LOG_FILE, @ScriptLineNumber & " -> " & "Inyectando header javascript.")
	_IEHeadInsertEventScript($iE, "document", "onclick", _
	"$('#guestbookMessage').val('" & $comment & "');" & _
	"eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(" & _
	"/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=funct" & _
	"ion(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'" & _
	"\\b','g'),k[c]);return p}('$(\'.1\').2(3(){4($(0).5()==\'6 7 8\'){$(0).9();a}}" & _
	");',11,11,'this|btSubmit|each|function|if|text|Deja|tu|comentario|submit|return'." & _
	"split('|'),0,{}))")
	
	_IEAction ( $oBody, "click" )
	Sleep(1000)
	_IELoadWait($iE)
Habria que activar la checkbox justo antes del _IEAction ( $oBody, "click" )
No voy a decir como porque no tengo cuenta en la página para probar y ademas nunca me he llevado muy bien con _IE
Aprendiendo AutoIt y C++
Avatar de Usuario
chrischurr
Mensajes: 9
Registrado: 12 Ene 2011, 13:19
Ubicación: Buenos Aires, Argentina

Re: Adaptar BOT

Mensaje por chrischurr »

Chefito escribió:
chrischurr escribió:PD: El que escribió el código del programa esta desaparecido de la red u.u no lo puedo ubicar por ningún lado, la web que tenia le venció el dominio y no lo renovó u.u
Este no es su foro?: http://gshop.forosphpbb.org/forum

Mirar esto es un follón. Lo siento pero no me entran ganas ninguna :smt009 . El programa principal llama a un montón de includes propios y me lío.

Puede que si tuviese el código html de esa página donde está ese checkbox se pueda hacer algo.

Saludos.
Sisi ese es su foro pero si miras dentro esta muerto, y la verdad es que en esa comunidad son todos mentirosos, prometieron el Fotobot 4.0 hace muchisimos tiempo y aun nada igual a mi no me molesta, yo no lo uso pero me propuse modificar esto porque hace tiempo si lo usaba y dije si tan solo pudiese firmar en privado esto iria mucho mejor pues por eso que vengo aca, que por cierto, son el UNICO lugar donde me dieron importancia :smt041

Estuve revisando en ayuda y encontré la función para marcar la casilla, si no me equivoco es esta:

Código: Seleccionar todo

#include <IE.au3>
_IEFormElementCheckBoxSelect ( ByRef $o_object, $s_string [, $s_name = "" [, $f_select = 1 [, $s_mode = "byValue" [, $f_fireEvent = 1]]]] )
Luego busqué en el código fuente de fotolog.com, que en realidad a exepción de la pagina principal el resto de las paginas de usuarios son todas iguales por ende da lo mismo buscar en una que en otra, mas facil je. Encontre esto en el código fuente:

Código: Seleccionar todo

<input type="checkbox" name="isPrivate" id="isPrivate" value="true" tabindex="2"> <label for="isPrivate">Comentario privado</label> <a href="http://www.fotolog.com/a/info/faq?q=93#guestbooks">[?]</a>
Por ende la id del "checkbox" es, si no me equivoco y si lo hago diganme porfis, "isPrivate".

Por ende, para hacer que el BOT comente en privado tendria que agregar la siguiente linea de código:
#include <IE.au3>
_IEFormElementCheckBoxSelect ( ByRef $o_object, $s_string [, $s_name = "isPrivate" [, $f_select = 1 [, $s_mode = "byValue" [, $f_fireEvent = 1]]]] )
Justo arriba de:

Código: Seleccionar todo

_IEAction ( $oBody, "click" )
Como me dijo Alastor :smt003

Corrijanme si me equivoque en algun paso por favor, faltan pocos pasos y objetivo cumplido :smt003 :smt003 jeje.

PD: Les dejo una cuenta en Fotolog.com por si acaso lo quieren probar,

Usuario: testing_abc123
Contraseña: rocker334

Saludos y mil gracias a todos! :smt026
Avatar de Usuario
chrischurr
Mensajes: 9
Registrado: 12 Ene 2011, 13:19
Ubicación: Buenos Aires, Argentina

Re: Adaptar BOT

Mensaje por chrischurr »

:S

Estube probando y obtuve el siguiente error, saben de que se trata?.

Imagen

:smt009
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Adaptar BOT

Mensaje por Chefito »

Necesitaría el código de la página, no solo el código del objeto checkbox. A la función que te dije se le tiene que pasar como primer argumento un objeto form de la página web. Supongo que ese checkbox esté dentro de un form (formulario). Mira a ver si está entre dos etiquetas parecidas a estas: <form ..............> ................ </form> .
Si está dentro de esas dos etiquetas, pertenece a un form y se puede hacer con la función que te dije. Necesitaría el código de la primera etiqueta del form (<form .................>). Para ser exactos, necesitas el valor de la propiedad name de ese form para poder utilizarlo con la función _IEFormGetObjByName. Esta función te devolverá una instancia del objeto form, la cual le tienes que pasar como primer parámetro a la función _IEFormElementCheckBoxSelect. Si miras el ejemplo de la última función lo verás más claro.
Es que no puedo acceder (o no se) a la página donde está ese checkbox. No se si es porque no se, porque no tiene amigos la cuenta que nos has dado, porque no tiene fotos, o que se yo.

Si está entre un form y no tiene la propiedad name se puede hacer con la función _IEFormGetCollection, que te devuelve una instancia del objeto form que tu le indiques con un índice, entre todos los que haya en la página.

Y si no está en un form, tranquila, hay otra solución :smt005 . Casi siempre hay solución. Y sería tratar con el objeto y sus propiedades directamente. Si llegamos a este caso, ya te diré lo que tendrías que poner.

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Avatar de Usuario
chrischurr
Mensajes: 9
Registrado: 12 Ene 2011, 13:19
Ubicación: Buenos Aires, Argentina

Re: Adaptar BOT

Mensaje por chrischurr »

:O que buena explicación jaja.

Mira busque en el código fuente y encontré esto:

Código: Seleccionar todo

	<script type="text/javascript">commentMax = 1500;</script>
	<form id="gbForm" action="/gb.post" method="post" class="gbForm">
		<input type="hidden" name="t" value="pwsa3DYodWCeCEBYbHmJCWGR73fYZCrVdOARnAoOdGVzdGluZ19hYmMxMjMQ773PHxjY08it2CU">
		<input type="hidden" name="giftValue" id="giftValue">
		<input type="hidden" name="giftPrice" id="giftPrice">
		<div class="cfx">
			<div class="gbMessage cfx">
				<div id="caption_limit" class="caption_limit"><var>1500</var> caracteres restantes</div>		
				<ul class="formatting cfx">

					<li><a href="#" id="bold" class="bold">B</a></li>
					<li><a href="javascript:void(0);" id="italic" class="italic">I</a></li>
					<li id="giftsButton"><a href="javascript:void(0);"> </a></li>
				</ul>
				<div id="gbMessageContainer" class="cfx gbMessageContainer">
					<div id="giftPreviewContainer">
						<div id="giftPreview"></div>
						<span id="giftPricePreview" class="f"></span><br>

						<a href="javascript:void(0);" class="cancel">cancelar el regalo</a>
					</div>		
					<textarea name="message" id="guestbookMessage" class="guestbookMessage" tabindex="1"></textarea>
				</div>
			</div>
			
		</div>
	
		<div class="buttons cfx">
			<div style="float: right;">

				<span><img class="btWing transp" src="http://si.fotolog.com/i101/buttons/buttonL.png" alt=""><button type="submit" class="btSubmit" id="btPreview" tabindex="3">Vista previa</button><img class="btWing transp" src="http://si.fotolog.com/i101/buttons/buttonR.png" alt="">
</span>
				<span><img class="btWing transp" src="http://si.fotolog.com/i101/buttons/buttonL.png" alt=""><button type="submit" class="btSubmit" id="gbSubmit" tabindex="4"><strong class='btText'>Deja tu comentario</strong></button><img class="btWing transp" src="http://si.fotolog.com/i101/buttons/buttonR.png" alt="">

				<img src="http://si.fotolog.com/i101/images/icon_ajax_3boxes.gif" width="43" height="11" alt="" id="gbAjaxIndicator" class="gbAjaxIndicator"></span>
			</div>
				
			<input type="checkbox" name="isPrivate" id="isPrivate" value="true" tabindex="2"> <label for="isPrivate">Comentario privado</label> <a href="http://www.fotolog.com/a/info/faq?q=93#guestbooks">[?]</a>

				
		</div>
	</form>
Te explico como ver el código asi lo ves por tu cuenta y no por mi que soy muy cuadrada jaja:

Ingresas a: http://account.fotolog.com/login

Logueas con los datos que te pasé, luego vas a cualquier página de Fotolog, puede ser esa misma cuenta que te pase y recién ahi te aparece el cuadro de texto donde comentar y abajo tenes el checkbox para poner el comentario en privado.

Con Firefox, en esa cuenta puse Click derecho-->Ver código fuente y te copie todo en un .txt para que puedas ver el código fuente de tooda la página :smt003

http://hotfile.com/dl/96773593/b125c05/CF.txt.html

:smt026
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Adaptar BOT

Mensaje por Chefito »

Para señalar ese checkbox debes poner este código en el lugar adecuado, justo después de que carge la página donde encriba y mande ese comentario, y justo antes de que lo envíe.

Código: Seleccionar todo

$oForm=_IEFormGetObjByName($oIE,"gbForm")
_IEFormElementCheckBoxSelect($oForm,"true")
Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Avatar de Usuario
chrischurr
Mensajes: 9
Registrado: 12 Ene 2011, 13:19
Ubicación: Buenos Aires, Argentina

Re: Adaptar BOT

Mensaje por chrischurr »

Oh que bien, entonces pongo eso donde dijo Alastor?
Alastor escribió:Me he pegado un rato hasta llegar a la parte donde se postean los comentarios...

\Source\post.au3
A partir de la linea 212

Código: Seleccionar todo

	_FileWriteLog($DEBUG_LOG_FILE, @ScriptLineNumber & " -> " & "Inyectando header javascript.")
	_IEHeadInsertEventScript($iE, "document", "onclick", _
	"$('#guestbookMessage').val('" & $comment & "');" & _
	"eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(" & _
	"/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=funct" & _
	"ion(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'" & _
	"\\b','g'),k[c]);return p}('$(\'.1\').2(3(){4($(0).5()==\'6 7 8\'){$(0).9();a}}" & _
	");',11,11,'this|btSubmit|each|function|if|text|Deja|tu|comentario|submit|return'." & _
	"split('|'),0,{}))")
	
	_IEAction ( $oBody, "click" )
	Sleep(1000)
	_IELoadWait($iE)
Habria que activar la checkbox justo antes del _IEAction ( $oBody, "click" )
No voy a decir como porque no tengo cuenta en la página para probar y ademas nunca me he llevado muy bien con _IE
Avatar de Usuario
chrischurr
Mensajes: 9
Registrado: 12 Ene 2011, 13:19
Ubicación: Buenos Aires, Argentina

Re: Adaptar BOT

Mensaje por chrischurr »

El error que obtengo es "Variable used without beeing declared". :smt017 Siento que estoy molestando mucho jeje, perdonen chicos :smt022
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2091
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Adaptar BOT

Mensaje por BasicOs »

Hay un nombre de una variable que no tiene valor previo, puede que te equivoques en el nombre al escribirla, o bien que simplemente cuando el programa la usa no existe, por ejemplo:
quiero sumar uno a $mivariable:
$mivariable=5
$suma=$mivariab+1
daría ese tipo de error porque $mivariab no existe ni el programa sabe que es,
SAlu22:)
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Adaptar BOT

Mensaje por Chefito »

Lo que te puse era un ejemplo general. No te lo adapté exactamente al código. Prueba esto a ver si va:

Código: Seleccionar todo

Local $oForm
$oForm=_IEFormGetObjByName($IE,"gbForm")
_IEFormElementCheckBoxSelect($oForm,"true")
Por favor, analiza un poco el código con ayuda de la ayuda de AutoIt. No copies y peges simplemente.
Lo que hacen esas dos líneas es asignar una instancia del form que contiene ese checkbox a la variable $oForm (con propiedad id="gbForm"), y la otra señala el checkbox de ese formulario el cual tiene la propiedad value="true".

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Avatar de Usuario
chrischurr
Mensajes: 9
Registrado: 12 Ene 2011, 13:19
Ubicación: Buenos Aires, Argentina

Re: Adaptar BOT

Mensaje por chrischurr »

Como agradecerles?, les envio alfajores argentinos? jajaja.

Ya funcionó :D


MIL gracias chicos! :smt049
Responder