All pastes #720227 Raw Edit

Something

public text v1 · immutable
#720227 ·published 2007-09-30 02:51 UTC
rendered paste body
menu * {
  -
  Blacklist · V.01:BList
}
Alias BList {
  dialog -md BList BList
}
dialog BList {
  title "Advanced Blacklist Dialog™ · V.01"
  size -1 -1 160 200
  option dbu
  Tab "Home", 01, 000 -002 160 202
  Tab "Users", 02
  Menu "&File" 03
  Menu "&Clear Blacklisted Users" 04
  Button "Edit User", 05, 62 177 36 12, Tab 2
  Button "Ok", 06, 000 188 036 012, Ok
  Button "Cancel", 07, 122 188 036 012, Cancel
  Text "James' Blacklist dialog · On Request of [P5]", 08, 027 030 105 012, Tab 1
  Box "Header", 09, 023 024 109 016, Tab 1
  Edit "Person To Blacklist", 10, 028 050 100 012, Center, Tab 1, AutoHS
  Edit "Reason for Blacklist", 11, 028 063 100 012, Center, Tab 1, AutoHS
  Edit "#Channel for Blacklist", 12, 028 076 100 012, Center, Tab 1, AutoHS
  Box "Blacklist Info", 13, 023 041 109 051, Tab 1
  Check "Channel Blacklist", 14, 030 100 050 012, Tab 1
  Check "Regular Blacklist", 15, 080 100 050 012, Tab 1
  Box "Blacklist Type", 16, 023 094 109 020, Tab 1
  Box "Blacklist Commands", 17, 023 120 109 023, Tab 1
  button "Enable", 18, 44 128 36 12, Tab 1
  button "Disable", 19, 80 128 36 12, Tab 1
  Text "Advanced Blacklist Dialog™ · By Jdawg140 · V.01", 20, 000 175 160 012, Center, Tab 1
  Text "", 21, 000 155 160 012, Center, Tab 1
  List 22, 020 040 120 120, VSbar, HSbar, Tab 2
  Box "Blacklisted Users", 23, 017 032 127 127, Tab 2
  Button "Rem Blacklist", 24, 62 165 36 12, Tab 2
  Tab "Global Ban", 25
  Edit "Person To Global Ban", 26, 028 050 100 012, Center, Tab 25, AutoHS, Limit 60
  Edit "Reason for Global Ban", 27, 028 063 100 012, Center, Tab 25, AutoHS
  Box "Global Ban Info", 28, 023 041 109 038, Tab 25
  Button "Global Ban!", 29, 060 090 36 012, Center, Tab 25
  Box "Inishiate Ban", 30, 023 082 109 025, Tab 25
}
on *:dialog:BList:menu:*: {
  if ($did == 54) dialog -x $dname
  elseif ($did == 50) did -a $dname 21 Use the buttons on the dialog
  elseif ($did == 51) {
    if ($did($dname,22).seltext) {
      remini BList.ini $network $gettok($ifmatch,1,46)     
      write -ds $+ $gettok($gettok($read(BList. $+ $network, $gettok($did($dname,22).seltext,1,46)),1,124),1,32) BList. $+ $network
      r_BList
    }
    else did -a $dname 21 No selected User
  }
  elseif ($did == 52) {
    if ($did($dname,22).seltext) {
      remini BList.ini $network $gettok($ifmatch,1,46)     
      write -ds $+ $gettok($gettok($read(BList. $+ $network, $gettok($did($dname,22).seltext,1,46)),1,124),1,32) BList. $+ $network
      set %Blacklist2.5 $gettok($ifmatch,2-,46)  
      r_BList
      dialog -x $dname
      BList
    }
    else did -a $dname 21 No selected User
  }
  elseif ($did == 55) {
    .remove BList. $+ $network
    remini BList.ini $network
    did -a $dname 21 All blacklisted users removed
    did -r $dname 22
  }
}
ON *:DIALOG:BList:Close:*:{ unset %Blacklist.* }
ON *:DIALOG:BList:sclick:*:{
  if ($did == 29) {
    var %i = 0
    while (%i < $comchan($me,0)) {
      inc %i 
      if ($comchan($me,%i) != #Idle) { 
        if ($me ishop $comchan($me,%i) || $me isop $comchan($me,%i)) {     
          mode $comchan($me,%i) +b $iif($address($did($dname,26),2),$ifmatch,$did($dname,26))
          msg $comchan($me,%i) 15,1 $+ I have just globaly banned $iif($address($did($dname,26),2),$ifmatch,$did($dname,26)) $&
            $iif($address($did($dname,26),2), $&
            ( $+ $did($dname,26) $+ ) ) $+ . 10,1Reason: $qt($did($dname,27)) 
        }
      }
    }
  }
  if ($did == 18) {
    if (%Blacklist.18 == Enabled) { 
      write BList. $+ $network $iif($address($did($dname,10),2),$ifmatch,$did($dname,10)) $chr(124) $&
        $calc($ini(BList.ini,$network,0) + 1) $chr(124) $iif($did($dname,14).state,~c: $+ $did($dname,12),~r:All) $&
        $chr(124) $did($dname,11)
      writeini BList.ini $network $calc($ini(BList.ini,$network,0) + 1) $iif($did($dname,14).state,~c: $+ $did($dname,12),~r:All) $&
        $iif($address($did($dname,10),2),$ifmatch,$did($dname,10)) $chr(124) $did($dname,11)
      did -az $dname 22 $ini(BList.ini,$network,0) $+ . $iif($did($dname,14).state,~c: $+ $did($dname,12),~r:All) $&
        $iif($address($did($dname,10),2),$ifmatch,$did($dname,10)) $chr(124) $did($dname,11)  
      B_Check
    }
    else {
      set %Blacklist.18 Enabled
      did -a $dname 18 Add Blacklist
      did -e $dname 19
      did -n $dname 10
      did -n $dname 11
    }
  }
  elseif ($did == 5) {
    if ($did($dname,22).seltext) {
      remini BList.ini $network $gettok($ifmatch,1,46)     
      write -ds $+ $gettok($gettok($read(BList. $+ $network, $gettok($did($dname,22).seltext,1,46)),1,124),1,32) BList. $+ $network
      set %Blacklist2.5 $gettok($ifmatch,2-,46)  
      r_BList
      dialog -x $dname
      BList
    }
  }
  elseif ($did == 22) {
    did -e $dname 24
    did -e $dname 05
  }
  elseif ($did == 24) {
    if ($did($dname,22).seltext) {
      remini BList.ini $network $gettok($ifmatch,1,46)     
      write -ds $+ $gettok($gettok($read(BList. $+ $network, $gettok($did($dname,22).seltext,1,46)),1,124),1,32) BList. $+ $network
      r_BList
    }
  }
  elseif ($did == 14) {
    if ($did($dname,15).state) { 
      did -u $dname 15
      did -e $dname 12
      did -e $dname 15
    }
    elseif (!$did($dname,15).state) { 
      did -c $dname 15
      did -b $dname 15
      did -b $dname 12
    }
  }
  elseif ($did == 15) {
    if (!$did($dname,14).state) did -c $dname 15
    if ($did($dname,14).state) {
      did -u $dname 14
      did -b $dname 15
      did -b $dname 12
    }
  }
  elseif ($did == 19) {
    did -m $dname 10
    did -m $dname 11
    did -b $dname 19
    did -b $dname 12
    unset %Blacklist.*
    did -a $dname 18 Enable
    did -b $dname 19
    did -c $dname 15
    did -b $dname 15
    did -u $dname 14
  }
}
ON *:DIALOG:BList:init:0:{
  did -m $dname 10
  did -m $dname 11
  did -b $dname 12
  did -c $dname 15
  did -b $dname 19
  did -b $dname 15
  did -b $dname 20
  did -b $dname 24
  did -b $dname 05
  did -a $dname 03 50 Add User
  did -a $dname 03 51 Rem User
  did -a $dname 03 52 Edit User
  did -a $dname 03 53 $str($chr(160),6) $+ - $+ $str($chr(160),2)
  did -a $dname 03 54 Close
  did -a $dname 04 55 Clear! 
  var %i = 0 
  while (%i < $ini(BList.ini,$network,0)) {
    inc %i
    did -az $dname 22 %i $+ . $readini(BList.ini,$network,%i)
  }
  if (%Blacklist2.5) {
    echo -at %Blacklist2.5
    if (*~c:* iswm %Blacklist2.5) {
      did -a $dname 21 Edit BlackList: Use A Comma (,) to seperate channels
      did -r $dname 10
      did -r $dname 11
      did -r $dname 12
      did -c $dname 14
      did -u $dname 15
      did -e $dname 12
      did -a $dname 12 $remove($gettok(%Blacklist2.5,1,32),~c:)
      did -a $dname 10 $gettok(%Blacklist2.5,2,32)
      did -a $dname 11 $gettok(%Blacklist2.5,4-,32)
      set %Blacklist.18 Enabled
      did -a $dname 18 Add Blacklist
      did -e $dname 19
      did -n $dname 10
      did -n $dname 11
      unset %Blacklist2.5
    }
    if (*~r:* iswm %Blacklist2.5) {
      did -a $dname 21 Edit BlackList: Use A Comma (,) to seperate channels
      did -r $dname 10
      did -r $dname 11
      did -a $dname 11 $gettok(%Blacklist2.5,4-,32)
      did -a $dname 10 $gettok(%Blacklist2.5,2,32)
      set %Blacklist.18 Enabled
      did -a $dname 18 Add Blacklist
      did -e $dname 19
      did -n $dname 10
      did -n $dname 11
      unset %Blacklist2.5
    }
  }
}
alias -l r_BList {
  did -r BList 22
  var %BList $ctime
  var %i = 0
  var %z = 0
  while (%i < $ini(BList.ini,$network,0)) {
    inc %i
    write $+(%BList,.txt) $readini(BList.ini,$network,$ini(BList.ini,$network,%i))
  }
  remini BList.ini $network
  while (%z < $lines($+(%BList,.txt))) {
    inc %z
    writeini BList.ini $network %z $read($+(%BList,.txt),%z)
    did -az BList 22 $+(%z,.) $readini(BList.ini,$network,%z)
  }
  .remove $+(%BList,.txt)
}
ON *:OP:#:{ if ($opnick == $me) $bcheck($chan) }
ON *:HELP:#:{ if ($hnick == $me) $bcheck($chan) }
ON *:JOIN:#:{
  if ($me isop $chan) || ($me ishop $chan) {
    if ($read(BList. $+ $network, s, $nick) || $read(BList. $+ $network, s, $address($nick,2))) {
      var %IfMatch = $ifmatch
      if (*~r:All* iswm $gettok(%IfMatch,2,124) || *~c:* $+ $chan $+ * iswm $gettok(%IfMatch,2,124)) {
        var %users +1
        ban -k $chan $nick 2 4,1Blacklisted 15,1[Reason: $gettok(%IfMatch,3-,124) ] $KCOUNT
      }
    }
  }
}
Alias -l bcheck {
  var %i = 0
  var %Chan = $1
  while (%i < $nick($1,0)) {
    inc %i
    if ($read(BList. $+ $network, s, $nick($1,%i)) || $read(BList. $+ $network, s, $address($nick($1,%i),2))) {
      var %IfMatch = $ifmatch
      if (*~r:All* iswm $gettok(%IfMatch,2,124) || *~c:* $+ %Chan $+ * iswm $gettok(%IfMatch,2,124)) {
        var %users +1
        ban -k %Chan $nick(%Chan,%i) 2 4,1Blacklisted 15,1[Reason: $gettok(%IfMatch,3-,124) ] $KCOUNT
      }
    }
  }
}
Alias -l B_Check {
  var %i = 0
  while (%i < $comchan($me,0)) {
    inc %i
    if ($me ishop $comchan($me,%i) || $me isop $comchan($me,%i)) {
      $bcheck($comchan($me,%i))
    }
  }
}
alias -l kcount {
  inc %kicks
  Return [  ]
}