All pastes #92182 Raw Edit

Remy

public text v1 · immutable
#92182 ·published 2006-07-19 09:18 UTC
rendered paste body
menu nicklist {
  .Clones:/clone $snick($chan,1)
  .ChanClones:/chanclone $chan
}

menu channel {
  .ChanClones:/chanclone $chan
}

menu status {
  .ChanClones:/chanclone $$?=
}

alias col1 { 
  return $+(04,$1-)
} 

alias col2 { 
  return $+(03,$1-)
} 

alias col3 {
  return $+(02,$1-)
}

alias Chanclone { 
  if (!$1) { set %achanclones.chan $active }
  else {
    if ($me !ison $1) { echo -a $col1(You are not on $+($1,.)) | Halt }
    else { set %achanclones.chan $1 }
  }
  set %achanclones.users $nick(%achanclones.chan,0)
  set %achanclones.user 1
  set $+(%,achanclones.clones,.,%achanclones.chan) 0
  while (%achanclones.user <= %achanclones.users) {
    set %achanclones.nick 1   
    while (%achanclones.nick <= %achanclones.users) {
      if ($address($nick(%achanclones.chan,%achanclones.user),2) iswm $address($nick(%achanclones.chan,%achanclones.nick),2)) {
        if (($nick(%achanclones.chan,%achanclones.user) == $nick(%achanclones.chan,%achanclones.nick)) || ($eval($+(%,achanclones.cloned,.,$nick(%achanclones.chan,%achanclones.nick)),2) == on) || ($eval($+(%,achanclones.cloned,.,$nick(%achanclones.chan,%achanclones.user)),2) == on)) { noop }
        else {
          echo -a $col2($nick(%achanclones.chan,%achanclones.nick) is a clone of $+($nick(%achanclones.chan,%achanclones.user),.))
          inc $+(%,achanclones.clones,.,%achanclones.chan) 
          set $+(%,achanclones.cloned,.,$nick(%achanclones.chan,%achanclones.nick)) on
        }
      }
      inc %achanclones.nick
    }
    inc %achanclones.user 
    unset %achanclones.nick 
  }
  echo -a $col3($+(%achanclones.chan) has $eval($+(%,achanclones.clones,.,%achanclones.chan),2) clone(s).)
  unset %achanclones.*
}

alias clone {
  if (!$1) { echo -a $col1(Please specify a nick.) }
  else {
    set %aclone.nick 1
    set %aclone.users $nick($chan,0)
    set %aclone.clones 0
    while (%aclone.nick <= %aclone.users) {
      if ($address($1,2) iswm $address($nick($chan,%aclone.nick),2)) {
        if ($1 == $nick($chan,%aclone.nick)) { noop }
        else { 
          echo -a $col2($nick($chan,%aclone.nick) is a clone of $+($1,.)) 
          inc %aclone.clones 
        }
      }
      inc %aclone.nick
    }
    echo -a $col3($1 has %aclone.clones clone(s).)
    unset %aclone.*
  }
}