!seen remote


; ##################################
; # Seen Remote - Edit by AbangCik    #
; ##################################

on *:load: if (!$hget(seen)) hmake seen 100

on *:TEXT:!seen*:#:{
  if (!$hget(seen)) hmake seen 100
  if ($2) {
    if ($2 ison $chan) msg $chan $2 is already in the channel.
    else {
      if ($hget(seen,$2)) msg $chan $2 was last seen $hget(seen,$2)
      else { msg $chan $2 isn't in the seen database. }
    }
  }
}

on *:TEXT:*:#:{
  if ($hget(seen,$nick)) hdel seen $nick
  .hadd -m seen $nick $seen.msg(text)
}

on *:KICK:*:#:{
  if ($nick != $me) {
    if ($hget(seen,$nick)) hdel seen $nick
    .hadd -m seen $nick $seen.msg(kick)
  }
}

on *:PART:#:{
  if ($nick != $me) {
    if ($hget(seen,$nick)) hdel seen $nick
    .hadd -m seen $nick $seen.msg(part)
  }
}

on *:JOIN:#:{
  if ($nick != $me) {
    if ($hget(seen,$nick)) hdel seen $nick
    .hadd -m seen $nick $seen.msg(join)
  }
}

on *:QUIT:{
  if ($nick != $me) {
    if ($hget(seen,$nick)) hdel seen $nick
    .hadd -m seen $nick $seen.msg(quit)
  }
}

on *:ACTION:#:{
  if ($nick != $me) {
    if ($hget(seen,$nick)) hdel seen $nick
    .hadd -m seen $nick $seen.msg(act)
  }
}

on *:NICK:{
  if ($nick != $me) {
    if ($hget(seen,$nick)) hdel seen $nick
    .hadd -m seen $newnick $seen.msg(nick)
  }
}
on *:START:{
  if (!$hget(seen)) hmake seen 100
  hload seen seen.hsh
}

on *:EXIT:{
  if ($hget(seen)) {
    hsave -o seen seen.hsh
  }
}


alias seen.msg {
  if ($1 = text) return Saying $1- in $chan at $time(h:nntt) on $+($date,.)
  if ($1 = part) return Leaving $chan at $time(h:nntt) on $+($date,.)
  if ($1 = join) return Joining $chan at $time(h:nntt) on $+($date,.)
  if ($1 = act) return Describing to $+($chan,:) $1- at $time(h:nntt) on $+($date,.)
  if ($1 = quit) return Quitting $chan with message: $1- at $time(h:nntt) on $+($date,.)
  if ($1 = nick)  return $newnick has changed from original nick $+($chr(40),$nick,$chr(41)) at $time(h:nntt) on $+($date,.)
  if ($1 = kick) return Being kicked by $nick at $time(h:nntt) on $+($date,.)
}

; #### DIALOG ####

dialog seen_dial. {
  title "Seen system: "
  size -1 -1 275 96
  option pixels notheme
  edit "", 2, 5 66 263 27, read autohs
  edit "", 4, 11 10 161 20
  button "Search", 5, 182 8 65 25
  edit "", 1, 11 37 245 20, read
}


on *:dialog:seen_dial.:sclick:5:{
  if ($did($dname,4).text) {
    did -ra $dname 1 $hget(seen,$v1).item
    did -ra $dname 2 $hget(seen,$did($dname,1).text).data
  }
}

alias call_seen dialog $iif($dialog(seen_dial.),-v,-md) seen_dial. seen_dial.

alias call_seen dialog $iif($dialog(seen_dial.),-v,-md) seen_dial. seen_dial.

No comments: