Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace eval spin {
- setudef flag no[namespace tail [namespace current]]
- variable timer 1
- variable clock 0
- foreach bind {к К} {bind pub - $::gprefix(1)$bind [namespace current]::pub}
- proc pub {nick host hand chan text} {
- variable timer; variable clock
- set texts [string trim [string map { {}} [stripcodes cubr $text]]]
- if {[channel get $chan no[namespace tail [namespace current]]]} {return}
- if {[flood $host 0]} {putserv "NOTICE $nick :Выбирать можно не чаще одного раза в 1 секунд."; return}
- if {[expr [clock seconds]-$clock] < $timer} {putserv "NOTICE $nick :Команда недавно запрашивалась. Повтори попытку через [expr $timer-([clock seconds]-$clock)] сек."; return}; set clock [clock seconds]
- if {[flood $host 1]} {putserv "NOTICE $nick :Выбирать можно не чаще одного раза в 1 секунд."; return}
- set list [list]; foreach _ [chanlist $chan] { if {$_ == $::botnick || $_ == $nick} {continue} else {lappend list $_} }
- if {[llength $list] == 0} {putserv "NOTICE $nick :Тут не с кем играть..."; return} else {set text [lindex $list [rand [llength $list]]]}
- set slo1 {"Сто пудова" "Зуб даю" "Даю очко на растерзание, что" "Инфа сотка" "Гена сказал на латышском, что " "Нехус написал программу и в коде дописал - " "ДерьмоДемон развёлся и прокричал, что " "Ждун сказал по-директорски, что " ""}
- set slo1 [lindex $slo1 [rand [llength $slo1]]]
- if {[lsearch -exact -nocase $lists $text] == "-1"} {putserv "PRIVMSG $chan :$::gcolor(13)$slo1 $::gcolor(10)$text $::gcolor(7)$texts"} else {set text [lindex $list [rand [llength $list]]]; putserv "PRIVMSG $chan :$::gcolor(13)$slo1 $::gcolor(7)$text $::gcolor(10)$texts" }
- }
- proc flood {id rej} {
- variable flood
- if {[info exists flood($id)]} {return 1} { if {$rej} {set flood($id) [clock seconds]; after 1 [list unset -nocomplain [namespace current]::flood($id)]}; return 0}
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement