Welcome

User: Pass:   register


/*
this will store info about someone every time an event occurs, then when someone types !seen <nick>, it will message the latest info gathered about <nick>.
i've included a small dialog so you can browse through the "database" (accessed via click the menubar or right clicking channel/status windows).
*/
on *:join:#:{ hadd -m seen $nick last seen joining # at $time on $date ( $+ $iif($network,$network,$server) $+ ) }
on *:part:#:{ hadd -m seen $nick last seen parting # at $time on $date ( $+ $iif($network,$network,$server) $+ ) }
on *:quit:{ hadd -m seen $nick last seen quitting at $time on $date ( $+ $iif($network,$network,$server) $+ ) }
on *:text:*:?:{ hadd -m seen $nick last seen querying me at $time on $date ( $+ $iif($network,$network,$server) $+ ) }
on *:action:*:#:{ hadd -m seen $nick last seen saying $+(",$1-,") in # on $time at $date ( $+ $iif($network,$network,$server) $+ ) }
on *:action:*:?:{ hadd -m seen $nick last seen querying me at $time on $date ( $+ $iif($network,$network,$server) $+ ) }
on *:notice:*:#:{ hadd -m seen $nick last seen saying $+(",$1-,") in # on $time at $date ( $+ $iif($network,$network,$server) $+ ) }
on *:action:*:?:{ hadd -m seen $nick last seen querying me at $time on $date ( $+ $iif($network,$network,$server) $+ ) }
on *:topic:#:{ hadd -m seen $nick last seen changing the topic to $+(",$1-,") in # at $time on $date ( $+ $iif($network,$network,$server) $+ ) }
ctcp *:*:*:{ hadd -m seen $nick last seen ctcping me on $time at $date ( $+ $iif($network,$network,$server) $+ ) }
on *:text:*:#:{ 
  if $1 != !seen { hadd -m seen $nick last seen saying $+(",$1-,") in # at $time on $date ( $+ $iif($network,$network,$server) $+ ) }
  elseif $1 == !seen {
    inc -u5 %seen
    if %seen == 3 { 
      .notice $nick flood control enabled, please wait.. 
      return
    }
    elseif %seen > 3 { return }
    if $2 {
      hadd -m seen $nick last seen looking for $2
      if $2 == $me { .notice $nick i'm right here. } 
      elseif $2 == $nick { .notice $nick ask a mirror. }
      elseif $2 != $me && $2 != $nick {
        if $2 ison # { .notice $nick $2 is in # now. }
        elseif $2 !ison # { 
          if $hget(seen,$2) { .notice $nick $2 $replace($hget(seen,$2),looking for $nick,looking for you) }
          elseif !$hget(seen,$2) { .notice $nick $2 has not been seen by me yet. }
        }
      }
    }
    elseif !$2 { .notice $nick there are $iif($hget(seen,0).item,$ifmatch,no) entries in my database. }
  }
}
on *:input:#:{
  if $1 == !seen {
    inc -u5 %seen
    if %seen == 3 { 
      .notice $nick flood control enabled, please wait.. 
      return
    }
    elseif %seen > 3 { return }
    if $2 {
      if $2 == $me { .notice $me ask a mirror. }
      elseif $2 != $me {
        if $2 ison # { .notice $me $2 is in # now }
        elseif $2 !ison # {
          if $hget(seen,$2) { .notice $nick $2 $replace($hget(seen,$2),looking for $nick,looking for you) }
          elseif !$hget(seen,$2) { .notice $nick $2 has not been seen by me yet. }
        }
      }
    }
    elseif !$2 { .notice $nick there are $iif($hget(seen,0).item,$ifmatch,no) entries in my database. }
  }
}
on *:mode:#:{ 
  hadd -m seen $nick last seen setting mode $+(",$1-,") on # at $time on $date ( $+ $iif($network,$network,$server) $+ )
  if b isin $1 { hadd -m seen $2 being $iif(- isin $1,un) $+ banned from # at $time on $date ( $+ $iif($network,$network,$server) $+ ) }
  if o isin $1 { hadd -m seen $2 being $iif(- isin $1,de) $+ opped in # at $time on $date ( $+ $iif($network,$network,$server) $+ ) }
  if h isin $1 { hadd -m seen $2 being $iif(- isin $1,de) $+ hopped in # at $time on $date ( $+ $iif($network,$network,$server) $+ ) }
  if v isin $1 { hadd -m seen $2 being $iif(- isin $1,de) $+ voiced in # at $time on $date ( $+ $iif($network,$network,$server) $+ ) }
}
on *:kick:#:{ 
  hadd -m seen $nick last seen kicking $knick from # for $+(",$1-,") at $time on $date ( $+ $iif($network,$network,$server) $+ )
  hadd -m seen $knick last seen getting kicked from # for $+(",$1-,") at $time on $date ( $+ $iif($network,$network,$server) $+ )
}
on *:nick:{ 
  hadd -m seen $nick last seen changing nicks to $newnick at $time on $date ( $+ $iif($network,$network,$server) $+ ) 
  hadd -m seen $newnick last seen changing nicks from $nick at $time on $date ( $+ $iif($network,$network,$server) $+ ) 
}
on *:start:{
  if $isfile(" $+ $scriptdirseen.hsh") { 
    .hmake seen 100
    .hload seen " $+ $scriptdirseen.hsh"
  }
}
on *:exit:{
  if $hget(seen) { .hsave -o seen " $+ $scriptdirseen.hsh" }
}
dialog seen {
  title "seen system"
  size -1 -1 144 91
  option dbu
  box "", 1, 0 0 144 52
  list 2, 2 9 140 39, size vsbar sort
  box "seen", 3, 0 54 144 23
  text "search for:", 4, 1 82 28 8
  edit "", 5, 31 81 50 10, autohs
  button "search", 6, 82 81 20 10
  edit "", 7, 2 64 140 10, read autohs
}
on *:dialog:seen:*:*:{
  if $devent == init {
    did -a $dname 1 $hget(seen,0).item matches
    did -a $dname 5 *
    var %i 1
    while $hget(seen,%i).item {
      did -a $dname 2 $hget(seen,%i).item
      inc %i
    }
  }
  elseif $devent == sclick {
    if $did == 2 { did -ra $dname 7 $hget(seen,$did(2).seltext) }
    elseif $did == 6 { 
      did -r $dname 1,2,7
      var %i 1
      while $hfind(seen,$+(*,$$did(5),*),%i,w) {
        did -a $dname 2 $hmatch(seen,$+(*,$$did(5),*),%i,w)
        inc %i
      }
      did -ra $dname 1 $iif($did(2).lines,$ifmatch,no) match $+ $iif($did(2).lines > 1,es)
    }
  }
}
menu status,channel,menubar {
  seen database: dialog -m seen seen
}






© 1996-2010 hdesk.org and dalnethelpdesk.com