Proyecto IRC [ bot & bouncer ]

0buS

buenas

Pués bien, necesito que me guieis en como hacer esto. Queria conseguir un .mrc con la configuración de un bot con los típicos comandos de !help y tal, que el mismo bot banee o kickee con otro comando (por ej: .kick) y que los comandos de kickear, banear y tal, que solo lo puedan hacer los ops. Que al hacer spam alguien, que el bot banee a la gente durante X tiempo y le vuelva a quitar el ban después del X tiempo. Y por último, que cambie el topic al que se le ponga.

Después viene la 2º parte, que es como subirlo a un bouncer, o colgarlo en algun psybnc para que este 24 h.

PD: ale pos edito, que gente.

erdanblo

La mamada y la cocacola, ya de postre, ¿no? Claro hombre...

En fin, aqui la gente es tonta, o es tonta y media.

Fuera aparte de los adjetivos descalificativos, no te sirve de nada de lo que dices, ¿por qué?

Pués porque los PsyBNC por ejemplo, usan otro lenguaje, no es el mismo que mirc scripting.

Alé, ya tienes algo para empezar, por si te aburres.

Pd. Si aun así eres concienzudo, y quieres hacerlo en mirc scrippting, pués vete a foro dev y en los faq's hay dos bonitos, preciosos, y queridos manuales, aparte tienes los manuales de ayuda del propio programa para empezar a hacer cosillas.

0buS

PD: viva la ignorancia

erdanblo

La tuya. Ya que no te has molestado en investigar lo más mínimo.

"PD: mas que nada es para los que no saben que hacer, pues ya tienen diversión"

A

Te pongo un ejemplo de lo que pides. A partir de ahí, si te apetece el bot te lo construyes tú.

////////////////////////////////
// Ejemplo para el topic
////////////////////////////////

on 1000:text:!topic*:#: {
if (!$2) { .msg $chan No has especificado un mensaje para el topic. | halt }
else { .topic $chan $2- }
}

////////////////////////////////
// Ejemplo para el ban
////////////////////////////////

on 1000:text:!ban:#: {
if ( $me !isop $chan ) { .msg $chan Debo ser operador en el canal para realizar el comando. | halt }
elseif (!$2) { .msg $chan Debes especificar al menos un nick o una máscara. | halt }
elseif ( $2 $+ !
@* isban $chan ) { .msg $chan El usuario/máscara ya está baneado. | halt }
elseif ( $2 == $me ) { .msg $chan No a mi mismo. | halt }
elseif ( $2 isnotify ) { .msg $chan No a uno de mis operadores. | halt }
elseif ( $2 !ison $chan ) { .msg $chan El usuario: $2 no está en el canal. | halt }
else { $iif(%softban == si, .ban -u $+ %softbantime $chan $2, mode $chan +b $2) }
}

////////////////////////////////
// Ejemplo para el kick
////////////////////////////////

on 1000:text:!kick*:#: {
if ( $me !isop $chan ) { .msg $chan Debo ser operador en el canal para realizar el comando. | halt }
elseif (!$2) { .msg $chan Debes especificar un nick. | halt }
elseif ( $2 !ison $chan ) { .msg $chan El usuario: $2 no está en el canal. | halt }
elseif ( $2 == $me ) { .msg $chan No a mi mismo. | halt }
elseif ( $2 isnotify ) { .msg $chan No a uno de mis operadores. | halt }
else { kick $chan $2 $iif(%randomkick == Si,$read kicks.db,$3-) }
}

Notas:

  • 1000 es el nivel que tienen los operadores en el ejemplo.
  • %softban es una variable donde se guarda si un ban debe durar X minutos o es indefinido.
  • %softbantime es el tiempo que dura un ban en el caso de ban temporal.
  • %randomkick es una variable donde se guada el hecho de usar o no un mensaje de kick aleatorio.
  • kicks.db es un fichero de texto donde puedes poner tus mensajes de kick, uno por linea.
  • El bot reconoce a sus operadores (y no los banea/kickea) si los añades a su notify.
0buS

muxas gracias archville ;). menos mal que no todos son iguales.

DiAbLo0o

aajjajaj enfin..
#5 no se pk le ayudas, pidiendo lo ke pide y como lo pide..

Usuarios habituales

  • DiAbLo0o
  • 0buS
  • Archville
  • erdanblo