Merhaba,
Bu TCL ile #Opers kanalında birine whois çekip bilgileri yansıtabilirsiniz, basit bir TCL belki işe yarar diye paylaşıyorum. Türkçeye çevirip 1-2 ekleme yaptıklarımdan biri bu da. Kullanım;
!whois Nick
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
set whois(author) "Nickiniz"
set whois(version) "1.8"
set whois(acc) ""
# Düzenleme bitti
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 :Bişey yazmadın, nick vermedin?"
return 0
}
# if {[string length $target] >= "15"} {
# putquick "PRIVMSG $channel :Sence de bir nick için aşırı uzun bir kelime yazmadın mı?"; return
# }
# if {[regexp -all -- {[~\[\]\{\}\|\_\\]} $target]} {
# putquick "PRIVMSG $channel :Üzgünüm, farsça bilmiyorum. Özel karakterli nickler yazma."; 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
bind RAW - 307 whois:reged
}
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 bir sunucu yetkilisi."
unbind RAW - 313 whois:ircop
}
proc whois:reged { from keyword arguments } {
set channel $::whoischannel
set target $::whoistarget
whois:putmsg $channel "$target şifreli (kayıtlı) bir nicktir."
unbind RAW - 307 whois:reged
}
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 şu an away konumunda: $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 nicki $channels kanallarında bulunuyor."
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 orjinal nicki: $authname"
unbind RAW - 330 whois:auth
}
proc whois:nosuch { from keyword arguments } {
set channel $::whoischannel
set target $::whoistarget
whois:putmsg $channel "Böyle bir nick yok: \"$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]
whois:putmsg $channel "$target konuşmadığı süre: [duration $idletime]. Giriş zamanı: [ctime $signon]"
unbind RAW - 317 whois:idle
}