Windrop
 
Un windrop es un programa, un proceso automático que realiza las funciones comunes de un @ operador de canal de chat.
Estos procesos automatizados son programas llamados Bots. Existen diferentes clases de Bots, los bots para instalar en computadores con sistema operativo windows (windrops) y los bots para computadoras con sistema operativo unix, linux (eggdrops). Los diseñados para sistema operativo windows son eggdrops con la característica de poder funcionar sobre windows.

El windrop fue alterado para poder ser ejecutado en un sistema operativo diferente para el que fue escrito originalmente) de un eggdrop bot para IRC. Como el eggdrop, el windrop es un bot de IRC (robot); un cliente de IRC que funciona automáticamente, controlando canales y usuarios sin ninguna interacción del dueño.

Aunque windrop es exactamente similar al eggdrop en cuanto a las opciones del programa, existen algunas diferencias debido a la diferente plataforma y concepto de los windrops.

Un eggdrop requiere una cuenta shell mientras que un windrop puede ser ejecutado en una computadora basada en windows, sea este Windows98, 98SE, Windows2000 o XP (y presumiblemente cualquier posible futura edición). Hay algunos reportes de que también trabaja para Windows95, como siempre esto no es garantizado totalmente.

El bot es desconectado cuando usted se desconecte, pero viéndolo del lado positivo, usted no tiene las limitaciones de una típica cuenta shell; espacio en disco, tiempo usado del procesador, número de bots que ejecuta, etc.

Demos una mirada más profunda de las ventajas y desventajas entre windrops y eggdrops. 

Ventajas

  •      Control total sobre lo que hace el bot.

  •    Los límites en disco, procesador y número de procesos no son como en las shells.

  •    Prueba scripts fácil y convenientemente, o escribe TCL scripts y fácilmente ve los resultados de cualquier cambio.

  •    Es gratis! No hay que pagar una renta por la shell. Ejecuta y configura en un ambiente Windows

  •    Dependiendo de su sistema operativo, su computadora y la estabilidad de su ancho de banda, el bot puede ser más estable que lo que un eggdrop en una shell pueda ser.

 

Desventajas

  •      Está sujeto a su computadora! Si su computadora se bloquea o se desconecta, su bot se bloqueará o se desconectará.

  •       En una conexión tipo dialup o en una computadora lenta, el bot puede ser más inestable que un bot en una shell.

  •       En la mayoría de los casos no hay vhosts

  •       Pocos TCL scripts pueden no ejecutarse correctamente bajo Windows, debido a la diferencia en los sistemas de archivos

  •      Si su bot se convierte en un blanco de aquellos que pretenden ser hackers, o ataques tipo DDoS, su computadora se convertirá en un blanco también. Si tiene una IP estática, esto puede (dependiendo de la atención que le des) ser *muy* inconveniente.

Nadie puede decirle que el eggdrop es mejor que un windrop, o viceversa. Los Eggdrops son generalmente más estables que los windrops, debido a que los proveedores de shell generalmente tienen sistemas más sólidos y una mejor conexión a Internet que los usuarios caseros.

Como siempre, muchos proveedores de shell sobrecargan sus servicios, o no son lo suficientemente estrictos con sus usuarios y terminan siendo blanco de ataques que son mantenidos contra éste u otro usuario o grupo de usuarios, y en esos casos, su windrop podría demostrar mucha mejor estabilidad que un eggdrop.  

Si a esto se le auna que en Windows 2000 o XP, el tiempo que su computadora puede estar encendida es más de 2 meses, y si tiene una conexión razonablemente estable, su windrop puede competir con la mayoría de los proveedores de shell.

La conclusión, tal como es, debe ser, que selecciones windrop o eggdrop dependiendo de sus necesidades, y su situación financiera. Si puedes pagar por un eggdrop, y necesitas un bot que esté en línea cuando usted no está, entonces el eggdrop podría ser la solución. Si usted sólo necesita un bot que pueda controlar su canal, tiene una conexión razonable y un sistema operativo estable, o simplemente no quieres pagar dinero para una shell, usa un windrop.

