Advertisement
Guest User

Untitled

a guest
Jun 13th, 2019
315
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
TCL 2.11 KB | None | 0 0
  1. namespace eval spin {
  2.  
  3. setudef flag no[namespace tail [namespace current]]
  4.  
  5. variable timer 1
  6. variable clock 0
  7.  
  8. foreach bind {к К} {bind pub - $::gprefix(1)$bind [namespace current]::pub}
  9.  
  10. proc pub {nick host hand chan text} {
  11. variable timer; variable clock
  12. set texts [string trim [string map { {}} [stripcodes cubr $text]]]
  13. if {[channel get $chan no[namespace tail [namespace current]]]} {return}
  14. if {[flood $host 0]} {putserv "NOTICE $nick :Выбирать можно не чаще одного раза в 1 секунд."; return}
  15. if {[expr [clock seconds]-$clock] < $timer} {putserv "NOTICE $nick :Команда недавно запрашивалась. Повтори попытку через [expr $timer-([clock seconds]-$clock)] сек."; return}; set clock [clock seconds]
  16. if {[flood $host 1]} {putserv "NOTICE $nick :Выбирать можно не чаще одного раза в 1 секунд."; return}
  17. set list [list]; foreach _ [chanlist $chan] { if {$_ == $::botnick || $_ == $nick} {continue} else {lappend list $_} }
  18. if {[llength $list] == 0} {putserv "NOTICE $nick :Тут не с кем играть..."; return} else {set text [lindex $list [rand [llength $list]]]}
  19.  
  20. set slo1 {"Сто пудова" "Зуб даю" "Даю очко на растерзание, что" "Инфа сотка" "Гена сказал на латышском, что " "Нехус написал программу и в коде дописал - " "ДерьмоДемон развёлся и прокричал, что " "Ждун сказал по-директорски, что " ""}
  21. set slo1 [lindex $slo1 [rand [llength $slo1]]]
  22.  
  23.  
  24. 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" }
  25.  
  26.  
  27. }
  28.  
  29. proc flood {id rej} {
  30. variable flood
  31. 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}
  32. }
  33.  
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement