# Simple eggdrop uptime script
# Description: 
#  - An os independent eggdrop uptime script. I know it's too simple but it 
#    seems hard to find a decent script that doesn't use the shell uptime
#    but the actual uptime of the eggdrop. 
# HomePage: http://www.ofloo.net/
# Mail: support[at]ofloo.net

# SETTINGS:

#Set trigger
set time(dcc) "buptime"
set time(msg) "uptime"
set time(pub) "!uptime"

#set time(col1) "\00314"
#set time(col2) "\0034"
set time(col1) ""
set time(col2) ""

set vrs "0.1"

############################################################################
# BINDS

bind pub - $time(pub) uptime:pub
bind dcc - $time(dcc) uptime:dcc
bind msg - $time(msg) uptime:msg

# PROCS

proc uptime:pub {nick uhost hand chan arg} {
  putserv "PRIVMSG $chan :\[4x]: [eggtime]"
}

proc uptime:msg {nick uhost hand arg} {
  putserv "PRIVMSG $nick :\[4x]: [eggtime]"
}

proc uptime:dcc {hand idx arg} {
  putdcc $idx "\[4x]: [eggtime]"
}

proc eggtime {} {
  set ::time(uptime) [expr [clock seconds]-$::uptime]
  set ::time(week) [expr $::time(uptime)/4492800]
  set ::time(uptime) [expr $::time(uptime)-$::time(week)*4492800]
  set ::time(days) [expr $::time(uptime)/86400]
  set ::time(uptime) [expr $::time(uptime)-$::time(days)*86400]
  set ::time(hour) [expr $::time(uptime)/3600]
  set ::time(uptime) [expr $::time(uptime)-$::time(hour)*3600]
  set ::time(mins) [expr $::time(uptime)/60]
  set ::time(uptime) [expr $::time(uptime)-$::time(mins)*60]
  set ::time(secs) $::time(uptime)
  set ::time(return) "$::time(col2)online $::time(col1)for$::time(col2) $::time(week) $::time(col1)week$::time(col2) $::time(days) $::time(col1)day$::time(col2) $::time(hour) $::time(col1)hour$::time(col2) $::time(mins) $::time(col1)minutes$::time(col2) $::time(secs) $::time(col1)seconds."
  return $::time(return)
}

putlog "\[4x]: Utility, Eggdrop Uptime. Loaded."