All pastes #123958 Raw Edit

Visitor(s) Script

public text v1 · immutable
·published 2006-08-09 18:47 UTC
rendered paste body
on *:Start:{
  if (!$hget(Visits)) {
    hmake Visits
  }
  if ($exists(Visits.txt)) {
    hload Visits Visits.txt
  }
}

on *:Exit:{
  hsave Visits Visits.txt
}

on *:Join:#:{
  var %x = $calc($gettok($hget(Visits,$+($network,.,Count,.,$chan)),1,32) + 1)
  var %y = $calc($gettok($hget(Visits,$+($network,.,$chan,.,$nick)),1,32) + 1)
  if (!$hget(Visits,$+($network,.,$chan,.,$nick))) {
    notice $nick Welcome to $+($chan,$chr(44)) $+($nick,.) You are the $ord(%x) person to join $+($chan,.)
    hadd Visits $+($network,.,$chan,.,$nick) %y $asctime(mm/dd/yyyy) $ctime
    hinc Visits $+($network,.,Count,.,$chan) 
  }
  else {
    notice $nick Welcome to $+($chan,$chr(44)) $+($nick,.) This is your $ord(%y) visit to $+($chan,.) Your last visit was on $+($gettok($hget(Visits,$+($network,.,$chan,.,$nick)),2,32),$chr(44)) $duration($calc($ctime - $gettok($hget(Visits,$+($network,.,$chan,.,$nick)),3,32))) ago.
    hadd Visits $+($network,.,$chan,.,$nick) %y $asctime(mm/dd/yyyy) $ctime
  }
}

on $*:Text:/^[!@]Visitors/Si:#:{
  var %target $iif($left($1,1) == @,msg $chan,notice $nick)
  if (!$2) {
    var %chan $chan
  }
  else {
    if ($left($2,1) == $chr(35)) {   
      var %chan $2
    } 
    else {
      var %chan $+($chr(35),$2)
    }
  }
  if (!$hget(Visits,$+($network,.,Count,.,%chan))) {
    %target I have not recorded anyone joining $+(%chan,.)
  }
  elseif ($gettok($hget(Visits,$+($network,.,Count,.,%chan)),1,32) = 1) {
    %target %chan has had 1 visitor.
  }
  else {
    %target %chan has had $bytes($gettok($hget(Visits,$+($network,.,Count,.,%chan)),1,32),b) visitors.
  }
}

on $*:Text:/^[!@]Visits/Si:#:{
  var %target $iif($left($1,1) == @,msg $chan,notice $nick)
  if (!$2) {
    var %nick $nick
    var %chan $chan
  }
  else {
    var %nick $2
    if (!$3) {
      var %chan $chan
    }
    else {
      if ($left($3,1) == $chr(35)) {
        var %chan $3
      }
      else {
        var %chan $+($chr(35),$3)
      }
    }
  }
  if (!$hget(Visits,$+($network,.,%chan,.,%nick))) {
    %target I have not recorded %nick joining $+(%chan,.)
  }
  elseif ($gettok($hget(Visits,$+($network,.,%chan,.,%nick)),1,32) == 1) {
    %target %nick has visited %chan 1 time, their last visit was on $+($gettok($hget(Visits,$+($network,.,%chan,.,%nick)),2,32),$chr(44)) $duration($calc($ctime - $gettok($hget(Visits,$+($network,.,%chan,.,%nick)),3,32))) ago.
  }
  else {
    %target %nick has visited %chan $bytes($gettok($hget(Visits,$+($network,.,%chan,.,%nick)),1,32),b) times, their last visit was on $+($gettok($hget(Visits,$+($network,.,%chan,.,%nick)),2,32),$chr(44)) $duration($calc($ctime - $gettok($hget(Visits,$+($network,.,%chan,.,%nick)),3,32))) ago.
  }
}