Los argumentos para selección ya sea windrop o eggdrop son fuertes, es el bot más popular, ha sido probado por mucho tiempo y las otras personas saben como usarlo y serán capaces de ayudarle e interactuar con él.

Debes notar que...

Por favor note que el windrop no está escrito para Windows, con una interfaz "AOL" (selecciona y dale clic), es un bot UNIX/Linux que se ejecuta en Windows. Esos sistemas operativos no son conocidos (todavía) por su amigabilidad con los usuarios, y la configuración del windrop no es la excepción en este punto.

Mientras que es relativamente fácil, configurar el windrop requiere un poco más de tiempo y esfuerzo dedicado en leer las instrucciones y configurar el bot antes de que pueda ser ejecutado correctamente y sin errores.

Los bots además de usarse como @operadores para ayudar en el manejo y control de canales, también son usados con programas adicionales llamados TLC´s que se incorporan, para Trivias, chistes, manejo e interambio de archivos, en fin, en la mayoría de veces para divertirnos. Aunque como ya sabrán existen personas inescrupulosas que los usan con fines no adecuados. 

Para aquellos que deseen un bot que aparente mantener una conversación en un canal existen bots llamados Darkbot que tienen la capacidad de crear una base de datos en la cual guardarán las respuestas a muchas preguntas que serán escritas en un canal aparentando una conversación. Créanme, puede llegar a ser muy cómico.

Lo primero que debemos decidir cuando queremos un windrop es cual será su función, y en dónde lo ubicaremos, de esta manera sabremos qué clase de bot queremos. La idea principal de tener un bot es lograr control permanente de un canal y para esto necesita estar conectado permanentemente al Internet, por lo cual si no dispones de un pc con una conexión permanente a Internet como se dijo antes, no tiene sentido tener un bot.

También recuerda que al tener un bot funcionando desde su pc con conexión permanente a Internet, expones la computador a múltiples clases de ataques que pueden en el peor de los casos incluso dejarlo inoperante y requerir reinstalación de los programas, o en el mejor de los casos alguien en alguna parte del mundo podrá ver y jugar con todos sus archivos que están en el computador. Es importante mantener siempre una copia de respaldo de sus archivos y también mantener su computador con las actualizaciones de seguridad y si es posible programas adicionales de protección.

Volviendo al punto, como la intensión principal de este bot será cuidar un canal como operador, y estará ubicado en un computador con sistema operativo windows he decidido que la versión que más conviene es el windrop 1.6.18. Este lo podemos obtener dando clic en el siguiente link.

http://www.canal-ayuda.org/a-bots/download/windrop1.6.18.exe o http://ufpr.dl.sourceforge.net/sourceforge/windrop/windrop1.6.18.exe o en  http://windrop.sourceforge.net

Extraer

Los windrops incluyendo la versión 1.6.5 y superiores, vienen con un archivo comprimido (zip) auto-expandible, simplemente dale doble clic al .exe y sigue las instrucciones para instalarlo.

Para versiones más antiguas, necesitarás descomprimir los archivos por usted mismo, el modo que preferimos es simplemente dándole clic derecho en el archivo que bajaste, luego escoge "Extraer al directorio ..." (no uses "Extraer a ..."). Eso descomprimirá el archivo a un directorio dentro del mismo directorio que estás ahora, con el mismo nombre del archivo comprimido (sin el .zip por supuesto). Luego simplemente mueve el directorio a una nueva ruta, desde donde quieras que el bot se ejecute.

No debes ejecutar el bot desde un directorio cuya ruta tenga espacios (por ejemplo, no en c:\archivos de programas\windrop o cualquier cosa similar). Sin embargo es nuestro consejo que utilizes siempre la última versión lanzada al público.

Instalar 

