#! /ruta/al/eggdrop # ^- aquí va la ruta al eggdrop, por ejemplo: #! /home/lauro/eggdrop # # # $Id: eggdrop.conf.dist,v 1.43 2000/06/04 08:26:41 guppy Exp $ # # Este es un EJEMPLO de archivo de configuración para el eggdrop. # ######################################################################## ## INVARIABLEMENTE DEBERAS LEER TODO ESTE ARCHIVO Y EDITARLO PARA ## ## QUE EL BOT PUEDA ARRANCAR Y COMPORTARSE CORRECTAMENTE. ## ######################################################################## # # NOTA: Escoge con cuidado a los usuarios +n (dueños) del bot. Ellos # tendrán COMPLETO acceso al bot y a tu cuenta shell. # # El archivo de configuración verifica la versión de eggdrop que # estás intentando ejecutar y no arrancará si no coinciden. Esto # es, con cada versión nueva de eggdrop que aparece, se incluyen # cambios y nuevos conceptos de configuración, por lo que se # deberá rehacer este archivo cada vez que cambies de versión de # eggdrop, basándote en el archivo modelo incluido en dicha versión. # # IMPORTANTE: Recuerda hacer un "make install" y cambiarte al # directorio que crea (~/eggdrop por omisión) antes de continuar. # De otra forma el eggdrop no arrancará. # # # Comentar una línea significa agregarle el signo "#" al principio. # Descomentar una línea significa quitarle el signo "#" que tiene al principio. # Cuanto se presente una opción 0/1, "0" significa desactivado y "1" activado. # # [traducido por aardvark] # ##### DATOS GENERALES ##### # el nombre de usuario que usa el bot, este solo aparecerá si identd # no está funcionando en la máquina desde donde corre el bot. set username "lamest" # correo electrónico de la persona que corre el eggdrop set admin "lamer@lamest.lame.org" # red de IRC en la cual estará el bot. esta información será compartida # con otros usuarios en la botnet (solo por curiosidad humana) set network "no.puse.el.nombre.de.la.red" # zona horaria en la cual está el bot. esta cadena especifica # el nombre de la zona horaria. deben ser 3 o más caracteres # alfabéticos. por ejemplo: la zona central europea (UTC+1) # sería (CET). el horario del centro de E.U. y México general # es "CST" set timezone "CST" # "offset" es la cantidad de tiempo a ser agregada o restada a la # zona horaria conocida como GMT (del Meridiano de Greenwich) # # si el bot está corriendo al oeste del Meridiano de Greenwich # entonces el "offset" tendrá un valor positivo; sin embargo, si # está al este, entonces tendrá un valor negativo, por ejemplo, # si la zona horaria es UTC-6, entonces el "offset" será +6 set offset "+6" # si quieres que la zona horaria surta efecto para tu eggdrop, # por ejemplo, para los archivos de bitácora, entonces descomenta # la siguiente línea #set env(TZ) "$timezone $offset" # si vas a usar un host virtual o vhost (cuando la máquina tiene más de # 1 IP), aquí puedes espeficiar el IP que el eggdrop va a usar. puedes # especificar ya sea el nombre del host virtual o su dirección IP. # si el bot tiene problemas a la hora de detectar su host virtual a la # hora de arrrancarlo, especificando aquí dicho host virtual le ayudará. # descomenta las líneas que vayas a usar. #set my-hostname "virtual.host.com" #set my-ip "99.99.0.0" # si quieres que el eggdrop despliegue sus mensajes en otro idioma que no # sea el inglés, cambia la línea de abajo para espeficiar el lenguaje # deseado (deberás tener el módulo de lenguaje especificado para que el # bot lo puede leer #addlang "english" ##### ARCHIVOS DE BITACORA ##### # aquí puedes especificar los archivos de bitácora del bot # puedes tener tantos archivos como quieras # a la media noche de todos los días, los archivos de bitácora son # renombrados y uno nuevo es generado. por omisión, el archivo existente # será llamado "(archivo).yesterday" y cualquier archivo de bitácora # anterior será eliminado. # los eventos son grabados por ciertas categorías -- de esta forma puedes # especificar exactamente qué tipo de eventos quieres que sean grabados # y en qué archivos, los eventos son: # m mensajes privados y ctcp's al bot # k patadas, bannes y cambios de modo en el canal # j entradas y salidas en el canal (splits también) # p plática general en el canal # s conexiones, desconexiones y mensajes del servidor # b información acerca de la conexión con otros bots # c comandos del bot usados (ya sea por /msg o dcc) # x transferencias de archivos y comandos del área de archivos # r (si se definió use-console-r) TODO lo que el servidor le envíe al bot # o otros: información extra, errors -- DATOS IMPORTANTES # w wallops: mensages entre ircops (debes poner +w en init-server) # hay otros, pero no es ético que los grabes. # número máximo de archivos de bitácora permitidos - este valor puede # ser incrementado (no lo disminuyas) set max-logs 5 # tamaño máximo de los archivos de bitácora, define 0 para deshabilitarlo # esto solo funciona si defines keep-all-logs 0 # este valor está en kilobytes, así, 550 significará que haga el cambio # de archivos de bitácora cuando alcance un tamaño de 550 kilobytes set max-logsize 0 # grabar los archivos de bitácora y verificar su tamaño cada minuto # (si max-logsize está habilitado) en lugar de cada 5 minutos como # antes. esto puede ser útil si tienes el problema de que los archivos de # bitácora llenen tu quota o si grabas +p y publicas los datos en el web # y quieres la información más actualizada # si no quieres incrementar el consumo de recursos mantenlo en 0. set quick-logs 0 # cada archivo de bitácora pertenece a cierto canal. eventos del tipo 'k', # 'j' y 'p' son grabados en el canal en el cual ocurrieron. puedes hacer # que se graben todos los eventos en un solo archivo especificándolo como "*" # in 'eggdrop.log' put private msgs/ctcps, commands, misc info, and # errores de cualquier canal: logfile mco * "eggdrop.log" # en el archivo 'opers.log' se graban entradas, salidas, patadas, bannes y # cambios de modo para el canal #opers logfile jk #opers "opers.log" # [0/1] ¿grabar la hora de cada evento en el archivo de bitácora? set log-time 1 # [0/1] mantener los archivos de bitácora por más de 48 horas -- en lugar # de renombarlos a "(archivo).yesterday", los archivos se van renombrando # con la fecha y son conservados (esto puede llenar rápidamente tu espacio # en disco, así que ten cuidado con esto) set keep-all-logs 0 # una vez al día las bitácoras son cambiadas y comienza una nueva. # esto especifica cuándo serán cambiadas las bitácoras (en # formato de hora miliar) # un 0 al principio de la hora hará que la cantidad sea considerada # un valor octal, algo que seguramente no quieres set switch-logfiles-at 300 # [0/1] ¿habilitar grabado silencioso? las frases "Writing user file..." # y "Writing channel file ..." no serán mostradas ni grabadas si esta # opción es habilitada set quiet-save 0 # esta es la consola por omisión -- lo que los masters verán automática- # mente cuando establezcan un dcc con el bot (los masters pueden cambiar # su propia consola una vez que se conectan) -- se utiliza el mismo tipo # de eventos que en los archivos de bitácora # (la consola estará puesta automáticamente al canal "primario" o "base") # el que se defina en este archivo -- los masters podrán cambiar su # consola con el comando '.console' set console "mkcobxs" ##### ARCHIVOS Y DIRECTORIOS ##### # nombre del "userfile": donde serán grabados los registros de usuarios set userfile "LamestBot.user" # [0/1] ¿quieres que sean ordenados alfabéticamente los registros? set sort-users 0 # lugar donde están los archivos de ayuda set help-path "help/" # un buen lugar para poner archivos temporales: /tmp set temp-path "/tmp" # el Mensaje del Día o MOTD que será desplegado cuando alguien establezca # un dcc con el bot # teclea '.help set motd' en el dcc para ver opciones del MOTD set motd "motd" # archivo con el letrero que será desplegado en conexiones telnet set telnet-banner "telnet-banner" ##### BOTNET ##### # no te metas con esta parte sin antes leer el archivo 'botnet.doc' # necesitas saber lo que haces. # si quieres que el bot tenga un nick diferente al usado en IRC, # defínelo aquí #set botnet-nick "OtroNick" # ¿en qué puerto telnet estará a la escucha el bot? # NOTA: si estás corriendo más de 1 bot en la misma máquina, necesitarás # espaciar los puertos telnet POR LO MENOS en 5, 10 es mejor. # si quieres tener un puerto para bots y otro para usuarios normales, # necesitarás definir algo así: #listen 3333 bots #listen 4444 users # se recomienda usar un solo puerto telnet y CAMBIAR el que está aquí por # otro. si el puerto telnet definido aquí ya está en uso por cualquier otro # programa, el bot no arrancará, por lo que habrá que escoger un puerto que # no esté en uso. el puerto debe estar entre 1024 y 65535. listen 3333 all # [0/1] esta opción rechazará conexiones telnet cuyos hosts no coincidan con # ningún host conocido. esto incremente la protección contra ircops y # usuarios malintencionados, pero hace imposible que otros bots que no # sean conocidos en IRC por tu bot puedan conectarse a el. tampoco permitirá # auto-agregar usuarios por telnet. set protect-telnet 0 # [0/1] esta opción hará que el bot ignore peticiones de dcc que parezcan tener # información falsa que pueda ser usada para que el bot se conecte a algún lugar # que lo haga meterse en problemas o que el usuario tenga mal configurado su # cliente de IRC (como suele hacer el mIRC) en cuyo caso hará que el bot no se # conecte correctamente. se recomienda habilitar esta opción. set dcc-sanitycheck 0 # un tiempo de espera para el ident ayuda mucho (en segundos) set ident-timeout 5 # [0/1] usuarios +o (operadores globales o de canal) necesitarán +p para # poder entrar al bot. se recomienda habilitar esta opción. set require-p 1 # [0/1] ¿permitir que la gente entre por telnet al bot y teclee "NEW" como # nombre de usuario y se registre? # (si lo habilitas, debes poner set protect-telnet 0) # se recomienda deshabilitar esta opción. set open-telnets 0 # [0/1] mostar 'Nickname.' en lugar de identificarse el bot cuando alguien # se conecte por telnet. poner 1 para mostrar 'Nickname.' únicamente. # (útil por si alguien hace un portscan a la máquina, así no sabrá a qué # bot se está conectando). se recomienda habilitar esta opción. set stealth-telnets 1 # [0/1] mostrar un letrero cuando alguien se conecte al bot set use-telnet-banner 0 # ¿cuánto tiempo (en segundos) deberá esperar el bot para que alguien se # conecte antes de cerrar en enlace? (dcc chat, telnet, relay, etc.) set connect-timeout 15 # número de mensajes/líneas de un usuario en la partyline (dcc o telnet) # antes de que sea considera como flood (y por lo tanto, desconectado) set dcc-flood-thr 3 # ¿cuántos intentos de conexión por telnet en cuántos segundos del mismo # host se considera flood? se recomienda no cambiar este valor. set telnet-flood 5:60 # [0/1] ¿aplica la protección anti-flood de telnet para todos? # usa 0 si quieres que el bot no se proteja de los usuarios +f (amigos) set paranoid-telnet-flood 1 # ¿cuánto tiempo debe esperar (en segundos) antes de rendirse en la # búsqueda (resolución) de un host o IP? -- 15 está bien. set resolve-timeout 15 ##### MAS DATOS ##### # ¿estás detrás de un firewall? descomenta esto y especifica el host # para socks #set firewall "proxy:178" # o, para un firewall "telnet passthru" de Sun, especifícalo de esta manera #set firewall "!sun-barr.ebay:3666" # si tienes un firewall NAT (el servidor tiene un IP en uno de los siguientes # rangos: 192.168.0.0-192.168.255.255, 172.16.0.0-172.31.255.255, # 10.0.0.0-10.255.255.255 y el firewall transparentemente cambia tu dirección # a un IP único para el servidor) o si hay IP masquerade entre el bot y el # resto del mundo y el dcc chat, ctcp chat o compartición de usuarios de no # funcionan. especifica el IP externo aquí. # no pongas nada en my-ip o my-hostname #set nat-ip "127.0.0.1" # si quieres que todas las transferencias por dcc usen un puerto en # particular (esto limita la cantidad de transferencias simultáneas) # ya sea porque estás detrás de un firewall o por razones de seguridad, # especifícalo aquí #set reserved-port 9076 # ¿cuántos minutos durarán los ignores temporales? set ignore-time 15 # esta parte afecta en qué parte de la hora las llamadas hechas al # bot tendrán efecto, esto incluye el aviso de notas. # puedes cambiar esa opción aquí (por ejemplo, "15" significa notificar # cada hora después de 15 minutos de pasada la hora del reloj) # esto también incluye cuando el bot graba el archivo de usuarios # define algún número entre 01 y 59 set hourly-updates 00 # si se compila con dueño, los siguientes usuarios SIEMPRE serán +n # debes de cambiar estos valores por omisión set owner "dominicus, alberta" # ¿a quién se le deben notificar los nuevos usuarios? set notify-newusers "$owner" # ¿qué nivel o rango tendrán los usuarios nuevos? # usa '.help whois' en la partyline (dcc chat o telnet) para ver # todas las opciones set default-flags "" # ¿qué campos definidos-por-el-usuario deben ser mostrados en un '.whois'? # esto solo será mostrado si el usuario tiene alguno de los campos xtra # tal vez prefieras comentar esta línea y user el script userinfo1.0.tcl # que provee comandos para cambiar todos estos set whois-fields "url birthday" # [0/1/2] ¿permitir que gente de otros bots (en la botnet) pueda sacar # gente de la partyline de tu bot? # valores: # 0 - no se permiten expulsiones remotas # 1 - se permiten expulsiones solo desde bots que comparten datos # 2 - permitir todas las expulsiones set remote-boots 0 # [0/1] si no quieres que gente desde otros bots deconecte tu bot # ponle 0 a esta opción set share-unlinks 0 # [0/1] ¿terminar el proceso al recibir la señal SIGHUP? # (si pones 0, el bot releerá su config en lugar de terminar) set die-on-sighup 0 # [0/1] ¿terminar el proceso al recibir la señal SIGTERM? # (si pones 0, el bot grabará el archivo de usuarios en lugar de terminar) set die-on-sigterm 0 # si quieres habilitar los comandos 'tcl' y 'set' (los cuales les permiten a # los dueños ejecutar comandos tcl directamente) comenta ambas líneas # esto es un gran riesgo de seguridad si le vas a dar a otros el nivel +n unbind dcc n tcl *dcc:tcl unbind dcc n set *dcc:set # [0/1/2] si quieres que únicamente los dueños permanentes puedan usar los # comandos .tcl y .set (en caso de estar habilitados) utiliza la opción 1 # moreover only let permanent owners use .dump? then set it to 2 # (the people must set the $owner variable) set must-be-owner 0 # comenta la siguiente línea para añadir el comando 'simul' (los dueños pueden # manipular a la demás gente en la partyline). # De nuevo, escoge cuidadosamente a los dueños. unbind dcc n simul *dcc:simul # número máximo de conexiones dcc que permite el bot - puedes incrementar # este valor, pero nunca lo disminuyas. 50 es un valor suficiente para todos set max-dcc 50 # esta opción sirve para que la gente no le pueda enviar puertos falsos # al bot cuando traten de iniciar un dcc con él. los clientes de irc nunca # deben usar un puerto abajo de 1024 y 65535 es el valor más alto posible. # esta opción también funciona para las conexiones telnet set dcc-portrange 1024:65535 # [0/1] añade el comando 'dccsimul' (requerido por ciertos scripts como el # action.fix.tcl) set enable-simul 1 # [0/1] ¿permitir a usuarios +d y +k usar comandos múltiples como -|- ? set allow-dk-cmds 1 # DEBES comentar esta línea para que el archivo de configuración funcione. # ha sido añadida para prevenir que arranques el bot sin haberlo configurado # totalmente. Un bot sin configurar o mal configurado puede entrar a una red # de IRC diferente a la que quieres, puede entrar a canales equivocados y en # general, hacer cosas que no quieres. VERIFICA TODA LA CONFIGURACION DEL BOT # DE PRINCIO A FIN, NO ES JUEGO. die "No voy a funcionar si no revisas minuciosamente mi archivo de config." ########## MODULOS ########## # abajo se especifican varias opciones para los módulos disponibles para # el eggdrop, LEELAS CON CUIDADO Y EDITALAS de acuerdo a tus necesidades. # incluso si has usado un eggdrop antes, muchas cosas han cambiado, por # lo que deberás prestar especial atención a esta parte # este es el directorio donde residen los módulos, si los módulos están # en el mismo directorio donde está el bot, cambia esta opción a "" # si usas 'make install' (como todo mundo debería hacerlo), este es el # valor por omisión, por lo que no tendrás que cambiarlo. usa la cabeza. set mod-path "modules/" ##### MODULO DE CANALES ##### # este módulo provee el soporte para canales, sin él, el bot no entrará # a ningún canal, simplemente se quedará conectado a IRC sin hacer nada loadmodule channels # archivo donde serán guardados los canales dinámicos set chanfile "eggdrop.chan" # ¿cuántos minutos durarán los bannes temporales? # si defines 0, el bot nunca quitará los bannes, lo cual es una mala idea set ban-time 120 # temporary exemptions (+e modes) will last how many minutes? if set to 0, # bot never removes them. This is an IRCNET feature. The bot will check the # exempts every X minutes, but will not remove the exempt if a ban is set on # the channel that matches that exempt. Once the ban is removed then the # exempt will be removed the next time the bot checks. set exempt-time 60 # temporary invitations (+I modes) will last how many minutes? if set to # 0, bot never removes them. This is an IRCNET feature. The bot will check the # invites every X minutes, but will not remove them if the channel is +i. Once # the channel is -i then the bot will remove then invite mode next time it # checks this counter set invite-time 60 # [0/1] expire bans/exempts/invites set by other opped bots on the channel? # set force-expire 0 # [0/1] ¿compartir saludos de usuario con otros bots en el canal? # (solo cuando se comparte el archivo de usuarios) set share-greet 0 # [0/1] ¿permitir a los usuarios grabar una línea info? set use-info 1 # estas opciones se usarán por omisión en los canales que agregues con .+chan # se explica el uso de cada uno set global-flood-chan 10:60 # flood de canal (global) set global-flood-deop 3:10 # flood de deop (global) set global-flood-kick 3:10 # flood de patadas (global) set global-flood-join 5:60 # flood de entrada (global) set global-flood-ctcp 3:60 # flood de ctcp (global) # ¿a los cuántos minutos de que un usuario no ha mandado texto al canal (idle) # será pateado? set global-idle-kick 0 # opciones por omisión ara canales nuevos set global-chanset { -clearbans -enforcebans +dynamicbans +userbans -autoop -bitch +greet +protectops +statuslog +stopnethack -revenge -secret -autovoice +cycle +dontkickops -wasoptest -inactive -protectfriends +shared -seen +userexempts +dynamicexempts +userinvites +dynamicinvites } set global-chanmode "nt" # el bot forzará estos modos en el canal channel add #no.edité.mi.archivo.de.configuración.por.eso.entré.a.este.canal { chanmode "+nt-likm" idle-kick 0 need-op { putserv "PRIVMSG #opers! :necesito op" } need-invite { putserv "PRIVMSG #opers! :necesito entrar" } need-key { putserv "PRIVMSG #opers! :necesito la llave" } need-unban { putserv "PRIVMSG #opers! :quítenme el ban" } need-limit { putserv "PRIVMSG #opers! :déjenme entrar" } flood-chan 10:60 flood-deop 3:10 flood-kick 3:10 flood-join 5:60 flood-ctcp 3:60 } # modos del canal, pueden ser cambiados desde la partyline (dcc o telnet) # usando '.chanmode #canal +modo' o '.chanmode #canal -modo" # los modos definidos serán forzados: '+' siempre puestos y '-' nunca puestos # idle-kick # patear a usuarios del canal que permanezcan sin enviar texto # (para desabilitarlo: no lo definas o ponle 0) # need-op # script to run (if any) when the bot needs to be op'd on this channel # need-invite # script to run (if any) when the bot gets locked out of the channel # because the channel is +i # need-key # script to run (if any) when the bot gets locked out of the channel # because it doesn't have the channel key # need-unban # script to run (if any) when the bot gets banned from this channel # need-limit # script to run (if any) when the bot gets locked out of the channel # because the channel limit is full # flood-chan (number:seconds) # how many channel messages in hom many seconds is a flood # not specifying or using number = 0 will not check chan floods! # flood-ctcp (number:seconds) # how many channel messages in hom many seconds is a flood # not specifying or using number = 0 will not check ctcp floods! # flood-deop (number:seconds) # how many deops in how many seconds is a mass de-op # not specifying or using number = 0 will not check de-op floods! # flood-kick (number:seconds) # how many kicks in how many seconds is a mass kick? # not specifying or using number = 0 will not check mass kicks! # flood-join (number:seconds) # how many joins/nick changes in how many seconds is a join flood? # not specifying or using number = 0 will not check join floods! # note that "need-op", "need-invite", etc, are limited to 120 characters, # so if you want to so something more complicated, just write a proc, # and make them call your proc. # there are also a lot of options that can be turned on or off for each # channel. to turn an option on, put a + in front of it. to turn it off, # put a - in front of it. ie, to have auto-op, put: # +autoop # to turn it off, put: # -autoop # clearbans # limpia todos los bannes al entrar al canal (excepto los que estén en su # lista interna de bannes) # enforcebans # cuando un ban es puesto, patear a las personas de ese canal cuyos hosts # coincidan con el ban puesto # dynamicbans # activar bannes en el canal solo cuando sean necesarios # esto evita que la lista de bannes del canal crezca demasiado, ya que # el número de bannes por canal es limitado por el servidor # el bot activará un ban cuando sea necesario (por ejemplo, cuando alguien # entre al canal y se encuentre en su lista de bannes) # userbans # permite que los bannes sean puestos directamente en el canal # si lo apagas, el bot requerirá que los bannes sean puestos a través de la # consola (partyline). se recomienda habilitar esta opción. # dynamicexempts # only activate exempts on the channel when necessary? (this keeps the # channel's exempt list from getting excessively long. the bot still # remembers every exempt, but it only activates a exempt on the channel # when it sees a ban set matching the exempt. The exempt remains active # on the channel for as long as the ban is still active. # userexempts # allow exempts to be made by users directly? (if turned off, the bot will # require all exempts to be made through the bot's console) # dynamicinvites # only activate invites on the channel when necessary? (this keeps the # channel's invite list from getting excessively long. the bot still # remembers every invite, but the invites are only activated when the # channel is set to invite only and a user joins aftre requesting an # invite. Once set the invite remains until the channel goes to -i # userinvites # allow invites to be made by users directly? (if turned off, the bot will # require all invites to be made through the bot's console) # autoop # darle op automáticamente a los usuarios +o en cuanto entren el canal # ESTO ES MUY MALA IDEA, NUNCA LA ACTIVES # bitch # solo le permite a usuarios +o tener op # greet # saludar a usuarios que tengan su línea info cuando entren el canal # protectops # darle op a un usuario +o si alguien se lo quita # protectfriends # darle op a un usuario +f si alguien se lo quita # statuslog # mostrar info del canal cada 5 minutos en la consolo # (esta opción puede ser muy irritante si la activas) # stopnethack # quitarle el op a alguien que lo obtenga de algún servidor # actualmente esta opción perjudica en redes como undernet y dalnet si # es activada, porque es imposible obtener op en los splits # se recomienda no activarla en undernet y dalnet. # revenge # recordar quién quitó el op, pateó o baneó al bot o a usuarios +o para # luego vengarse cuando recupere el op # se recomienda no activar esta opción. es paranoica. # autovoice # dale voz a las personas +v cuando entren al canal # secret # previene que un canal sea listado en la botnet # shared # comparte usuarios del canal con otro bot # cycle # recupera op de un canal cuando se queda solo # dontkickops # hace que el bot no patee a usuarios +o, permitiéndoles hacer flood # de kick, ban, join o ctcp # wasoptest # verifica a usuarios que regresan de un split para ver si eran ops # antes del split. se recomienda no activar esta opción. # inactive # hace que el bot deje de intentar entrar a un canal (o lo hace salir si # ya está adentro). esta opción es útil para cuando quieras que el bot salga # temporalmente de un canal sin perder la configuración y lista de bannes # para ese canal # seen # responde a solicitudes 'seen' en el canal # el módulo seen deberá ser cargado # un ejemplo para definir el canal primario o base: channel add #opers! { chanmode "+mntisl 1" idle-kick 1 } channel set #opers! -bitch +clearbans +enforcebans -greet -revenge channel set #opers! -stopnethack +userbans -wasoptest -autovoice channel set #opers! -seen +secret -shared +userbans ##### MODULO PARA SERVIDOR ##### # este módulo sirve para que el bot pueda conectarse a algún servidor de IRC, # si no es cargado, el bot estará "despierto" pero sin conectarse a ningún # servidor, simplemente estará en el shell sin hacer nada loadmodule server # [0/1/2/3/4/5] ¿en qué red estará el bot? # 0 = Efnet (no +e/+I hybrid) # 1 = IRCnet # 2 = Undernet # 3 = Dalnet (el bot no incluye soporte para nicks largos) # 4 = Efnet (+e/+I hybrid) # 5 = Otras set net-type 2 ##### VARIABLES ##### # nick que usará el bot en IRC y en la botnet (a menos que especifiques # un valor para botnet-nick set nick "BoboBot" # nick alternativo para el bot en caso de que no pueda usar el nick # definido anteriormente. si pones caracteres "?" en el nick en esta # opción, serán sustituidos por números al azar set altnick "BoboBot2" # información que aparecerá como nombre real del bot (info del /whois) set realname "soy un bobo por no editar la configuración" # script a ajecutar (en su caso) cuando se conecta el bot al servidor set init-server { putserv "MODE $botnick +i-ws" } # lista de servidores a los cuales se irá conectando, el bot intentará # conectarse al primero y recorrerá la lista si se desconecta # NECESITAS definir los servidores de acuerdo a la red donde quieres que se # conecte el bot. recuerda utilizar servidores que permitan el uso de bots. # puedes poner cuantos servidores quieras en la lista. set servers { servidor.número.uno:6667 servidor.número.dos:6667 servidor.número.tres:6667 otro.servidor:6667 } # [0/1] ¿seguirá intentando el bot recuperar el nick definido anteriormente? set keep-nick 1 # [0/1] usar /ison en lugar de /trace para verificar si su nick está en uso # nota: algunos ircops verifican el uso excesivo de /trace set use-ison 1 # [0/1] se esta opción se activa, la tilde(~) en ~user@host no será removida # se recomienda no activar esta opción. set strict-host 0 # [0/1] ¿no especificar el error cuando sea rechazado algún dcc chat o send? # si se especifica, el bot le indicará al usuario que su dcc fue rechazado # porque no tiene acceso, pero esto puede alertar a un ircop o usuario # malicioso. es preferible dejar habilitada esta opción. set quiet-reject 1 # [0/1] ¿contestar ctcp's en minúsculas? (no es estándar) # el mIRC sí contesta este tipo de ctcp's, otros programas no. set lowercase-ctcp 0 # ¿cuántos ctcp's al mismo tiempo se permiten? set answer-ctcp 3 # si se define un valor de 0 para cualquiera de las siguentes opciones, será # desactivada, por ejemplo 0:0 # ¿cuántos mensajes en cuántos segundos constituyen un flood? set flood-msg 5:60 # ¿cuántos ctcp's en cuántos segundos? set flood-ctcp 3:60 # [0/1] si no se puede conectar a ningún servidor, ¿seguir intentando # por tiempo indefinido la conexión hasta que lo logre? set never-give-up 1 # [0/1] si esta opción es 0, entonces el eggdrop mantendrá por separado una # lista con los nombres de los servidores como se llaman a ellos mismos, # manteniendo intacto lo que tecleaste en el archivo de configuración. # si la opción es 1, el eggdrop reemplazará lo que tecleaste con el nombre # con el cual se llama a sí mismo el servidor set strict-servernames 0 # si no se especifica ningún puerto en .jump, ¿qué puerto deberá usar? set default-port 6667 # ¿cuántos segundos deberá esperar entre cada intento de conexión a los # servidores? (0 = no esperar) # esto es útil para prevenir el "throttling" en los servidores # 60 segundos es una cantidad adecuada. set server-cycle-wait 60 # ¿cuántos segundos va a esperar a que le responda un servidor antes # de desistir e intentar en el siguiente? set server-timeout 15 # si el número de servidores en la red es menor a este número, el bot # se cambiará a otro servidor (asumirá que está en la parte pequeña # del split) -- para desactivar la opción usa 0 # la mayoría de los servidores de irc usan el TS (time stamp), así # que la ventaja será tuya si desactivas esta opción set servlimit 0 # [0/1] ¿verificar conexiones muertas? (por ejemplo, cuando la conexión # al servidor ha sido rota pero el bot no ha sido notificado de esto) set check-stoned 1 # [0/1] ¿habilitar el modo de consola 'r'? este modo muestra todos los # mensajes enviados al bot por el servidor. Solo estaría disponible para # usuarios +n. Esto constituye un gran riesgo de seguridad. # Se recomienda no habilitarlo. set use-console-r 0 # [0/1] ¿habilitar el modo de consola 'v'? este modo muestra todos los # mensajes enviados al servidor por el bot. Solo estaría disponible para # usuarios +n. Esto constituye un gran riesgo de seguridad. # Se recomienda no habilitarlo. set debug-output 0 # [0/1] ¿salir si el servidor envía un mensajes de error? set serverror-quit 1 # número máximo de líneas en cola de espera para el servidor # si vas a enviar grandes cantidades de texto al servidor de irc, # probablemente quieras incrementar este límite. para la mayoría # 300 es una cantidad suficiente. set max-queue-msg 300 # [0/1] ¿activar comandos para usuarios siendo ignorados? set trigger-on-ignore 0 # [0/1] ¿permitir que un mismo mensaje esté 2 veces en la cola de espera? set double-mode 0 set double-server 0 set double-help 0 ##### SERVER MODULE - net-type 5 specific features (other networks) ##### # [0/1] some IRC Networks use the ircdu's SILENCE command # else it is useless to use this # Automatically set to 0 for net-type 0/1/3/4, set to 1 for net-type 2. # Only use this if you set net-type 5 #set use-silence 1 # [0/1] some nets use umode +r to mean a restricted connection. If this is your # case, and you want your bot to leave restricted servers and jump to the # next one on his server list, then set it to 1. # Automatically set to 0 for net-type 0/2/3/4, set to 1 for net-type 1. # Only use this if you set net-type 5 #set check-mode-r 1 ##### MODULOE CTCP ##### # este módulo provee las respuestas normales a los ctcp's estándar loadmodule ctcp # several variables exist to better blend your egg in. they are # ctcp-version, ctcp-finger, and ctcp-userinfo. you can use set # to set them to values you like. # [0/1/2] # 0: comportamiento normal # 1: el bot ignorará todos los ctcp's, excepto chats y pings de usuarios +o # 2: el bot no responderá más de C ctcp's en S segundos (valores definidos # en la línea flood-ctcp set ctcp-mode 0 ##### MODULO DE IRC ##### # este módulo provee la interacción normal con el servidor de irc # úsalo si quieres el comportamiento normal de un cliente en irc loadmodule irc # [0/1] habilita esta opción si quieres que el bot rechace todos # los bannes puestos por servidores de irc (normalmente después de un split) set bounce-bans 1 # [0/1] habilita esta opción si quieres que el bot rechace todos # los modos de canal puestos por servidores de irc (normalmente después de un split) set bounce-modes 0 # [0/1] ¿patear a usuarios que pongan bannes no válidos? set kick-bogus-bans 1 # [0/1] ¿quitar los bannes no válidos que sean puestos? set bounce-bogus-bans 1 # si hay más bannes activos en el canal que el valor max-bans, entonces # el bot no tratará de poner más bannes, así no le hará flood al servidor. # undernet permite hasta 30 bannes. set max-bans 25 # There is a global limit for +b/+e/+I modes. This limit is set to 30 on # 2.10 irc servers. set max-modes 30 # [0/1] habilita esta opción para permitir cambios hechos por usuarios sin op # (como ChanServ) o si se usarán los servicios X/W de undernet set allow-desync 0 # [0/1] ¿patear a usuarios con ident no válido? # recuerda que si lo hace y no los banea, puede ser el origen a un flood # de join/kick set kick-bogus 0 # [0/1] ¿banear a usuarios con ident no válid? # esto puede prevenir lo descrito anteriormente, pero también puede llenar # la lista de bannes set ban-bogus 0 # [0/1] Do you want the bot to kick for control character/ctcp avalanches # to a channel? # Remember that if it does, as it won't ban them, it can be at the origin # of a nice kick-flood set kick-fun 0 # [0/1] Do you want the bot to ban for control character/ctcp avalanches # to a channel? # Can prevent the above described kick-flood, but can also fill the banlist set ban-fun 0 # [0/1] let users introduce themselves to the bot via 'hello'? set learn-users 0 # time (in seconds) to wait for someone to return from a netsplit set wait-split 600 # time (in seconds) that someone must have been off-channel before # re-displaying their info set wait-info 180 # this is the maximum number of bytes to send in the arguments to mode's # sent to the server, most servers default this to 200, so it should # be sufficient set mode-buf-length 200 # many irc ops check for bots that respond to 'hello'. you can change this # to another word by uncommenting the following two lines, and changing # "myword" to the word you want to use instead of 'hello' (it must be a # single word) # novice users are not expected to understand what these two lines do; they # are just here to help you. for more information on 'bind', check the file # 'tcl-commands.doc' #unbind msg - hello *msg:hello #bind msg - myword *msg:hello # Many takeover attempts occur due to lame users blindy /msg ident'n to # the bot without checking if the bot is the bot. # We now unbind this command by default to discourage them unbind msg - ident *msg:ident unbind msg - addhost *msg:addhost # If you or your users use many different hosts and wants to # be able to add it by /msg'ing you need to remove the # unbind ident line above or bind it to another word. #bind msg - myidentword *msg:ident # [0/1] If you are so lame you want the bot to display peoples info lines, even # when you are too lazy to add their chanrecs to a channel, set this to 1 # *NOTE* This means *every* user with an info line will have their info # display on EVERY channel they join (provided they have been gone longer than # wait-info) set no-chanrec-info 0 # [0/1/2/3] Defines how the bot should punish bad users when revenging. # 0 for deop - 1 for deop and +d - 2 for deop, +d and kick - 3 for deop, # chattr +d, kick and ban. Default is 1. set revenge-mode 1 ##### IRC MODULE - net-type 1 specific features (IRCnet) ##### # Don't modify the following settings if you don't use IRCnet. The defaults following # values are harmless for you. # [0/1] define this if you want to bounce all server exemptions (+e modes) # * This is an IRCNET feature set bounce-exempts 0 # [0/1] define this if you want to bounce all server invitations (+I modes) # * This is an IRCNET feature set bounce-invites 0 # If there are more than max-exempts active +e modes on a channel, then # the bot won't try to put more exemptions. Thus it won't flood the irc # server. Only 2.10 servers are concerned by these +e modes. # * This is an IRCNET feature set max-exempts 20 # If there are more than max-invites active +I modes on a channel, then # the bot won't try to put more invitations. Thus it won't flood the irc # server. Only 2.10 irc servers are concerned by these +I modes. # * This is an IRCNET feature set max-invites 20 # [0/1] Do you want the bot to remove bogus exempts? set bounce-bogus-exempts 0 # [0/1] Do you want the bot to kick users who set bogus exempts? set kick-bogus-exempts 0 # [0/1] Do you want the bot to remove bogus invites? set bounce-bogus-invites 0 # [0/1] Do you want the bot to kick users who set bogus invites? set kick-bogus-invites 0 # The following lines should be left uncommented unless the default values # are being over-ridden. By default exempts and invites are on for IRCnet # and hybrid EFnet, but off for all other networks. This behaviour can be # modified by the following 2 flags. If you're network doesn't support e/I # modes then you'll be unable to use these features. # # [0/1] Do you want to enable exempts? # set use-exempts 0 # [0/1] Do you want to use invites? # set use-invites 0 # [0/1] Prevent mixing normal modes and +I/+e invite modes? # At the moment (Sep/1999), IRCnet servers do not allow mixing those modes, # so leave this flag set to 1. The servers will probably change their # behaviour in the future, so you should first check before accepting the # default. set prevent-mixing 1 ##### IRC MODULE - net-type 5 specific features (other networks) ##### # kick-method defines how kicks (when enforcing bans) should be made: # 0 = kick all nicks at once in one command # X = kick X users at a time # # Automatically set by net-type: # net-type 0, 2, 3 & 4 sets this to 1 # net-type 1 sets this to 4 # # If you use net-type 5, you must set this yourself (default is 1) #set kick-method 1 # some networks allow you to stack lots of channel modes into one # line. # they're all guaranteed to support at least 3, so that's the default, # but if you know your network supports more, you may want to adjust # this value. this value must be less than or equal to 6. # Automatically set to 4 for net-type 0/4, set to 3 for net-type 1, set to # 6 for net-type 2/3. # Only use this if you set net-type 5 #set modes-per-line 3 # [0/1] use ircu2.10.01 specific /who requests, therefore only asking for # exactly what's needed # Automatically set to 0 for net-type 0/1/3/4, set to 1 for net-type 2. # Only use this if you set net-type 5 #set use-354 0 # [0/1] use rfc 1459 compliant string matching routines? # All networks apart from Dalnet comply with rfc 1459, so you should only # disable it on Dalnet or networks which use Dalnet's code. #set rfc-compliant 1 ##### TRANSFER MODULE ##### # uncomment this line to load the transfer module, this provides # dcc send/get support and bot userfile transfer support (not sharing) #loadmodule transfer ##### variables: # set maximum number of simultaneous downloads to allow for each user set max-dloads 3 # set the block size for dcc transfers (ircII uses 512 bytes, but admits # that may be too small -- 1024 is standard these days) # set this to 0 to use turbo-dcc (recommended) set dcc-block 1024 # [0/1] copy files into the /tmp directory before sending them? this is # useful on most systems for file stability. (someone could move a file # around while it's being downloaded, and mess up the transfer.) but if # your directories are NFS mounted, it's a pain, and you'll want to set # this to 0. If you are low on disk space, you may want to set this to 0. set copy-to-tmp 1 # time (in seconds) that a dcc file transfer can remain inactive # before being timed out set xfer-timeout 30 ##### SHARE MODULE ##### # this provides the userfile sharing support # (this requires the channels & transfer modules) #loadmodule share ##### variables: # [0/1] When two bots get disconnected this flag allows them to create # a resync buffer which saves all changes done to the userfile during # the disconnect. So, when they reconnect, they will not have to transfer # the complete user file, but instead, just send the resync buffer. # If you have problems with this feature please tell us. Take a look at # doc/BUG-REPORT first though. #set allow-resync 0 # this specifies how long to hold another bots resync data for before # flushing it #set resync-time 900 # [0/1] when sharing user lists, ignore +n modes from other bots? # # PLEASE NOTE! # # With the addition of private-globals, private-owner is now redundant, # and therefore deprecated. It may be removed soon. Put the global # owner flag in private-globals for the same effect. # # NOTE: every slave will need to have 'set owner ...' or # they will lose their owners when they download the user list #set private-owner 0 # [0/1] when sharing user lists, DONT ACCEPT global flag changes from other bots? # NOTE: the bot will still send changes made on the bot, it just wont accept # any global flag changes from other bots #set private-global 0 # when sharing user lists, if private-global isn't set, which global flag # changes from other bots should be ignored ? #set private-globals "mnot" # [0/1] when sharing user lists, DON'T ACCEPT any userfile changes from other # bots? # NOTE: paranoid people should use this feature on their hub bot - this # will force all +host/+user/chpass/etc. changes to be made via the hub #set private-user 0 ##### FILESYSTEM MODULE ##### # uncomment this line to load the file system module, this provides # an area withing the bot where you can store files #loadmodule filesys # this is the 'root' directory for the file system (set it to "" if you # don't want a file system) set files-path "/home/mydir/filesys" # if you want to allow uploads, set this to the directory uploads should be # put into set incoming-path "/home/mydir/filesys/incoming" # [0/1] alternately, you can set this, and uploads will go to the current # directory that a user is in set upload-to-pwd 0 # eggdrop creates a '.filedb' file in each subdirectory of your dcc area, # to keep track of its own file system info -- if you can't do that (like # if the dcc path isn't owned by yours) or you just don't want it to do # that, specify a path here where you'd like all the database files to # be stored instead (otherwise, just leave it blank) set filedb-path "" # set maximum number of people that can be in the file area at once # (0 to make it effectively infinite) set max-file-users 20 # maximum allowable file size that will be received, in K # (default is 1024K = 1M) set max-filesize 1024 ##### MODULO DE NOTAS ##### # este módulo provee el soporte para guardar notas (mensajes) entre usuarios loadmodule notes # archivo donde serán grabadas las notas set notefile "eggdrop.notes" # número máximo de notas permitidas por cada usuario (para prevenir el uso # indebido de tu espacio en disco) set max-notes 30 # ¿tiempo (en días) que serán guardadas las notas antes de ser eliminadas # automáticamente? set note-life 60 # [0/1] ¿permitir el uso de 'forward' de notas hacia otro bot? set allow-fwd 0 # [0/1] habilitar esta opción para avisarles cada hora a los usuarios que tienen # notas set notify-users 1 # [0/1] ponle 1 a esta opción si quieres que el bot le avise a la gente cuando # tenga notas nuevas set notify-onjoin 1 # comenta esta línea o el bot no arrancará die "¿No revisaste el archivo de configuración como te dije?" ##### MODULO CONSOLE ##### # este módulo guarda el estado de la consola cuando cierras un dcc con el bot # (también puedes grabar la consola tecleando .store) loadmodule console ##### variables: # [0/1] ¿grabar automáticamente la consola de usuarios? (de otra forma, deberán # usar el comando .store set console-autosave 1 # [0-99999] si un usuario no tiene grabadas opcions de consola, ¿en qué canal # se le pone automáticamente? set force-channel 0 # [0/1] ¿desplegar la línea info global de un usuario cuando entre a un canal? set info-party 0 ##### MODULO WOOBIE ##### # este módulo no tiene ningún propósito, está aquí únicamente por # motivos de demostración. no tiene ningún caso que lo descomentes. #loadmodule woobie ##### MODULO SEEN ##### # este módulo provee comandos 'seen' vía mensaje, en el canal o por # dcc, similiar a otros scripts #loadmodule seen ##### MODULO BLOWFISH #### ##### SI NO LEES ESTO, PUEDES DESTRUIR TU ARCHIVO DE USUARIOS # selecciona un método de encriptamiento ahora, una vez que lo hagas no # podrá cambiarse a menos que crees un archivo de usuarios nuevo. ¿ok? # por ahora, solo hay un método de encriptamiento: blowfish. # descomenta esta línea para cargar el blowfish, el módulo de encriptamiento # para el bot, el cual no arrancará si no cargas este módulo. #checkmodule blowfish ##### MODULO ASSOC ##### # descomenta esta línea para cargar el módulo assoc; sirve para nombrar # canales en una botnet #loadmodule assoc ##### MODULO WIRE ##### # este módulo provee los comandos estándar .wire en el dcc. # es una herramienta de comunicaciones para una partyline encriptada # compatible con wire.tcl # descomenta la línea si lo necesitas #loadmodule wire ##### SCRIPTS ##### # estos scripts son normalmente cargados (y necesitados) source scripts/alltools.tcl source scripts/action.fix.tcl source scripts/userinfo1.0.tcl loadhelp userinfo.help # aquí abajo agregas los scripts adicionales en la forma: # source scripts/nombre.del.script.tcl # el script deberá estar dentro del directorio scripts # es recomendable que añadas los scripts UNO A UNO y los vayas # probando, así podrás identificar si alguno no funciona como # lo deseas o provoca que el bot no arranque.