All pastes #714061 Raw Edit

Miscellany

public text v1 · immutable
#714061 ·published 2007-09-25 22:13 UTC
rendered paste body
on *:load:{
set %disablebl off
write -c "blacklist.txt"
echo -a |Blacklist v0.1
echo -a |Type '/blacklist' to view blacklisted users
echo -a |For more help read the readme.txt, script written by Clode
echo -a |Suggestions or bugs send a mail to Clode@mikke-mus.com
}
on blacklist:join:#:{
  if (%disablebl == On) { halt }
  set %i 21
  :loop
  /dec %i
  set %host $address($nick,%i)
  if ($read("blacklist.txt", w, * $+ %host $+ *)) { set %read $read("blacklist.txt", w, * $+ %host $+ *) | goto next }
  if (%i == 0) { goto exhost }
  goto loop
  :exhost
  if ($read("blacklist.txt", w, * $+ $nick $+ !* $+ $ial($nick).user $+ *)) { set %read $read("blacklist.txt", w, * $+ $nick $+ !* $+ $ial($nick).user $+ *) | goto next }
  if ($read("blacklist.txt", w, * $+ $nick $+ *!* $+ $ial($nick).user $+ *)) { set %read $read("blacklist.txt", w, * $+ $nick $+ *!* $+ $ial($nick).user $+ *) | goto next }
  if ($read("blacklist.txt", w, * $+ $nick $+ *! $+ $ial($nick).user $+ *)) { set %read $read("blacklist.txt", w, * $+ $nick $+ ! $+ $ial($nick).user $+ *) | goto next }
  if ($read("blacklist.txt", w, * $+ $nick $+ ! $+ $ial($nick).user $+ *)) { set %read $read("blacklist.txt", w, * $+ $nick $+ ! $+ $ial($nick).user $+ *) | goto next }
  if ($read("blacklist.txt", w, * $+ $ial($nick).user $+ *)) { set %read $read("blacklist.txt", w, * $+ $ial($nick).user $+ *) | goto next }
  if ($read("blacklist.txt", w, * $+ $nick $+ *)) { set %read $read("blacklist.txt", w, * $+ $nick $+ *) | goto next }  
  :next
  .timer 1 1 kick # $nick $nopath(%read) $+ , Blacklisted
  .timer 1 1 ban # $nick 3
}
on *:join:#:if ($nick == $me) { /who # }
dialog blacklist {
  title "Blacklist"
  size -1 -1 177 133
  option dbu
  box "Blacklist view", 2, 2 1 173 130
  list 1, 7 23 162 88, hsbar vsbar
  button "Add", 7, 7 113 31 12
  button "Edit", 3, 73 113 31 12
  button "Delete", 4, 40 113 31 12
  button "Clear list", 5, 106 113 31 12
  check "Disable", 6, 7 10 30 10
  button "Close", 8, 139 113 31 12, ok
}
dialog Ablack {
  title "Blacklist Add"
  size -1 -1 183 39
  option dbu
  box "Blacklist Add", 1, 2 0 179 37
  edit "", 2, 30 9 107 11, autohs %breason
  edit "", 3, 30 21 147 11, autohs %breason
  text "Reason:", 4, 5 11 20 9
  text "Address:", 5, 5 23 22 9
  button "Done", 6, 139 9 37 11, ok
}

on *:dialog:Ablack:sclick:6:{
  .timer 1 0 ablack
  .timer 1 0 if ($dialog(Blacklist)) { /loadbuf -ro blacklist 1 $+(",blacklist.txt,") }
}
on *:dialog:Ablack:init:0:{
  did -ra ablack 2 %reason
  did -ra ablack 3 %addrss
}