A la ventana que se abre le damos aceptar en guardar este programa en disco y seleccionamos la ubicación. Una vez tenemos este bot en nuestro disco duro, debemos configurarlo para que realice las tareas que deseamos.

Para comenzar debemos ejecutar el programa, es decir dar doble clic sobre el archivo llamado windrop1.6.18.exe que acabamos de bajar de Internet. Se abrirá una ventana que nos permitirá ubicar el bot en nuestro disco duro, opriman Extract

El archivo se instalará descomprimiendo todos los archivos que formarán parte de nuestro bot y al terminar oprimiremos aceptar en la ventana que nos muestra que el proceso de instalación ha terminado. Luego automáticamente se abrirá una página web en nuestro explorer con los pasos a seguir para configurarlo correctamente pero en inglés, aquí encontrarán la versión en español de esa página.

En este momento debemos tener nuestro bot listo para ser configurado en el disco duro c: y en el Folder c:\windrop. Si entramos a este folder veremos un archivo llamado eggdrop.conf.  Este archivo es el más importante de nuestro Bot porque con el configuraremos las opciones básicas de nuestro Bot.

Para comenzar el proceso de configuración, debemos editar el archivo eggdrop.conf, es decir abrirlo con un editor de texto. Generalmente WordPad, ya que con Notepad (Bloc de notas) tendremos algunas dificultades en la edición debido a que abre el archivo sin los espacios adecuados y entonces es necesario hacerlos manualmente. Por esta razón Wordpad es el indicado.

Al abrir el archivo eggdrop.conf podremos ver que el texto en su mayoría siempre al principio tiene el símbolo de numeral #. Esto quiere decir que está marcado para no ser tomado en cuenta por el  programa que lo lee. Es decir si le quitamos a una de esas líneas ese símbolo, el programa intentará usar esa línea como un comando. También encontraremos palabras entre comillas, es MUY importante que no las borremos, recuerden cambiar solo lo que se indica y no usar ninguno de los siguientes caracteres \ / : * ? " < > | en los cambios que haremos. 

Comenzaremos por la parte de BASIC SETTINGS 
Busquemos la línea:

set username "lamest"
Esta línea indica al programa el nombre de usuario de nuestro bot o el llamado Ident. Aquí debemos hacer nuestro primer cambio en el archivo de configuración en lugar de lamest colocaremos el nombre que nos guste, en mi caso usaré la palabra DianaKral, en honor a una cantante de blues.
Ejemplo:

set username "DianaKral"

Después busquemos la línea con el comando:
set admin "Lamer <email: lamer@lamest.lame.org>" 
Esta línea configura quién será el administrador del bot entonces en esa línea debemos colocar nuestro nick y nuestro email. En el lugar de lamer colocaré Goethe(mi nick) y en el de email mi email.
Ejemplo:

set admin "Goethe goethe@prtc.net"

Seguidamente encontraremos una línea de comando así: 
set network "I.didn't.edit.my.config.file.net"
Necesitamos decirle a nuestro bot en qué red queremos que funcione, el mio funcionará en Undernet por lo cual colocaré eu.undernet.org entre las comillas y en sustitución de I.didn't.edit.my.config.file.net
ejemplo: 

set network "eu.undernet.org"

Ahora veremos los comandos:
set timezone "EST"
set offset "5"

Estos configuran la hora y la ubicación geográfica de acuerdo a nuestra ubicación respecto a los meridianos como yo estoy ubicado en centro américa en este momento (Panamá) usare EST y -5 es decir quedará set timezone "EST" y set offset "-5" si desean Europa Central usen CET, cada uno puede usar un número entre 23 y -23 de acuerdo a su ubicación.
Ejemplo:

set timezone "EST"
set offset "-5"


Seguidamente encontraremos 3 comandos con el símbolo numeral en frente #
set env(TZ) "$timezone $offset"
set my-ip "127.0.0.1"
set my-hostname "localhost"
addlang "english"

