All pastes #125426 Raw Edit

Unnamed

public text v1 · immutable
·published 2006-08-10 17:18 UTC
rendered paste body
;on *:CONNECT:{
on *:NOTICE:*:?:{
 if ($nick == AuthServ) && (I recognize you. == $1-) {
  mode $me +x
  if ($hget(perform) == $null) {
    hmake perform 1000
    if ($exists(perform.db) == $true) { hload perform perform.db }
  } 
  var %i = 1
  while ($hget(perform,%i).data != $null) {
    join $v1 | inc %i
  }
}
}
on 500:TEXT:@*perform*:#:{
  if ($hget(perform) == $null) {
    hmake perform 1000
    if ($exists(perform.db) == $true) { hload perform perform.db }
  } 
  if ($1 == @perform) && ($2 != resync) {
    if ($2 == $null) {
      var %i = 1
      while ($hget(perform,%i).data != $null) {
        var %chans = $addtok(%chans,$gettok($v1,1,32),44)
        inc %i
      }
      if (%chans == $null) { notice $nick There is no channels in perform. | return }
      notice $nick Current perform list:
      notice $nick %chans
      return
    }
    if ($hfind(perform,$2,1).data != $null) && ($hfind(perform,$2 *,1,w).data != $null) {
      notice $nick Channel  $+ $2 $+  is already in perform.
      return
    }
    else {
      hadd perform $hget(perform,0).item $2-3
      notice $nick Added  $+ $2 $+  to perform..
      hsave perform perform.db
      perform.sync
    }
  }
  if ($1 == @unperform) {
    if ($2 == $null) {
      notice $nick You must specify a channel.
      return
    }
    if ($hfind(perform,$2,1).data == $null) && ($hfind(perform,$2 *,1,w).data == $null) {
      notice $nick Channel  $+ $2 $+  isn't in the perform list.
      return
    }
    else {
      if ($hfind(perform,$2,1).data != $null) { hdel perform $v1 }
      if ($hfind(perform,$2 *,1,w).data != $null) { hdel perform $v1 }
      notice $nick Removed  $+ $2 $+  from the perform list.
      hsave perform perform.db
perform.sync
    }
  }
   if ($2 == resync) { 
       perform.sync
       notice $nick Resynced Perform List
  }
}
alias perform.sync {
 var %i = 1
 while ($hget(perform,%i).data != $null) {
  if ($me !ison $gettokk($hget(perform,%i).data,1,32)) {
   join $hget(perform,%i).data 
   var %chans = $addtok(%chans,$gettok($hget(perform,%i).data,1,32),44)
  }
  inc %i
 }
 var %i = 1
 while ($chan(%i) != $null) {
  var %chan = $chan(%i)
  if ($istok(%chans,%chan,44) == $false) { part %chan Channel not in perform! }
  inc %i
  }
}