##########
# Автор: DmitRex
# Версия: 1.1
# Команда: !sms
#########
setudef flag flagsms
# Цвета
set smscolor(1) "\00304"
set smscolor(2) "\00303"
bind pub - !sms sms
proc sms {nick uhost hand chan text} {
if {![channel get $chan flagsms]} {
putserv "notice $nick : $::smscolor(1) Команда $::smscolor(2) !sms$::smscolor(1) отключена на этом канале."
return
}
if {$text == ""} {
putserv "notice $nick : $::smscolor(1)Используй: $::smscolor(2)!sms$::smscolor(1) <короткий номер> - попытка выяснить стоимость СМС на указанный короткий номер."
return
}
if {![string is digit $text]} {
putserv "notice $nick : $::smscolor(1)Ошибка. Номер нужно указывать цифрами."
return
}
if {[string length $text] != 4} {
putserv "notice $nick : $::smscolor(1)Ошибка. Номер должен состоять из $::smscolor(2) 4 $::smscolor(1) цифр."
return
}
::http::config -useragent "Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)"
set parsing_tok [::http::geturl "http://m.smsnumbers.ru/sms/$text" -timeout 20000]
set data [regsub -all -- {\n|\r|\t|\v} [::http::data $parsing_tok] ""]
::http::cleanup $parsing_tok
if {[regexp -nocase -- {<table class="adv">(.*?)</table>} $data -> data]} {
regsub -all -- {<tr>|</tr>} $data "" data
regsub -all -- {\s+} $data " " data
regexp {<td style="color:#7A8277">Тип:</td><td>(.*?)</td>} $data "" a
regexp {<td style="color:#7A8277">Услуги:</td><td>(.*?)</td>} $data "" b
regexp {<td style="color:#7A8277">Компания:</td><td>(.*?)</td>} $data "" c
regexp {<td style="color:#7A8277">Сайт:</td><td><noindex><a href="(.*?)" rel="nofollow" target="_blank">(.*?)</a></noindex></td>} $data "" d e
regexp {td style="color:#7A8277">Телефон:</td><td>(.*?)</td>} $data "" f
regexp {<td style="color:#7A8277">E-mail:</td><td><a href="mailto:(.*?)" rel="nofollow">(.*?)</a></td>} $data "" g h
set parsing_tok1 [::http::geturl "http://m.smsnumbers.ru/sms/$text" -timeout 20000]
set data1 [regsub -all -- {\n|\r|\t|\v} [::http::data $parsing_tok1] ""]
::http::cleanup $parsing_tok
if {[regexp -nocase -- {<table class="tbl" style="margin:0px 5px 5px 5px">(.*?)</table>} $data1 -> data1]} {
regexp {<td>(.*?)</td><td style="text-align:center">(.*?)</td>} $data1 "" aa1 a1
regexp {<td>(.*?)</td><td style="text-align:center">(.*?)</td>} $data1 "" bb1 b1
putserv "PRIVMSG $chan : $::smscolor(1)Тип:$::smscolor(2) $a $::smscolor(1)Услуги:$::smscolor(2) $b $::smscolor(1)Компания:$::smscolor(2) $c $::smscolor(1)Сайт:$::smscolor(2) $d $::smscolor(1)Телефон:$::smscolor(2) $f $::smscolor(1)E-mail:$::smscolor(2) $g"
putserv "privmsg $chan : $::smscolor(1)Примерная стоимость сообшений: $::smscolor(2) $a1 рублей. "
} else {
putserv "notice $nick : $::smscolor(1)К сожалению, номер, который Вы запросили, отсутствует в нашей базе данных"
}
}
}
putlog "$::smscolor(1)load $::smscolor(2)sms.tcl $::smscolor(1)by $::smscolor(2)DmitRex"
# Автор: DmitRex
# Версия: 1.1
# Команда: !sms
#########
setudef flag flagsms
# Цвета
set smscolor(1) "\00304"
set smscolor(2) "\00303"
bind pub - !sms sms
proc sms {nick uhost hand chan text} {
if {![channel get $chan flagsms]} {
putserv "notice $nick : $::smscolor(1) Команда $::smscolor(2) !sms$::smscolor(1) отключена на этом канале."
return
}
if {$text == ""} {
putserv "notice $nick : $::smscolor(1)Используй: $::smscolor(2)!sms$::smscolor(1) <короткий номер> - попытка выяснить стоимость СМС на указанный короткий номер."
return
}
if {![string is digit $text]} {
putserv "notice $nick : $::smscolor(1)Ошибка. Номер нужно указывать цифрами."
return
}
if {[string length $text] != 4} {
putserv "notice $nick : $::smscolor(1)Ошибка. Номер должен состоять из $::smscolor(2) 4 $::smscolor(1) цифр."
return
}
::http::config -useragent "Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)"
set parsing_tok [::http::geturl "http://m.smsnumbers.ru/sms/$text" -timeout 20000]
set data [regsub -all -- {\n|\r|\t|\v} [::http::data $parsing_tok] ""]
::http::cleanup $parsing_tok
if {[regexp -nocase -- {<table class="adv">(.*?)</table>} $data -> data]} {
regsub -all -- {<tr>|</tr>} $data "" data
regsub -all -- {\s+} $data " " data
regexp {<td style="color:#7A8277">Тип:</td><td>(.*?)</td>} $data "" a
regexp {<td style="color:#7A8277">Услуги:</td><td>(.*?)</td>} $data "" b
regexp {<td style="color:#7A8277">Компания:</td><td>(.*?)</td>} $data "" c
regexp {<td style="color:#7A8277">Сайт:</td><td><noindex><a href="(.*?)" rel="nofollow" target="_blank">(.*?)</a></noindex></td>} $data "" d e
regexp {td style="color:#7A8277">Телефон:</td><td>(.*?)</td>} $data "" f
regexp {<td style="color:#7A8277">E-mail:</td><td><a href="mailto:(.*?)" rel="nofollow">(.*?)</a></td>} $data "" g h
set parsing_tok1 [::http::geturl "http://m.smsnumbers.ru/sms/$text" -timeout 20000]
set data1 [regsub -all -- {\n|\r|\t|\v} [::http::data $parsing_tok1] ""]
::http::cleanup $parsing_tok
if {[regexp -nocase -- {<table class="tbl" style="margin:0px 5px 5px 5px">(.*?)</table>} $data1 -> data1]} {
regexp {<td>(.*?)</td><td style="text-align:center">(.*?)</td>} $data1 "" aa1 a1
regexp {<td>(.*?)</td><td style="text-align:center">(.*?)</td>} $data1 "" bb1 b1
putserv "PRIVMSG $chan : $::smscolor(1)Тип:$::smscolor(2) $a $::smscolor(1)Услуги:$::smscolor(2) $b $::smscolor(1)Компания:$::smscolor(2) $c $::smscolor(1)Сайт:$::smscolor(2) $d $::smscolor(1)Телефон:$::smscolor(2) $f $::smscolor(1)E-mail:$::smscolor(2) $g"
putserv "privmsg $chan : $::smscolor(1)Примерная стоимость сообшений: $::smscolor(2) $a1 рублей. "
} else {
putserv "notice $nick : $::smscolor(1)К сожалению, номер, который Вы запросили, отсутствует в нашей базе данных"
}
}
}
putlog "$::smscolor(1)load $::smscolor(2)sms.tcl $::smscolor(1)by $::smscolor(2)DmitRex"