Esto se debe a que generalmente no es necesario hacer cambios aquí. Estos comandos nos ofrecen la oportunidad de configurar la hora y la zona si queremos usar el tiempo para alguna cosa adicional a nuestros scripts (programas). Configurar el número IP o número de identificación de nuestra computadora en una red, esto para que cuando nuestro computador tiene más de un numero IP y deseamos especificar cual usar.
Configurar el nombre de nuestro pc (computador) si el bot tiene problemas en encontrarlo. Y por último adicionar el idioma en el que queremos que trabaje nuestro bot.

Nota: No cambiaremos ninguno. 

Ahora en LOG FILES 

Los Bots son capaces de guardar logs, es decir guardar en archivos lo que ocurra en un canal o lo relacionado con ellos. Por ejemplo todo lo que se diga en un canal o todos los comandos que un usuario del bot use o los archivos que transfiera. Estos logs se guardan en archivos por 24 horas, luego estos archivos cambian de nombre al adicionarsele la palabra yesterday y a las 48 horas son reemplazados por el siguiente log seguidamente.

Busquemos la línea de comando 

set max-logs 5
Esta definirá el número máximo de archivos logs, se queda así.

set max-logsize 0
Esta definirá el tamaño máximo de un archivo log si se define como cero(0) estará deshabilitada la opción de tamaño máximo.
Por lo tanto se queda así.


set quick-logs 0
Este aumenta el uso de nuestro procesador por lo cual se queda deshabilitado.

set raw-log 0
Este permite configurar el bot para hacer log de los mensajes que envie el servidor.
Se queda deshabilitado.


logfile mco * "logs/eggdrop.log"
Este crea un archivo llamado eggdrop.log en el cual guarda containing msgs/ctcps, comandos, errores, e información de cualquier canal.
Se queda igual.


logfile jpk #lamest "logs/lamest.log"
Esta opción crea un archivo log del canal que especifiquemos en lugar de la palabra lamest. Es decir como nuestro bot estará en el canal #scouts la palabra scouts es la que usaré.
Nota: Es aquí donde pones el nombre del canal donde quieres que tu bot entre.
Ejemplo:

logfile jpk #scouts "logs/scouts.log"

set log-time 1
Este se usa para colocar la hora de las entradas en los archivos log.
Se queda igual.


set keep-all-logs 0
Este se usa para que los logs nunca se renueven, es decir sigan por siempre lo cual no es recomendable, ya que ocuparán todo el disco duro. Por lo cual en este caso se quedará deshabilitado.

set logfile-suffix ".%d%b%Y"
Este se usa cuando el comando de mantener los logs por siempre está habilidato y nos permite darle un nombre diferente a cada log. Como no queremos ocupar nuestro disco duro en cosas como ésta, se queda igual.

set switch-logfiles-at 300
Esta línea de comando nos permite decirle al bot a qué hora debe reiniciar el log. Debemos usar horario militar, en este caso las 300 horas está bien, se queda así.

set quiet-save 0
Permite evitar que los mensajes de "Writing user file..." y "Writing channel file..."  sean grabados en el log. A mi me gusta verlos porque me ayuda a saber cada cuanto se hace este trabajo por lo cual lo dejaré así. Quienes no quieran pueden cambiarlo a 1

Ahora vamos a la parte de CONSOLE

la línea de comando

set console "mkcobxs" 
Se queda igual. Esta será la configuración permanente de nuestra consola a menos que como usuarios Master queramos cambiarla.

En la sección de FILES AND DIRECTORIES 
Aquí configuraremos la ubicación de los archivos de nuestro bot y el nombre de los logs.


set userfile "LamestBot.user" este debe cambiarse la palabra LamestBot por el nombre del bot
#set pidfile "pid.LamestBot" está deshabilitado por tener el simbolo # pero puedes colocar el nombre de tu bot
set sort-users 0
set help-path "help/"
set text-path "text/"
set temp-path "tmp/"
set motd "text/motd"
set telnet-banner "text/banner"
set userfile-perm 0600

