| View previous topic :: View next topic |
| Author |
Message |
Fraud Op
Joined: 19 May 2008 Posts: 101
|
Posted: Wed Dec 17, 2008 9:10 am Post subject: sign in time missing in whois script |
|
|
Hello. I found an old whois script but idletime is not working. Hope u cna help me. Thanks in advance
Tcl error [whois:idle]: wrong # args: should be "set varName ?newValue?"
| Code: | bind pub $whois(acc) ".whois" whois:nick
proc whois:nick { nickname hostname handle channel arguments } {
global whois
set target [lindex [split $arguments] 0]
if {$target == ""} {
putquick "PRIVMSG $channel :Please choose a target first."
return 0
}
if {[string length $target] >= "14"} {
putquick "PRIVMSG $channel :Sorry, That nickname is too long. Please try a user with less than 14 characters."; return
}
if {[regexp -all -- {[~\[\]\{\}\|\_\\]} $target]} {
putquick "PRIVMSG $channel :Sorry, I can't whois a user with special characters in it."; return
}
putquick "WHOIS $target $target"
set ::whoischannel $channel
set ::whoistarget $target
bind RAW - 401 whois:nosuch
bind RAW - 311 whois:info
bind RAW - 319 whois:channels
bind RAW - 301 whois:away
bind RAW - 313 whois:ircop
bind RAW - 330 whois:auth
bind RAW - 317 whois:idle
}
proc whois:putmsg { channel arguments } {
putquick "PRIVMSG $channel :$arguments"
}
proc whois:info { from keyword arguments } {
set channel $::whoischannel
set nickname [lindex [split $arguments] 1]
set ident [lindex [split $arguments] 2]
set host [lindex [split $arguments] 3]
set realname [string range [join [lrange $arguments 5 end]] 1 end]
whois:putmsg $channel "$nickname - $ident@$host * $realname"
unbind RAW - 311 whois:info
}
proc whois:ircop { from keyword arguments } {
set channel $::whoischannel
set target $::whoistarget
whois:putmsg $channel "$target is an IRC Operator"
unbind RAW - 313 whois:ircop
}
proc whois:away { from keyword arguments } {
set channel $::whoischannel
set target $::whoistarget
set awaymessage [string range [join [lrange $arguments 2 end]] 1 end]
whois:putmsg $channel "$target ist away: $awaymessage"
unbind RAW - 301 whois:away
}
proc whois:channels { from keyword arguments } {
set channel $::whoischannel
set channels [string range [join [lrange $arguments 2 end]] 1 end]
set target $::whoistarget
whois:putmsg $channel "$target in $channels"
unbind RAW - 319 whois:channels
}
proc whois:auth { from keyword arguments } {
set channel $::whoischannel
set target $::whoistarget
set authname [lindex [split $arguments] 2]
whois:putmsg $channel "$target ist geauthed als $authname"
unbind RAW - 330 whois:auth
}
proc whois:nosuch { from keyword arguments } {
set channel $::whoischannel
set target $::whoistarget
whois:putmsg $channel "Nickname nicht gefunden \"$target\""
unbind RAW - 401 whois:nosuch
}
proc whois:idle { from keyword arguments } {
set channel $::whoischannel
set target $::whoistarget
set idletime [lindex [split $arguments] 2]
set signon [lindex [split $arguments] 3]
set zeitdiff [unixtime] - $signon
whois:putmsg $channel "$target has been idle for [duration $idletime]. signon time [ctime $signon] $zeitdiff"
unbind RAW - 317 whois:idle
} |
|
|
| Back to top |
|
 |
user

Joined: 18 Mar 2003 Posts: 1452 Location: Norway
|
Posted: Wed Dec 17, 2008 9:35 am Post subject: |
|
|
| Code: | | set zeitdiff [unixtime] - $signon |
should be
| Code: | | set zeitdiff [expr {[unixtime]-$signon}] |
_________________ Have you ever read "The Manual"? |
|
| Back to top |
|
 |
Fraud Op
Joined: 19 May 2008 Posts: 101
|
Posted: Wed Dec 17, 2008 10:28 am Post subject: |
|
|
Thanks works but the output is bit strange
Output:
has been idle for 2 hours 1 minute 16 seconds. signon time Mon Dec 15 16:15:21 2008 169840
Is it possible to get the signon time like signed on 21mins 6secs ago?
Thank u |
|
| Back to top |
|
 |
|