All pastes #631176 Raw Edit

Unnamed

public text v1 · immutable
#631176 ·published 2007-07-23 19:38 UTC
rendered paste body
on *:load:{
  set %inactividadecanais #
  set %tempoinactividade 1200
  set %inactividadestatus Desligado

}
on *:start:{
  unset %removechan
  unset %inactividadenick
  unset %removeop.*
  unset %removevoice.*
}


on *:Join:#:{
  if ($chan $+ , isin %inactividadecanais $+ ,) && (%inactividadestatus == Ligado) {
    /timer 1 3 set %removechan $chan
    /timer 1 3 removeop
    /timer 1 3 removevoice
  }
}

on *:op:#:{
  if (!$read(excepcoesinactividade.txt,$opnick)) && (%inactividadestatus == Ligado) && ($chan $+ , isin %inactividadecanais $+ ,) {
    if ($opnick != $me) {
      /timerremoveop $+ $opnick $+ $chan 1 %tempoinactividade %nickbot deop $chan $opnick
      /timerremoveop2 $+ $opnick $+ $chan 1 %tempoinactividade set %removeop. [ $+ [ $opnick ] $+ ] . [ $+ [ $chan ] ] 1
    }
  }
}

on *:voice:#:{
  if (!$read(excepcoesinactividade.txt,$vnick)) && (%inactividadestatus == Ligado) && ($chan $+ , isin %inactividadecanais $+ ,) {
    if ($vnick != $me) {
      /timerremovevoice $+ $vnick $+ $chan 1 %tempoinactividade %nickbot devoice $chan $vnick
      /timerremovevoice2 $+ $vnick $+ $chan 1 %tempoinactividade set %removevoice. [ $+ [ $vnick ] $+ ] . [ $+ [ $chan ] ] 1
    }
  }
}

on *:deop:#:{
  if ($chan $+ , isin %inactividadecanais $+ ,) {
    if ($opnick != $me) {
      /timerremoveop $+ $opnick $+ $chan off
      /timerremoveop2 $+ $opnick $+ $chan off
    }
  }
}

on *:devoice:#:{
  if ($chan $+ , isin %inactividadecanais $+ ,) {
    if ($vnick != $me) {
      /timerremovevoice $+ $vnick $+ $chan off
      /timerremovevoice2 $+ $vnick $+ $chan off
    }
  }
}

on *:PART:#:{
  if ($chan $+ , isin %inactividadecanais $+ ,) {
    /timerremoveop $+ $nick $+ $chan off
    /timerremoveop2 $+ $nick $+ $chan off
    /timerremovevoice $+ $nick $+ $chan off
    /timerremovevoice2 $+ $nick $+ $chan off
  }
}

on *:quit:{
  if ($chan $+ , isin %inactividadecanais $+ ,) {
    /timerremoveop $+ $nick $+ $chan off
    /timerremoveop2 $+ $nick $+ $chan off
    /timerremovevoice $+ $nick $+ $chan off
    /timerremovevoice2 $+ $nick $+ $chan off
  }
}
ON *:TEXT:*:#:{

  if (!$read(excepcoesinactividade.txt,$nick)) && (%inactividadestatus == Ligado) && ($chan $+ , isin %inactividadecanais $+ ,) {
    if (($nick isop $chan)) {
      /timerremoveop [ $+ [ $nick ] ] $chan  1 %tempoinactividade %nickbot deop $chan $nick
      /timerremoveop2 [ $+ [ $nick ] ] $chan 1 %tempoinactividade set %removeop. [ $+ [ $nick ] $+ ] . [ $+ [ $chan ] ] 1
    }  


    if (($nick isvoice $chan)) {
      /timerremovevoice $+ $nick $+ $chan  1 %tempoinactividade %nickbot devoice $chan $nick
      /timerremovevoice2 $+ $nick $+ $chan 1 %tempoinactividade set %removevoice. [ $+ [ $nick ] $+ ] . [ $+ [ $chan ] ] 1
    }

    if (%removeop. [ $+ [ $nick ] $+ ] . [ $+ [ $chan ] ]) {
      mode $chan +o $nick
      unset %removeop. [ $+ [ $nick ] $+ ] . [ $+ [ $chan ] ]
    }

    if (%removevoice. [ $+ [ $nick ] $+ ] . [ $+ [ $chan ] ]) {
      mode $chan +v $nick
      unset %removevoice. [ $+ [ $nick ] $+ ] . [ $+ [ $chan ] ]
    }
  }

}



alias removeop {   
  var %contadorop = 1
  While ($nick(%removechan,0,o) >= %contadorop) {
    if (!$read(excepcoesinactividade.txt,$nick(%removechan,%contadorop,o)))  {
      if ($me != $nick(%removechan,%contadorop,o)) {
        /timerremoveop $+ $nick(%removechan,%contadorop,o) $+ %removechan 1 %tempoinactividade mode %removechan -o $nick(%removechan,%contadorop,o)
        /timerremoveop2 $+ $nick(%removechan,%contadorop,o) $+ %removechan 1 %tempoinactividade set %removeop. [ $+ [ $nick(%removechan,%contadorop,o) ] $+ ] . [ $+ [ %removechan ] ] 1
      }
    }
    inc %contadorop
  }
}
alias removevoice {   
  var %contadorop = 1
  While ($nick(%removechan,0,v) >= %contadorop) {
    if (!$read(excepcoesinactividade.txt,$nick(%removechan,%contadorop,v))) && (%inactividadestatus == Ligado) {
      if ($me != $nick(%removechan,%contadorop,v)) {
        /timerremovevoice $+ $nick(%removechan,%contadorop,v) $+ %removechan 1 %tempoinactividade mode %removechan -v $nick(%removechan,%contadorop,v)deop %removechan $nick(%removechan,%contadorop,v)
      /timerremovevoice2 $+ $nick(%removechan,%contadorop,v) $+ %removechan 1 %tempoinactividade set %removevoice. [ $+ [ $nick(%removechan,%contadorop,v) ] $+ ] . [ $+ [ %removechan ] ] 1      }
    }
    inc %contadorop
  }
}

alias add/removeinactividadenick {
  if ( $read(excepcoesinactividade.txt,w,%inactividadenick) ) {
    /write -dl $+ $readn excepcoesinactividade.txt 
  }
  else {
    /write excepcoesinactividade.txt %inactividadenick
  }

}

menu menubar,channel {
  -
  Inactividade script
  .Estado $+ $chr(58) %inactividadestatus :halt
  .-
  .$iif(%inactividadestatus = Ligado,$style(2) Ligar,Ligar):set %inactividadestatus Ligado
  .$iif(%inactividadestatus = Desligado,$style(2) Desligar,Desligar):set %inactividadestatus Desligado
  .-
  .Canal/canais %inactividadecanais :halt
  .Definir Canal/Canais: set %inactividadecanais $$?="Digite o canal ou canais. Os canais devem ser separados por uma vírgula! ex:#canal1,#canal2,#canal3..."
  .-
  .Tempo de inactividade permitida $+ $chr(58) %tempoinactividade $+ s :set %tempoinactividade $$?="coloque o tempo de inactividade em segundos!"
}

menu nicklist {