Todos los demás se quedan igual y especifican la ubicación de los archivos de ayuda, de los temporales, y de los archivos de texto, etc.

La sección BOTNET/DCC/TELNET es una sección que solo debemos tener en cuenta si queremos mantener múltiples bots conectados, recomiendo solo cambiar las siguientes líneas de comandos:


#listen 3333 all   
quitemos el signo de numeral

set dcc-flood-thr 3   
subirlo a 30 para que una persona pueda hablar dentro del bot hasta 30 líneas sin ser considerado flooder.

En la sección MORE ADVANCED SETTINGS podremos configurar el nombre de quién hizo este bot y quién tiene acceso total a él,
y como es un manual sencillo supondremos que ustedes no tienen firewall (protección en equipos o programas para impedir el acceso desde Internet a sus computadores)

Solo en estas líneas de comando haremos cambios:
#set owner "MrLame, MrsLame" 
Aquí colocaremos nuestro Nick y quitaremos el signo de numeral. El mio es Goethe, es decir mi bot tendrá la siguiente línea:
Ejemplo:

set owner "Goethe"

die "Please make sure you edit your config file completely."
Nota: Es necesario borrar esta línea ya que está colocada para comprobar que hemos leido y configurado correctamente nuestro bot.

La sección de MODULES se queda intacta.
La sección DNS MODULE se queda intacta. 

En la sección de CHANNELS MODULE solo cambiaremos las siguientes líneas de comandos:


set chanfile "LamestBot.chan" 
cambiamos lamesbot por el nombre de nuestro bot.

Y al final de esta sección encontraremos la línea de comando 
#channel set #botcentral +bitch +enforcebans -greet +revenge

Debajo de esta línea debemos adicionar lo siguiente: 

channel add #canal {
chanmode "+nt"
}


Ejemplo:
channel add #ScoutS {
chanmode "+nt"
}


En la sección de SERVER MODULE cambiaremos las siguientes líneas de comandos.
set net-type 0    
colocaremos 2 en lugar de 0 ya que es Undernet la red a la cual queremos que entre el bot. 

set nick "Lamestbot" 
Cambiaremos Lamesbot por el nick que queremos use el bot en mi caso DianaKral Ejemplo:
Ejemplo:

set nick "DianaKral"

set altnick "Llamab?t"   
Puede ocurrir que el nick esté siendo usado por lo cual pondremos DianaKra? 
Ejemplo: 

set altnick "DianaKra?" 
El signo de interrogación permite que el bot asigne un número aleatorio si el nick está ocupado.

set realname "/msg LamestBot hello" 
Aquí cambiaremos /msg LamestBot hello por Bot de Ayuda lo cual permitirá ver la frase Bot de ayuda cuando usemos el comando /whois para ver los datos de nuestro bot.

Más abajo veremos 
set servers {
you.need.to.change.this:6667
another.example.com:7000:password
}


Debe cambiarse por la red que utilizarás:
Ejemplo:

set servers {
eu.undernet.org:6667
us.undernet.org:6667
}


De aquí hacia abajo no debemos cambiar nada hasta la sección NOTES MODULE en la cual cambiaremos lo siguiente

set notefile "LamestBot.notes" 
Debemos cambiar lamesbot por el nombre de nuestro bot.

En esta sección encontraremos nuevamente la línea que debemos borrar.
die "You didn't edit your config file completely like you were told, did you?"
La línea anterior debe borrarse totalmente.

En la sección CONSOLE MODULE no cambiaremos nada al igual que en las demás secciones hasta llegar a BLOWFISH MODULE. En esta sección quitaremos el simbolo de # a:  

#loadmodule blowfish
Ejemplo: 
loadmodule blowfish

Después no cambiaremos nada hasta llegar a la sección SCRIPTS. En esta sección se ordena cargar en el bot los pequeños programas adicionales con tareas específicas para que el bot cumpla con sus deberes.
Al colocarse en esta sección del archivo de configuración del bot estamos ordenando al programa que hace que nuestro bot funcione correctamente, que use los subprogramas que realizan las tareas adicionales que queramos.

