#################################################### # WindropClan @ http://windrop.clan.su # Автор: Vladislav # Версия: 1.1 # Описание: Определяет страну, город или оператора по номеру телефона. # Команда: !номер #################################################### namespace eval defnum { setudef flag no[namespace tail [namespace current]] variable timer 10 variable pbind 1 variable clock 0 foreach bind {номер defnum} {bind pub - $::gprefix(1)$bind [namespace current]::pub; if {$pbind} {bind msg - $::gprefix(1)$bind [namespace current]::msg}} proc msg {nick host hand text} {pub $nick $host $hand $nick $text; return} proc pub {nick host hand chan text} { variable timer; variable clock if {$chan != $nick && [channel get $chan no[namespace tail [namespace current]]]} {return} if {[expr [clock seconds]-$clock] < $timer} {putserv "[expr {$nick == $chan ? "PRIVMSG":"NOTICE"}] $nick :Команда недавно запрашивалась. Повтори попытку через [expr $timer-([clock seconds]-$clock)] сек."; return}; set clock [clock seconds] set text [string trim [string map { {}} [stripcodes cubr $text]]] if {[string is space $text]} {putserv "[expr {$nick == $chan ? "PRIVMSG":"NOTICE"}] $nick :Формат: $::lastbind <номер> - определяет страну, город или оператора по номеру телефона. Пример: \002$::lastbind 89050000000\002"; return} ::http::config -urlencoding cp1251 -useragent "Mozilla/6.0" if {[catch {set parsing [::http::geturl http://www.kody.su/check-tel -binary true -timeout 20000 -query [::http::formatQuery tel $text submit "Определить"]]} error]} {putserv "[expr {$nick == $chan ? "PRIVMSG":"NOTICE"}] $nick :Ошибка: $error"; return} elseif {[http::ncode $parsing] == "404"} {putserv "[expr {$nick == $chan ? "PRIVMSG":"NOTICE"}] $nick :Ошибка: [http::code $parsing]"} elseif {[http::status $parsing] == "ok"} {set data [regsub -all -- {\n|\r|\t|\v} [encoding convertfrom cp1251 [::http::data $parsing]] ""]; regsub -all -- {\s+} $data " " data} elseif {[http::status $parsing] == "timeout"} {putserv "[expr {$nick == $chan ? "PRIVMSG":"NOTICE"}] $nick :Таймаут соединения."} elseif {[http::status $parsing] == "error"} {putserv "[expr {$nick == $chan ? "PRIVMSG":"NOTICE"}] $nick :Ошибка: [http::error $parsing]"} ::http::cleanup $parsing; if {![info exists data]} {return} if {[regexp -nocase -- {
(.*?)(.*?)} $data -> text data]} {
set sborka "$::gcolor(5)$text"
if {[regexp -nocase -- {>Страна:.*?
" "} $text]] "$::gcolor(14)\\1$::gcolor(10)"]"}}
if {[regexp -nocase -- {>Код сотового оператора:.*?