###
#
# Название: ustihi.tcl
# Версия: 1.0
# Автор: username
#
###
#
# Описание: Скрипт читает стихи с сайтов http://genn.org/stuff/stixs/ и http://koaa310.jino.ru/
#
###
#
# Установка:
# 1. Скопируйте скрипт ustihi.tcl в папку scripts вашего бота.
# 2. В файле eggdrop.conf впишите строку source scripts/ustihi.tcl
# 4. Сделайте .rehash боту.
#
###
#
# Версион хистори:
#
# 1.0(13.05.2008) Первая паблик версия.
#
###
# Указываем пространство имен.
namespace eval ustihi {}
# Сбрасываем значения всех переменных.
foreach p [array names ustihi *] { catch {unset ustihi($p) } }
# Указываем канальный флаг(.chanset #chan +nopubustihi для отключения скрипта).
setudef flag nopubustihi
### ###
# Меню настроек ниже этой линии: #
# ______________________________ #
### ###
# Префикс команд.
set ustihi(pref) "!"
# Список команд на которые будет отзываться скрипт.
set ustihi(binds) "стих"
# Разрешить работу со скриптом в привате у бота? (да-1/нет-0)
set ustihi(msg) 1
# Сколько команда за сколько секунд считать флудом и начинать игнорить юзера.
set ustihi(flood) 5:60
# Время(мин) игнора.
set ustihi(ignore) 10
###
# Настройки цветов.
# Основной цвет текста.
set ustihi(color1) "\00314"
# Цвет заголовков.
set ustihi(color2) "\00303"
###
### ###
# Ниже этой линии начинается код, не изменяйте его если не знаете TCL: #
# ____________________________________________________________________ #
### ###
# Проверяем наличие egglib.
if { ![info exists egglib(ver)] } {
putlog "***********************************************"
putlog " egglib_pub NOT FOUND !"
putlog " Download last version of egglib_pub here:"
putlog " http://eggdrop.org.ru/scripts/egglib_pub.zip"
putlog "***********************************************"
die
}
if { [expr {$egglib(ver) < 1.4}] } {
putlog "***********************************************"
putlog " YOUR VERSION OF egglib_pub IS TOO OLD !"
putlog " Download last version of egglib_pub here:"
putlog " http://eggdrop.org.ru/scripts/egglib_pub.zip"
putlog "***********************************************"
putlog " version installed : $egglib(ver)"
putlog " version required: 1.4"
die
}
# Версия скрипта.
set ustihi(version) "ustihi.tcl version 1.0"
# Автор скрипта.
set ustihi(author) "username"
# Обработка биндов.
foreach bind [split $ustihi(binds) " "] {
bind pub -|- "$ustihi(pref)$bind" ustihi_pub
if {$ustihi(msg) >= 1} {
bind msg -|- "$ustihi(pref)$bind" ustihi_msg
}
}
# Процедура обработки приватных команд.
proc ustihi_msg {nick uhost hand text} {
global ustihi
ustihi_proc $nick $uhost $hand $nick $text
}
# Процедура обработки паблик команд.
proc ustihi_pub {nick uhost hand chan text} {
global ustihi
# Проверяем наличие флага.
if {[channel get $chan nopubustihi]} {
return
}
ustihi_proc $nick $uhost $hand $chan $text
}
# Процедура обработки запроса.
proc ustihi_proc {nick uhost hand chan text} {
global ustihi lastbind
# Проверка на флуд.
if {[flood_ustihi $nick $uhost]} {
return
}
switch "[lindex [split $text] 0]" {
"a" {
set query "http://genn.org/stuff/stixs/"
set id [::egglib::http_init "ustihi_"]
set key [lindex [split $text] 0]
::egglib::http_get $id $query [list $nick $uhost $chan $key]
putlog "\[ustihi\] $nick/$chan"
}
"b" {
set query "http://koaa310.jino.ru/bad_love.php"
set id [::egglib::http_init "ustihi_"]
set key [lindex [split $text] 0]
::egglib::http_get $id $query [list $nick $uhost $chan $key]
putlog "\[ustihi\] $nick/$chan"
}
"c" {
set query "http://koaa310.jino.ru/pain.php"
set id [::egglib::http_init "ustihi_"]
set key [lindex [split $text] 0]
::egglib::http_get $id $query [list $nick $uhost $chan $key]
putlog "\[ustihi\] $nick/$chan"
}
"d" {
set query "http://koaa310.jino.ru/bad_love1.php"
set id [::egglib::http_init "ustihi_"]
set key [lindex [split $text] 0]
::egglib::http_get $id $query [list $nick $uhost $chan $key]
putlog "\[ustihi\] $nick/$chan"
}
default {
putserv "PRIVMSG $chan :$ustihi(color2)\002$lastbind a\002 $ustihi(color1)- \002Г\002аллюциноGENNые стихотворения."
putserv "PRIVMSG $chan :$ustihi(color2)\002$lastbind b\002 $ustihi(color1)- \002Р\002омантические стихи о любви."
putserv "PRIVMSG $chan :$ustihi(color2)\002$lastbind c\002 $ustihi(color1)- Стишки о \002Н\002есчастной любви."
putserv "PRIVMSG $chan :$ustihi(color2)\002$lastbind d\002 $ustihi(color1)- Еще одни \002С\002тишки о несчастной любви."
}
}
}
proc ustihi_on_error {id nick uhost chan} {
::egglib::out $nick $chan "$ustihi(color1)Я не смог соединиться с $ustihi(color3)http:\/\/genn.org\/stuff\/stixs\/ $ustihi(color1)..."
}
proc ustihi_on_data {id data nick uhost chan key} {
global ustihi
if {$key == "a"} {
regsub -all -- "\n" $data {} html
foreach line [split $html "\n"] {
if {[regexp -nocase -- {
(.*?) |