Los siguientes son los Tcl´s o subprogramas que deben estar sin símbolo de numeral #. 

source scripts/alltools.tcl
source scripts/action.fix.tcl
source scripts/compat.tcl
source scripts/userinfo.tcl
source scripts/winident1.2.tcl


Como verán se especifica escribiendo que estan ubicados en el folder scripts. Es decir si yo deseara que nuestro bot se ria :) siempre que alguien se ria :) en el canal, buscaría en internet un TCL (subprograma) con este propósito en http://www.egghelp.org/files/tcl/smiling.zip y al bajarlo a nuestro computador y descomprimirlo lo ubicaría en el folder c:\windrop\scripts y después vendría al archivo de configuración eggdrop.conf y al final en la sección de SCRIPTS colocaría source scripts/Nombre_del_TCL.tcl en el caso del TCL de risa colocaría source scripts/smiling.tcl

Así al ejecutar mi bot y leer en la configuración, éste comenzaría a usar el tcl que hace que el bot responda con risas en el canal cuando alguien escribe una sonrisa :)

Ok hasta este momento tenemos nuestro bot con la configuración básica del archivo eggdrop.conf.
Pero aun no hemos terminado, necesitamos también hacer los siguientes pasos para poder terminar y poder ver nuestro bot en el canal.

Ahora debes dar doble clic sobre el archivo RunOnce.bat este archivo ejecutará el programa (el bot) windrop en modalidad de creación de usuario y al entrar a Undernet o la red configurada, y cuando lo veas entrar al canal debes enviarle un:

 /msg Nick_del_bot hello

Esto hará que el bot le identifique como su creador y le permitirá colocarle una clave o password. 
Le enviará un mensaje parecido a este:


-Dianakral(~DianaKral@222.222.222.222)- Hi Goethe! I'm Dianakral, an eggdrop bot.
-Dianakral(~DianaKral@222.222.222.222)- I'll recognize you by hostmask '*!Goethe@*.undernet.org' from now on.
-Dianakral(~DianaKral@222.222.222.222)- YOU ARE THE OWNER ON THIS BOT NOW
-Dianakral(~DianaKral@222.222.222.222)- As master you really need to set a password: with /MSG Dianakral pass <your-chosen-password>.
-Dianakral(~DianaKral@222.222.222.222)- All major commands are used from DCC chat. From now on, you don't need to use the -m option when starting the bot. Enjoy !!!


entonces tendrás que enviarle una password o clave así:

/MSG Dianakral pass clave_que_quieras

Y el bot contestará:

-Dianakral(~DianaKral@222.222.222.222)- Password set to: 'clave_que_quieras'.

Hasta aquí tenemos nuestro bot funcionando dentro del canal. En el siguiente tutorial le agregaremos los TCL´s para que se identifique o pueda logearse con X el bot gestión de algunas redes y además si se desea que el bot tenga su propio username y luego se coloque en modo +x.

También le colocaremos TCL para recibir comandos desde el canal y otros muy divertidos.

Por ahora el sitio con la respuesta a la mayoría de los errores que se pueden presentar se encuentra en inglés en esta dirección

http://windrop.sourceforge.net/faq.html
Pronto tendremos una versión en Español para los de habla hispana.

Si necesitas ayuda con esos errores o con la configuración en general, siéntese libre de entrar en #Ayuda en Undernet o #windrop, o si cualquier ayudante está dispuesto le agradeceremos su cooperación. Haremos nuestro mejor esfuerzo para ayudarle a iniciarlo y que su bot quede ejecutándose :) Buena suerte! Recuerda que son de características iguales a las de un eggdrop sólo que son menos estables debido a que como su nombre lo dice corren en un sistema operativo que es Windows, a diferencia del eggdrop que corre en UNIX.