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