### # # Название: nygreet.tcl # Версия: 1.0 # Автор: tvrsh # ### # # Описание: Генератор новогодних поздравлений для коллег по работе. # ### # # Установка: # 1. Скопируйте скрипт nygreet.tcl в папку scripts вашего бота. # 2. В файле eggdrop.conf впишите строку source scripts/nygreet.tcl # 3. Сделайте .rehash боту. # ### # # Версион хистори: # # 1.0(11.06.2009) Первая паблик версия. # ### # Указываем пространство имен. namespace eval nygreet { # Указываем канальный флаг(.chanset #chan +nopubnygreet для отключения скрипта). setudef flag nopubnygreet ### ### # Меню настроек ниже этой линии: # # ______________________________ # ### ### # Префикс команд. variable pref "!" # Список команд на которые будет отзываться скрипт. variable binds "поздр nygreet" # Время до следующей команды. variable delay 15 ### # Настройки цветов. # Цвет текста. variable color1 \00314 # Цвет ника. variable color2 \00303 # Цвет времени. variable color3 \00307 ### ### ### # Ниже этой линии начинается код, не изменяйте его если не знаете TCL: # # ____________________________________________________________________ # ### ### # Версия скрипта. variable version "nygreet.tcl version 1.0" # Автор скрипта. variable author "tvrsh" # Обработка биндов. foreach bind [split $binds " "] { bind pub -|- "$pref$bind" ::nygreet::pubproc } # Процедура обработки паблик команд. proc ::nygreet::pubproc {nick uhost hand chan text} { global lastbind variable nygreet variable pref variable delay variable color1 variable color2 variable color3 variable lastcall if {[channel get $chan nopubnygreet]} { return } if {[info exists lastcall($uhost)]} { if {[expr [expr [unixtime] - $lastcall($uhost)] < $delay]} { set det [expr [unixtime] - $lastcall($uhost)] set wtime [expr $delay - $det] #putserv "NOTICE $nick :$color1\Вы сможете использовать команду $color2$pref$lastbind $color1\через $color3[timereplace $wtime]" putserv "NOTICE $nick :$color1\Подождите $color3[expr $delay - [expr [clock seconds] - $lastcall($uhost)]] $color1[lindex {. секунду секунды секунд} [::nygreet::numgrp [expr $delay - [expr [clock seconds] - $lastcall($uhost)]]]] до следующего запроса." return 0 } } set nygrlist1 { "По случаю наступающего нового года с удовольствием посылаю это маленькое напоминание о себе." "Мне очень приятно использовать приближение нового года, чтобы высказать все, что скопилось в душе!" "Совсем немного осталось до того момента, когда мы расстанемся на длинные новогодние каникулы, а потому - спешу выразить свои чувства!" "Прошел еще один год нашей совместной работы." "В эти последние предновогодние дни хочу, наконец-таки, высказать все, что думаю!" "Все ближе и ближе бой новогодних курантов и все больше и больше хочется сказать!" "Осталось совсем немного времени, чтобы успеть в уходящем году искренне выразить свои чувства!" "Спешу воспользоваться еще одним - и таким приятным - поводом, чтобы сказать о наболевшем." "В эти предновогодние дни не могу не высказаться!" } set nygrlist2 { "В этот самый веселый праздник" "дорогой коллега," "Новогоднее настроение повсюду, но" "Новый год - отличный повод произнести приятные слова:" "Мы провожаем уходящий год, и" "В новый год вспоминается все -" "Окидывая взглядом %now-й, смело заявляю:" "Скажу откровенно," "Среди блеска праздничных гирлянд" "В преддверии нового года" "Поднимая бокал шампанского, я думаю, что" "Еловый аромат уже носится в воздухе, а" "Внесу свой вклад в копилку поздравлений -" "Очередной новый год в нашей компании, а значит" "Уважаемый коллега," "Мы провожаем год уходящий, и я с теплотой думаю о том, что" "С надеждой глядя в наступающий год, нельзя не вспомнить -" "Окидывая взглядом уже удаляющийся %now-й, могу констатировать:" "И когда я поднимаю бокал новогоднего шампанского, я думаю о том, что" "Чтобы внести свой скромный вклад в копилку ваших поздравлений, скажу:" } set nygrlist3 { "все пережитое вместе" "то хорошее, что происодило в этих стенах," "наша собачья, но успешная работа" "любой удавшийся проект" "привычный шелест бумаг в нашем исполнении" "дружный стук пальцев по клавиатурам" "теплая атмосфера нашей дружной конторы" "почти всегда одобрительное ворчание шефа" "череда авралов и долгожданных выходных" "напряженный труд, перемежаемый чтением анекдотов," "незабываемый корпоративный дух нашей курилки" "очередное наше маленькое совещание за обедом" "взаимовыручка и чувство локтя в нашем коллективе" "общий трудовой запал, поджигаемый в день зарплаты," "все, что происходило с нами," "пройденный нами совместный путь" "то хорошее, что сделано в рамках нашего партнерства," "наша сложная, но успешная работа" "каждый удавшийся совместный проект" "привычный шелест договоров с нашими автографами" "каждая наша новая сделка" "дружеская атмосфера наших деловых встреч" "одобрение со стороны нашего руководства" "целая череда удачно осуществленных проектов" "напряженный труд, в котором едва находится место отдыху," "жизнеутверждающий, позитивный стиль нашего общения и взаимодействия" "любое наше совещание, так поднимающее рабочий настрой," "взаимпонимание, присущее нашему партнерству," "общий трудовой запал, общие цели и понимание ситуации" "все, что мы прошли за это время," } set nygrlist4 { "- это и есть наша замечательная жизнь, которая идет полным ходом" "переполняет меня радостью" "делает жизнь прекрасной" "наталкивает на мысль \"освежить\" бокалы" "продлевает мою жизнь" "внушает уверенность в дальнейших успехах и победах" "уже снится мне по ночам" "запоминается не только мне, но и самым невпечатлительным" "как раз и вращает земной шар вокруг своей оси" "согревает душу" "просто восхищает меня" "делает будни праздниками" "придает особый смысл каждому прожитому дню" "превращает офис во второй, если не первый дом" "окрашивает серые будни яркими цветами" "- все вместе взятое, умноженное на 5 рабочих дней и 52 недели, дает хороший результат" "наполняет меня уверенностью в конечном результате" "является одним из важнейших факторов продвижения вперед" "требует отдельного упоминания" "укрепляет наш бизнес" "внушает уверенность в новых успехах и победах" "увеличивает кредит взаимного доверия" "запоминается не только мне, но и всей нашей команде" "как раз и вращает шестеренки гигантского бизнес-механизма" "становится залогом нашего успеха" "восхищает меня и всех моих коллег" "по достоинству оценивается всеми" "создает общую обстановку в наших офисах и на рынке в целом" "превращает офис во второй, если не первый дом" "задает тон ведения бизнеса" } set nygrlist5 { "." ", наполняя радостью проведенные с коллегами дни." ", вызывая желание поздравить и расцеловать всех!" "." ", не отменяя надежды на отпуск и 13-ю зарплату!" ", поэтому следующий год будет еще лучше предыдущего!" "!" ", располагая к острым приступам трудоголизма." ", хотя и не исключает желания порой взять отгул." ", что подбадривает меня в трудные минуты." "." ", помогая выплыть в бурном океане суетливых будней." ", даря, как это говорилось, уверенность в завтрашнем дне!" ", заставляя вновь и вновь вспоминать своих любимых коллег." "!" " в интересах наших компаний." " для дальнейшего процветания наших фирм." ", не отменяя впрочем надежды на дополнительные шаги навстречу с обеих сторон." ", возвращая к мысли, что следующий год будет еще удачнее!" ", располагая к продолжению сотрудничества." ", поддерживая в трудные минуты всю нашу компанию и меня лично." ", помогая достигать поставленных целей." ", даря, как раньше говорилось, надежду на будущее и уверенность в завтрашнем дне!" ", заставляя вновь и вновь с благодарностью вспоминать своих любимых, надежных партнеров." } set nygrlist6 { "Так пусть в наступающем году всего хорошего станет больше, а плохое совсем перестанет замечаться!" "Да принесет этот новый год новые заботы и хлопоты - но только приятные!" "Желаю чтобы наступающий год длился очень долго - потому что он наверняка будет очень добрым!" "Да сбудутся в новом году все желания и мечты!" "%next раз желаю успехов и побед!" "Верю, что в %next году окончательно настанет эра исключительных удач!!!" "Пусть же сбудутся все мечты и появятся %next новых и они тоже сбудутся!!!" "Желаю в новом году вашим возможностям немного опережать ваши мечты!!!" "Пускай же удача поселится на вашем рабочем столе!!!" "Пусть в следующем году настроение будет безоблачным, сбудутся все мечты и желания, глаза искрятся от счастья, и каждый день приносит радость!!!" "Пусть весь следующий год будет, как один большой праздник, наполнен подарками, радостью, весельем, брызгами игристого шампанского и добрыми пожеланиями!!!" } set nygrlist7 { "С Новым Годом!!!" "С Новым %next Годом!!!" "Счастливого Нового Года!!!" "С Новым Годом!!!" "С Новым %next Годом!!!" "Счастливого Нового Года!!!" "С Новым Годом!!!" "С новым %next Годом!!!" "Счастливого Нового Года!!!" } set nygrpart1 "[lindex $nygrlist1 [rand [llength $nygrlist1]]]" set nygrpart2 "[lindex $nygrlist2 [rand [llength $nygrlist2]]]" set nygrpart3 "[lindex $nygrlist3 [rand [llength $nygrlist3]]]" set nygrpart4 "[lindex $nygrlist4 [rand [llength $nygrlist4]]]" set nygrpart5 "[lindex $nygrlist5 [rand [llength $nygrlist5]]]" set nygrpart6 "[lindex $nygrlist6 [rand [llength $nygrlist6]]]" set nygrpart7 "[lindex $nygrlist7 [rand [llength $nygrlist7]]]" set nygrphrase "$nygrpart1 $nygrpart2 $nygrpart3 $nygrpart4$nygrpart5 $nygrpart6 $nygrpart7" set ynow [clock format [unixtime] -format "%Y"] set ynext [expr [clock format [unixtime] -format "%Y"] + 1] set nygrphrase [subst -nocommands [string map {%now $ynow %next $ynext} $nygrphrase]] set lastcall($uhost) [unixtime] putserv "PRIVMSG $chan :$color2$nick, $color1$nygrphrase" } proc ::nygreet::numgrp {number} { switch -glob -- "$number" { *11 {return 3} *12 {return 3} *13 {return 3} *14 {return 3} *1 {return 1} *2 {return 2} *3 {return 2} *4 {return 2} default {return 3} } } # Выводим сообщение о том, что скрипт удачно загружен. putlog "\[nygreet\] $version by $author loaded" }