namespace eval nefart {} setudef flag nefart set nefart(page) http://pda.nefart.ru/random/ set nefart(auto) 0 set nefart(channel) #egghelp set nefart(version) "1.1" set nefart(author) "tvrsh @ IrcNet.ru" package require http bind pub - !nefart ::nefart::nefart bind pub - !nef ::nefart::nefart bind pub - !нефарт ::nefart::nefart bind pub - !неф ::nefart::nefart if {$nefart(auto) > "0"} { utimer $nefart(auto) ::nefart::auto } proc ::nefart::auto {} { global nefart botnick ::nefart::nefart $botnick $botnick $botnick $nefart(channel) $botnick utimer $nefart(auto) ::nefart::auto } proc ::nefart::nefart {nick uhost hand chan text} { global nefart lastbind if {![channel get $chan nefart]} { return 0 } ::http::config -useragent "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1" set nefart_tok [::http::geturl $nefart(page) -timeout 15000] set data [::http::data $nefart_tok] ::http::cleanup $nefart_tok set asplitr [lindex {¤ • # * + °} [rand 6]] regsub -all -- {\n|\t} $data " " data regsub -all -- { / } $data "|" data set data [encoding convertfrom utf-8 $data] set nefartt ""; set info ""; set nomer ""; set vnature "" set vinovat ""; set date ""; set author ""; set razdel "" regexp {

(.*?)
} $data "" nefartt set nefartt [string map {""" "'"} $nefartt] regexp {
(.*?)} $data "" info regexp {} $info "" nomer regexp {.*? \((.*?)\)} [lindex [split $info "|"] 4] "" vnature regexp {.*? \((.*?)\)} [lindex [split $info "|"] 5] "" vinovat set date [lindex [split $info "|"] 2] set author [lindex [split $info "|"] 3] regexp {(.*?)} $info "" razdel set color [lindex {\00307 \00304 \00315 \00310} [rand 4]] ::nefart::largetext $chan "\00314Нефарт №: \00303$nomer\00314, Добавлен: \00303$date\00314, Добавил: \00303$author\00314, Раздел: \00303$razdel\00314, В натуре не фарт!: \00303$vnature\00314, Сам виноват!: \00303$vinovat\00314. " $color ::nefart::largetext $chan $nefartt $color putserv "PRIVMSG $chan : \00301$asplitr$asplitr$asplitr" } proc ::nefart::largetext {target text color {lineLen 270} {delims {" ".,-!}}} { global bor regsub -all {\{} $text "" text regsub -all {\}} $text "" text if {[string length $text] <= $lineLen} { putserv "PRIVMSG $target :$color $text" return 0 } set _text [split $text $delims] set x 0; set i 0 while {$x < $lineLen} { if {$i >= [llength $_text]} { return 0 } set wordlen [string length [lindex $_text $i]]; if {$x + $wordlen > $lineLen} { break } incr x $wordlen incr x incr i } putserv "PRIVMSG $target :$color [string range $text 0 [expr $x - 1]]" ::nefart::largetext $target [string trimleft [string range $text $x end]] $color $lineLen $delims } putlog "nefart.ru.tcl v$nefart(version) by $nefart(author) loaded."