#################################################### # WindropClan @ http://windrop.clan.su # Автор: Vladislav # Версия: 1.1 # Описание: Анаграмайзер. Скрипт через сайт anagramizer.com разгадывает анаграммы. # Команды: !анм #################################################### namespace eval anagramizer { setudef flag no[namespace tail [namespace current]] variable timer 10 variable pbind 1 variable clock 0 foreach bind {анм anm} {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]]]; set text [lindex [split $text] 0] if {[string is space $text]} {putserv "[expr {$nick == $chan ? "PRIVMSG":"NOTICE"}] $nick :Формат: $::lastbind <анаграмма> - анаграмайзер."; return} ::http::config -urlencoding utf-8 -useragent "Mozilla/6.0" if {[catch {set parsing [::http::geturl http://www.anagramizer.com/find-anagram?word=[::http::formatQuery $text] -binary true -timeout 20000]} 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 utf-8 [::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} set list [list]; foreach _ [regexp -all -inline -- {