on *:dialog:Ablack:close:0:{
  unset %reason
  unset %addrss
  unset %read
}
on *:dialog:blacklist:sclick:6:{ if ($did(blacklist,6).state == 0) { unset %disablebl } | if ($did(blacklist,6).state == 1) { set %disablebl On } }
on *:dialog:blacklist:sclick:5:{
  set %blackclear $?!="Are you sure?"
  if (%blackclear == $true) { write -c $+(",blacklist.txt,") | /loadbuf -ro $dname 1 $+(",blacklist.txt,") | /rlevel blacklist }
  unset %blackclear
}
on *:dialog:blacklist:sclick:4:{  
  set %ruser $remove($nofile($did($dname,1,$did(1).sel).text),\)
  ruser blacklist %ruser
  write -dl $+ $did(1).sel $+(",blacklist.txt,")
  loadbuf -ro $dname 1 $+(",blacklist.txt,")
  unset %ruser
}
on *:dialog:blacklist:sclick:3:{
  if ($did(1).sel == $null) { halt }
  set %reason $nopath($did($dname,1,$did(1).sel).text)
  set %addrss $remove($nofile($did($dname,1,$did(1).sel).text),\)
  set %bLine $did(1).sel
  set %blacklistbajs Yeah
  dialog -m eblack eblack
}
on *:dialog:blacklist:sclick:7:{
  set %bLine $did(1).sel
  set %blacklistbajs Yeah
  dialog -m ablack ablack
}
on *:dialog:blacklist:dclick:1:{
  set %reason $nopath($did($dname,1,$did(1).sel).text)
  set %addrss $remove($nofile($did($dname,1,$did(1).sel).text),\)
  dialog -m eblack eblack
}
on *:dialog:blacklist:init:0:{
  if ($lines($+(",blacklist.txt,")) != 0) { loadbuf -ro $dname 1 $+(",blacklist.txt,") }
  if (%disablebl == On) { did -c $dname 6 }
}
dialog Eblack {
  title "Blacklist Edit"
  size -1 -1 183 39
  option dbu

  box "Blacklist Edit", 1, 2 0 179 37
  edit "", 2, 30 9 107 11, autohs %breason
  edit "", 3, 30 21 147 11, autohs %breason
  text "Reason:", 4, 5 11 20 9
  text "Address:", 5, 5 23 22 9
  button "Done", 6, 139 9 37 11, ok
}
on *:dialog:eblack:sclick:6:{
  .timer 1 0 eblack
  .timer 1 0 if ($dialog(Blacklist)) { /loadbuf -ro blacklist 1 $+(",blacklist.txt,") }
}
on *:dialog:eblack:init:0:{
  did -ra eblack 2 %reason
  did -ra eblack 3 %addrss
}
on *:dialog:eblack:close:0:{
  unset %reason
  unset %addrss
  unset %read
}
menu nicklist {
  User Lists
  .Blacklist
  ..$iif($read($+(",blacklist.txt,"),w, $+ $address($$1,3) $+ *), $style(2)) Add:{
    unset %bLine
    unset %blacklistbajs
    unset %addrss
    unset %bnick  
    unset %read
    unset %addrss
    unset %reason  unset %bLine  unset %blacklistbajs
    unset %breason
    unset %baddress
    unset %eid2
    unset %eid
    set %bnick $$1
    if ($me == $$1) { echo $active $timestamp Blacklist Error: You can't add your self to the blacklist | halt }
    set %reason $$?="Enter blacklist reason:"
    set %blacklist $address(%bnick,3)
    .timer 1 0 write $+(",blacklist.txt,") %blacklist \ %reason | echo $active $timestamp Blacklist: " $+ %blacklist $+ " added with reason: " $+ %reason $+ "
    .guser blacklist $$1 3 | set %comchans $comchan(%bnick,0)
    allkick 
  }
  ..-
  ..$iif($read($+(",blacklist.txt,"),w, $+ $address($$1,3) $+ *) == $null,$style(2)) Edit:{ set %addrss $address($$1,3)
    unset %addrss
    unset %bnick  
    unset %read
    unset %addrss
    unset %reason
    unset %bLine
    unset %blacklistbajs
    unset %breason
    unset %baddress
    unset %eid2
    unset %eid
    set %read $read($+(",blacklist.txt,"),w, $+ $address($$1,3) $+ *) set %addrss $remove($nofile(%read),\)
    set %reason $nopath(%read)
    set %bnick $$1
    dialog -m Eblack Eblack
  }
  ..$iif($read($+(",blacklist.txt,"),w, $+ $address($$1,3) $+ *) == $null,$style(2)) Remove:{
    unset %addrss
    unset %bnick    
    unset %read
    unset %addrss
    unset %reason
    unset %bLine
    unset %blacklistbajs
    unset %breason  
    unset %baddress
    unset %eid2
    unset %eid
    set %blacklist $address($$1,3)
    if ($read($+(",blacklist.txt,"),w,%blacklist $+ *)) { .ruser blacklist $$1 3 | write -d $+(",blacklist.txt,") %blacklist $+ * | echo $active $timestamp Blacklist: " $+ %blacklist $+ " deleted! }
    :end  
    unset %reason unset %blacklist
  }
  ..-
  ..View blacklist:{
    unset %addrss
    unset %bnick  
    unset %read
    unset %addrss
    unset %reason
    unset %bLine
    unset %blacklistbajs
    unset %breason
    unset %baddress
    unset %eid2
    unset %eid
    /unset %bLine
    /unset %blacklistbajs 
    /dialog -m blacklist blacklist
  }
}
menu query {
  User Lists
  .Blacklist
  ..$iif($read($+(",blacklist.txt,"),w, $+ $address($active,3) $+ *), $style(2)) Add:{
    unset %bLine
    unset %blacklistbajs
    unset %addrss
    unset %bnick  
    unset %read
    unset %addrss
    unset %reason  
    unset %bLine  
    unset %blacklistbajs
    unset %breason
    unset %baddress
    unset %eid2
    unset %eid
    set %bnick $active
    if ($me == $active) { echo $active $timestamp Blacklist Error: You can't add your self to the blacklist | halt }
    set %reason $$?="Enter blacklist reason:"
    set %blacklist $address(%bnick,3)
    .timer 1 0 write $+(",blacklist.txt,") %blacklist \ %reason | echo $active $timestamp Blacklist: " $+ %blacklist $+ " added with reason: " $+ %reason $+ "
    .guser blacklist $active 3 | set %comchans $comchan(%bnick,0)
    allkick 
  }
  ..-
  ..$iif($read($+(",blacklist.txt,"),w, $+ $address($active,3) $+ *) == $null,$style(2)) Edit:{ 
    set %addrss $address($active,3)
    unset %addrss
    unset %bnick  
    unset %read
    unset %addrss
    unset %reason
    unset %bLine
    unset %blacklistbajs
    unset %breason
    unset %baddress
    unset %eid2
    unset %eid
    set %read $read($+(",blacklist.txt,"),w, $+ $address($active,3) $+ *) set %addrss $remove($nofile(%read),\)
    set %reason $nopath(%read)
    set %bnick $active
    dialog -m Eblack Eblack
  }
  ..$iif($read($+(",blacklist.txt,"),w, $+ $address($active,3) $+ *) == $null,$style(2)) Remove:{
    unset %addrss
    unset %bnick    
    unset %read
    unset %addrss
    unset %reason
    unset %bLine
    unset %blacklistbajs
    unset %breason  
    unset %baddress
    unset %eid2
    unset %eid
    set %blacklist $address($active,3)
    if ($read($+(",blacklist.txt,"),w,%blacklist $+ *)) { .ruser blacklist $active 3 | write -d $+(",blacklist.txt,") %blacklist $+ * | echo $active $timestamp Blacklist: " $+ %blacklist $+ " deleted! }
    :end  
    unset %reason unset %blacklist
  }
  ..-
  ..View blacklist:{
    unset %addrss
    unset %bnick  
    unset %read
    unset %addrss
    unset %reason
    unset %bLine
    unset %blacklistbajs
    unset %breason
    unset %baddress
    unset %eid2
    unset %eid
    /unset %bLine
    /unset %blacklistbajs 
    /dialog -m blacklist blacklist
  }
}

alias eblack {
  echo $active -> %baddress a -> %breason
  .ruser blacklist %baddress
  if (%blacklistbajs == Yeah) { write -dl $+ %bLine $+(",blacklist.txt,") | goto next }
  write -d $+(",blacklist.txt,") %baddress \ %breason
  :next
  write $+(",blacklist.txt,") %baddress \ %breason
  echo $active $timestamp Blacklist Addressmark is now: " $+ %baddress $+ ", Reason is now: " $+ %breason $+ "
  if (%blacklistbajs == Yeah) { .auser blacklist %baddress | goto nextnext }
  .auser blacklist %baddress 
  :nextnext 
  unset %addrss
  unset %bnick  
  unset %read
  unset %addrss
  unset %reason
  unset %bLine
  unset %blacklistbajs
  unset %breason
  unset %baddress
  unset %eid2
  unset %eid
  if ($dialog(Blacklist)) { /loadbuf -ro blacklist 1 $+(",blacklist.txt,") }
}
alias ablack {
  echo $active -> %baddress -> %breason
  write $+(",blacklist.txt,") %baddress \ %breason
  .auser blacklist %baddress
  unset %addrss
  unset %bnick  
  unset %read
  unset %addrss
  unset %reason
  unset %bLine
  unset %blacklistbajs
  unset %breason
  unset %baddress
  unset %eid2
  unset %eid
  if ($dialog(Blacklist)) { /loadbuf -ro blacklist 1 $+(",blacklist.txt,") }
}

alias allkick {
  set %comchans $comchan(%bnick,0)
  if (%comchans == 0) { goto end }
  unset %i
  :i
  inc %i
  if ($me isop $comchan(%bnick,%i)) { .timer 1 0 ban $comchan(%bnick,%i) %bnick 3 | .timer 1 0 kick $comchan(%bnick,%i) %bnick %reason $+ , Blacklisted }
  if (%i == %comchans) { goto end }
  goto i
  :end
  unset %comchans
  unset %bnick
  unset %i
  unset %blacklist
  unset %reason
  unset %bnick
}
alias blacklist /dialog -m blacklist blacklist
alias f7 /dialog -m blacklist blacklist
on *:op:#:if ($me == $opnick) { onopkick }
alias onopkick {
  if (%disablebl == On) { halt }
  set %ticks $ticks
  unset %i
  unset %nick
  unset %n
  if (%disablebl == On) { goto end }
  set %chan #
  set %chanT $nick(%chan,0)
  :loop
  unset %read
  inc %n
  set %i $nick(%chan,%n)
  set %host $address(%i,3)
  set %read $read("blacklist.txt", w, * $+ $address(%i,3) $+ *)
  if ($read("blacklist.txt", w, * $+ %host $+ *)) { .timer 1 0 kick # %i $nopath(%read) $+ , Blacklisted | .timer 1 0 ban # %i 3 }
  :next
  if (%n == %chanT) { goto end }
  goto loop  
  :end
  echo -a $timestamp Done scaning for blacklisted users in $calc($ticks - %ticks) ms
  if (%chan != $active) { echo %chan $timestamp Done scaning for blacklisted users in $calc($ticks - %ticks) ms }
}