All pastes #620848 Raw Edit

Someone

public text v1 · immutable
·published 2007-07-15 19:40 UTC
rendered paste body
;Remover todos os bans de determinados canais. executar esta operação determinadas vezes por um tempo defenido
alias F5 {
  dialog -ma ChannelBanMenu ChannelBanMenu
}

on *:OP:*: {
  if ( %ChannelBanTime > 0 ) {
    if ( $opnick == $me ) {
      if ( $chan isin %ChannelBanList ) {
        timer $+ $network $+ $chan 0 %ChannelBanTime ChannelBan $chan
      }
    }
  }
}

on *:DEOP:*: {
  if ( %ChannelBanTime > 0 ) {
    if ( $opnick == $me ) {
      if ( $chan isin %ChannelBanList ) {
        timer $+ $network $+ $chan Off
      }
    }
  }
}

Dialog ChannelBanMenu {
  title "Removedor automático de bans"
  size 1 1 250 100
  option notheme

  text "Remover os bans após", 1, 5 5 110 15, left
  edit "", 3, 120 3 35 20, center
  text "segundos", 4, 160 5 45 15, left

  text "Por favor adicione os canais para a remoção", 5, 5 25 240 15, center

  button "Adicionar", 6, 155 45 55 20
  button "Remover", 7, 155 70 55 20

  list 8, 5 40 135 70, hsbar
}

on *:dialog:ChannelBanMenu:*:*: {
  if ( $devent == init ) {
    $iif( %ChannelBanTime != $null, did -a $dname 3 %ChannelBanTime)
    var %x $gettok( %ChannelBanList, 0, 32)
    while ( %x >= 1 ) {
      did -a $dname 8 $gettok( %ChannelBanList, %x, 32)
      dec %x
    } 
  }
  if ( $devent == edit ) {
    if ( $did == 3 ) {
      set %ChannelBanTime $did( $dname, $did).text
    }
  }
  if ( $devent == sclick ) {
    if ( $did == 6 ) {
      var %canal $input( Coloque o nome do canal a adicionar, ne, Adicionar canal)
      if ( %canal != $null ) {
        did -a $dname 8 $iif( $chr(35) isin %canal, %canal, $chr(35) $+ %canal)
        set %ChannelBanList %ChannelBanList $iif( $chr(35) isin %canal, %canal, $chr(35) $+ %canal)
      }
    }
    if ( $did == 7 ) {
      if ( $did( $dname, 8, $did( $dname, 8, 1).sel) != $null ) {
        set %ChannelBanList $remove( %ChannelBanList, $did( $dname, 8, $did( $dname, 8, 1).sel))
        did -d $dname 8 $did( $dname, 8, 1).sel
      }
    }
  }
}

alias ChannelBan {
  var %x 1
  while ( %x <= $ibl( $1, 0) ) {
    ChannelBanRemove $1 $ibl( $1, %x)
    inc %x
  }
}

alias ChannelBanRemove {
  mode $1 -b $2
}

menu channel {
  Clear Bans:f5
}