All pastes #289498 Raw Edit

Untitled

public text v1 · immutable
#289498 ·published 2006-12-23 05:51 UTC
rendered paste body
#wb on
on *:JOIN:#:{
  wb # $nick
}
#wb end

;/wb <channel> <nick> [<number>]
;Grabs and displays a random WB if one exists for <nick>, if <channel> is 
; in allowed list. if <number> exists, calls that one instead of random
alias wb {
if ( $2 == $null ) { halt }
  if ( $2 != $me ) {
    var %join_numWbs
    var %join_strWB
    var %join_Str
    var join_rand
    if ( $istok(%WBChans, $1, 36) ) {
      %join_numWBs = $readini -n WB.ini $2 Total
      if ( %join_numWBs > 0 ) {
        if ( $3 != $null ) {
          if ( $3 > 0 && $3 <= %join_numWbs ) {
            %join_Str = WB $+ $3
            %join_strWB = $chr(40) $+ 11 $+ [ $3 ] $+ /12 $+ [ %join_numWBs ] $+  $+ $chr(41) $+ : $readini -n WB.ini $2 %join_Str
          }
        }
        else {
          %join_rand = $rand(1 , %join_numWBs)
          %join_Str = WB $+ %join_rand
          %join_strWB = $chr(40) $+ 11 $+ [ %join_rand ] $+ /12 $+ [ %join_numWBs ] $+  $+ $chr(41) $+ : $readini -n WB.ini $2 %join_Str
        }
      }
      if ( %join_strWB != $null ) {
        .timer 1 0 msg $1 15¤1112[ $+ $2 $+ 12]1115¤ [ %join_strWB ]
      }
    }
  }
}

;/addWB <name> <WB>
;adds the WB text in WB for name
alias addWB {
  var %add_numWBs
  var %add_WB $$2-
  %add_numWBs = $readini -n WB.ini $$1 Total
  inc %add_numWBs 1
  writeini -n WB.ini $$1 Total %add_numWBs 
  writeini -n WB.ini $$1 WB $+ %add_numWBs $$2- 
}

;/listWBs <name>
;lists all WBs for name
alias listWBs {
  var %list_WB 
  var %list_numWBs
  var %list_index 1
  var %list_currStr
  %list_numWBs = $readini -n WB.ini $$1 Total
  if ( %list_numWBs > 0 ) {
    while ( %list_index <= %list_numWBs ) {
      %list_currStr = WB $+ %list_index
      %list_WB = $readini -n WB.ini $$1 %list_currStr
      echo -a 7WB $+ %list_index $+ : %list_WB
      inc %list_index 1
    }
  }
}

;/addWBChan <channel>
;Enables channel for WBs
alias addWBChan { %WBChans = $addtok(%WBChans, $$1, 36) }

;/remWB <name> <n>
;removes the nth WB entry of name, unless n is -1, 
;which removes all WBs for that name
alias remWB { 
  var %rem_numWBs
  var %rem_WB
  var %rem_removeStr
  var %rem_currStr
  var %rem_nextStr
  var %rem_currWB
  var %rem_nextWB
  var %rem_index $$2
  %rem_numWBs = $readini -n WB.ini $$1 Total
  if ( $$2 == -1 ) {
    echo -a removing all
    remini WB.ini $$1
  }
  elseif ( $$2 <= %rem_numWBs ) {
    echo -a removing $$2
    while ( %rem_index < %rem_numWBs ) {
      writeini -n WB.ini $$1 WB [ $+ [ %rem_index ] ] $readini WB.ini $$1 WB [ $+ [ $calc( %rem_index + 1) ] ] 
      inc %rem_index 1
    }
    remini WB.ini $$1 WB [ $+ [ %rem_numWBs ] ]
    dec %rem_numWBs 1
    writeini -n WB.ini $$1 Total %rem_numWBs
  }
}