Autor Tema: Se puede hacer que un bot qute....  (Leído 1585 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ScapeR

  • Novato
  • *
  • Mensajes: 6
  • Karma: +0/-1
Se puede hacer que un bot qute....
« en: Noviembre 16, 2009, 03:27:49 pm »
Holas se puede hacer que un bot por ejemplo cada 3 horas... quite los bans del canal?

Desconectado TuRNeR-uP

  • Miembro Junior
  • **
  • Mensajes: 99
  • Karma: +3/-11
    • eMule, mIRC & Mas PC
Re: Se puede hacer que un bot qute....
« Respuesta #1 en: Noviembre 17, 2009, 05:25:58 pm »
Aqui te dejo un codigo que lo hace.
funciona como sigue.
Tienes que añadir los canales en que quieres que funcione mediante el menu, Si quieres que funcione para todos en los que este el bot poner un ; delante de las lineas que te indico en el mismo codigo
Si por medio de el menu lo desactivas todos los timer en curso para quitar banes se quitaran. no quitandose los banes de ningun canal
Si quitas un canal se desactivaran los timer en curso para ese canal y no se quitaran los banes de ese canal

al iniciarse quitara los banes que lleven mas tiempo de 5 en 5 y activara un timer para cada ban que lleve menos tiempo

Se inicia de varias maneras.
Para todos los banes de un canal
.- al recibir op en uno de los canales incluidos
.- por medio de el menu dando a Reiniciar quitado automatico
.- al agregar un canal nuevo, si eres op en el mismo
Para banes nuevos
.- se activa un timer segun se pone el ban que lo quita trancurrido el tiempo

Para cargarlo copia el codigo en un archivo con la extension mrc por ejemplo Qitabansauto.mrc, pon el archivo el el directorio addons y cargalo mediante el cargador de addon de el IRcap es necesario para que se cargue la variable que tiene el tiempo, este lo puedes cambiar luego por medio de el menu


on *:LOAD: {
  echo -sa -
  echo -sa Cargado Quita Bans automatico
  echo -sa Agrega o quita los canales donde quieres que funcione mediante el menu Quitaban Auto-->Agregar/Quitar canal. Se muestra en click derecho sobre el canal
  echo -sa Tiempo por defecto 10800 segundos, se cambia en el menu
  echo -sa -
  set %duracionbans 10800
}

menu channel {
  Quitaban Auto
  . $iif($group(#quitabanss) == on, Desactivar,Activar) : {
    if ($group(#quitabanss) == on) {  .timer.quitaban* off | .disable #quitabanss | echo -sa Desactivado Quitar bans Automaticamente }
    else { .enable #quitabanss | echo -sa Activado Quitar bans automaticamente  }
  }
  . $iif($chan isin %canalesquitabans, Quitar,Agregar) canal $chan : {
    if ($chan !isin %canalesquitabans) {  set %canalesquitabans $addtok(%canalesquitabans,$chan,32) | /quitabanst $chan }
    else { set %canalesquitabans $remtok(%canalesquitabans,$chan,32) | .timer.quitaban $+ $chan $+ * off  }
  }
  . Reiniciar quitado automatico en $chan : { /quitabanst $chan }
  . Cambiar tiempo : { set %duracionbans $$?="Pon el tiempo en segundos" }
}


#quitabanss on
ON *:BAN:#:{
  ;siquieres que funcione para todos los canales pon un ; delante de la siguiente linea
  if ($chan !isin %canalesquitabans) { goto fin }
  if ($me isop $chan) {
    inc %nbanTN 1
    .timer.quitaban $+ $chan $+ %nbanTN  1 %duracionbans /mode $chan -b $banmask
  }
  :fin
}

On *:OP:#: {
  ;siquieres que funcione para todos los canales pon un ; delante de la siguiente linea
  if ($chan !isin %canalesquitabans) { goto fin }
  if ($opnick == $me) {
    /quitabanst $chan
  }
  :fin
}

alias quitabanst {
  if ($me isop $1) {
    .enable #leebans
    .timer.quitaban $+ $1 $+ * off
    /mode $1 +b
  }
}
#quitabanss end

#leebans off
raw 367:*: {
  inc %nbanTN 1
  var %tiempoban = $calc( $ctime - $5 )
  if (%tiempoban >= %duracionbans ) {
    inc %Totbans [ $+ [ $2 ] ]  1
    set %NbanMask [ $+ [ $2 ] ] $addtok( %NbanMask [ $+ [ $2 ] ] ,$3,32)
  }
  else {
    var %tiempobanqueda = $calc( %duracionbans - %tiempoban )
    .timer.quitaban $+ $2 $+ %nbanTN 1 %tiempobanqueda /mode $2 -b $3
  }
  if ( %Totbans [ $+ [ $2 ] ]  == 5 ) { mode $2 -bbbbbb %NbanMask [ $+ [ $2 ] ] | unset %NbanMask [ $+ [ $2 ] ] | unset %Totbans [ $+ [ $2 ] ] }
}

raw 368:*: {
  if ( %Totbans [ $+ [ $2 ] ] != $null ) { mode $2 -bbbbbbb %NbanMask [ $+ [ $2 ] ] | unset %NbanMask [ $+ [ $2 ] ] | unset %Totbans [ $+ [ $2 ] ] }
  .disable #leebans
}
#leebans end

« última modificación: Noviembre 17, 2009, 05:34:11 pm por TuRNeR-uP »
【ツ】✿QµIsI€®ª s€® µnª láG®IMª þª®ª nª©€® €n †µS øjøS, vIvI® €n †µS M€jIllªS y Mø®I® €n †µS lªßIøS✿ 【ツ】

Desconectado Red_Erik

  • Moderador Global
  • Miembro Senior
  • ****
  • Mensajes: 348
  • Karma: +10/-0
  • Sexo: Masculino
Re: Se puede hacer que un bot qute....
« Respuesta #2 en: Noviembre 17, 2009, 06:10:09 pm »
Si se usa IRcap basta con hacer un timer que ejecute dos instrucciones:

set %borraban s
mode # b


Desconectado TuRNeR-uP

  • Miembro Junior
  • **
  • Mensajes: 99
  • Karma: +3/-11
    • eMule, mIRC & Mas PC
Re: Se puede hacer que un bot qute....
« Respuesta #3 en: Noviembre 17, 2009, 06:34:35 pm »
Siempre se aprende algo nuevo,
¿Pregunta: eso quitara los banes cada el tiempo que se ponga en el timer o quitara los banes que lleven un tiempo x puesto?
【ツ】✿QµIsI€®ª s€® µnª láG®IMª þª®ª nª©€® €n †µS øjøS, vIvI® €n †µS M€jIllªS y Mø®I® €n †µS lªßIøS✿ 【ツ】

Desconectado Red_Erik

  • Moderador Global
  • Miembro Senior
  • ****
  • Mensajes: 348
  • Karma: +10/-0
  • Sexo: Masculino
Re: Se puede hacer que un bot qute....
« Respuesta #4 en: Noviembre 17, 2009, 07:46:21 pm »
Se puede hacer muchas cosas, solo es cuestión de programar, pero basicamente:

Alias borrabancanalalias { set %borraban s | mode # b }
Alias borrabancanal { timerborrabancanal 0 180 {  borrabancanalalias  } }


Borrará la lista de todos los bans del canal cada 180 segundos.

Falta agregar comandos para arrancar, parar el timer, seleccioanr canales o variar el tiempo de "reseteo", pero esto sería el alias básico.

Desconectado TuRNeR-uP

  • Miembro Junior
  • **
  • Mensajes: 99
  • Karma: +3/-11
    • eMule, mIRC & Mas PC
Re: Se puede hacer que un bot qute....
« Respuesta #5 en: Noviembre 17, 2009, 08:00:58 pm »
entiendo :)
yo busque dar una duracion x a los banes de el canal y solo borrar los que tubiesen esa duracion,
tambien pense en un /timer 0 10800 /mcs clear #canal bans
pero ese es un comando limitado al founder y es un comando de la red y puede que no en todas este. tambien pense en que tambien se quitarian los banes que solo llevasen unos minutos puestos

claro que de la otra forma que he puesto tambien se carga mas trabajo al mIRC
todo deve de ser en funcion de lo que se busque
De todos modos bueno es saber tambien la otra forma :)
【ツ】✿QµIsI€®ª s€® µnª láG®IMª þª®ª nª©€® €n †µS øjøS, vIvI® €n †µS M€jIllªS y Mø®I® €n †µS lªßIøS✿ 【ツ】

Desconectado Red_Erik

  • Moderador Global
  • Miembro Senior
  • ****
  • Mensajes: 348
  • Karma: +10/-0
  • Sexo: Masculino
Re: Se puede hacer que un bot qute....
« Respuesta #6 en: Noviembre 17, 2009, 08:57:19 pm »
Todo es en función de las necesidades. De todas formas, tu add on es muy completo. Felicidades por el trabajo.

Desconectado ScapeR

  • Novato
  • *
  • Mensajes: 6
  • Karma: +0/-1
Re: Se puede hacer que un bot qute....
« Respuesta #7 en: Noviembre 17, 2009, 10:38:29 pm »
Muchas gracias os debo un gran favor ^^

Me va de lujo :D

dudoso

  • Visitante
Re: Se puede hacer que un bot qute....
« Respuesta #8 en: Mayo 30, 2010, 11:59:30 pm »
Una pregunta sobre este addon... ¿si se activa para varios canales el tiempo que se pone en cada uno es independiente? ¿o modifica también el tiempo del resto? Gracias de antemano.

Desconectado TuRNeR-uP

  • Miembro Junior
  • **
  • Mensajes: 99
  • Karma: +3/-11
    • eMule, mIRC & Mas PC
Re: Se puede hacer que un bot qute....
« Respuesta #9 en: Junio 01, 2010, 02:50:20 pm »
el tiempo es similar para todos los canales
es una cosa que pensé incluir el poner tiempos independientes para cada canal pero al final no lo hice
para ponerlo cambia el raw 367  por este


raw 367:*: {
if %duracionbans [ $+ [ $2 ] ] != $null { var %banduracion = %duracionbans [ $+ [ $2 ] ] }
else { var %banduracion = %duracionbans  }
  inc %nbanTN 1
  var %tiempoban = $calc( $ctime - $5 )
  if (%tiempoban >= %banduracion ) {
    inc %Totbans [ $+ [ $2 ] ]  1
    set %NbanMask [ $+ [ $2 ] ] $addtok( %NbanMask [ $+ [ $2 ] ] ,$3,32)
  }
  else {
    var %tiempobanqueda = $calc( %banduracion - %tiempoban )
    .timer.quitaban $+ $2 $+ %nbanTN 1 %tiempobanqueda /mode $2 -b $3
  }
  if ( %Totbans [ $+ [ $2 ] ]  == 5 ) { mode $2 -bbbbbb %NbanMask [ $+ [ $2 ] ] | unset %NbanMask [ $+ [ $2 ] ] | unset %Totbans [ $+ [ $2 ] ] }
}


y en el menú incluir esta otra linea para asignar tiempo a cada canal

. Tiempo de ban $chan : { set %duracionbans $+ $chan  $$?="Introduce el tiempo de ban para el canal en segundos"

de este modo tendrías un tiempo para cada canal o bien un tiempo de duración general que actuaria si el canal no tiene tiempo especifico para el
【ツ】✿QµIsI€®ª s€® µnª láG®IMª þª®ª nª©€® €n †µS øjøS, vIvI® €n †µS M€jIllªS y Mø®I® €n †µS lªßIøS✿ 【ツ】