All pastes #125268 Raw Edit

Something

public text v1 · immutable
·published 2006-08-10 14:55 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 *:TEXT:@*:#:{
  if ($hget(perform) == $null) {
    hmake perform 1000
    if ($exists(perform.db) == $true) { hload perform perform.db }
  } 
  if ($1 == @perform) {
    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 ($1 == @resync) { 
    perform.sync
    notice $nick Resynced Perform List
  }
}
alias perform.sync {
  var %i = 1
  while ($hget(perform,%i).data != $null) {
    if ($me !ison $v1) { join $v2 | var %chans = $addtok(%chans,$gettok($v2,1,32),44) }
    inc %i
  }
  var %i = 1
  while ($chan(%i) != $null) {
    var %chan = $v1
    if (!$istok(%chan,%chans,44)) { part %chan Channel not in perform! }
    inc %i
  }
}