Code: Select all
bind pub - .whois whois:nick
bind pub - !whois whois:nick
proc whois:nick { nickname hostname handle channel arguments } {
global whois
set target [lindex [split $arguments] 0]
if {$target == ""} {
putquick "PRIVMSG $channel :Maaf kakak perintahnya !whois 14nicknya siapa siapa kakak."
return 0
}
if {[string length $target] >= "31"} {
putquick "PRIVMSG $channel :kakak 14$nickname nickname 14$target terlalu panjang kakak."; 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 - 312 whois:server
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 "\[4Whois\] Informasi untuk nick kakak 4$nickname 12:"
whois:putmsg $channel "\[4Whois\] Nickname 12: 14$nickname"
whois:putmsg $channel "\[4Whois\] Identd 12: 14$ident"
whois:putmsg $channel "\[4Whois\] Hostname 12: 14$host"
whois:putmsg $channel "\[4Whois\] Realname 12: 14$realname"
unbind RAW - 311 whois:info
}
proc whois:server { from keyword arguments } {
set channel $::whoischannel
set target $::whoistarget
whois:putmsg $channel "\[4Whois\] status 12: 14$server"
unbind RAW - 312 whois:server
}
proc whois:ircop { from keyword arguments } {
set channel $::whoischannel
set target $::whoistarget
whois:putmsg $channel "\[4Whois\] status 12: 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 "\[4Whois\] Away 12: 14$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 "\[4Whois\] Channels 12: 14$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 "\[4Whois\] status 12: authed 14$authname"
unbind RAW - 330 whois:auth
}
proc whois:nosuch { from keyword arguments } {
set channel $::whoischannel
set target $::whoistarget
whois:putmsg $channel "Kakak 14$nickname nggak online 4$target kakak."
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]
whois:putmsg $channel "\[4Whois\] Idle 12: 14[duration $idletime]. signon time [ctime $signon]"
unbind RAW - 317 whois:idle
}