Можно настроить скрипт таким образом, чтобы в указанное время он писал на канал соответствующие этому времени фразы. Короче полная фигня.
###
#
# Название: tontime.tcl
# Версия: 1.0
# Автор: tvrsh
#
###
#
# Описание: Скрипт каждый час выводит текущее время и еще что-то.
#
###
#
# Установка:
# 1. Скопируйте скрипт tontime.tcl в папку scripts вашего бота.
# 2. В файле eggdrop.conf впишите строку source scripts/tontime.tcl
# 3. Сделайте .rehash боту.
#
###
#
# Версион хистори:
#
# 1.0(06.10.2010) Первая паблик версия.
#
###
namespace eval tontime {
# Сбрасываем значения всех переменных.
foreach p [array names tontime *] { catch {unset tontime($p) } }
# Указываем канальный флаг(.chanset #chan +tontime для включения скрипта).
setudef flag tontime
### ###
# Меню настроек ниже этой линии: #
# ______________________________ #
### ###
variable tontime
array set tontime {
channels "#erotic #ololo"
color1 \00314
color2 \00310
color3 \00305
phrases {06:00 Доброе утро $chan
13:00 Доброго дня $chan
21:00 Добрый вечер $chan
00:00 Доброй ночи $chan}
version "tontime.tcl version 1.0"
author "tvrsh"
}
### ###
# Ниже этой линии начинается код, не изменяйте его если не знаете TCL: #
# ____________________________________________________________________ #
### ###
# Обработка биндов.
bind time -|- "* * * * *" ::tontime::tontime_proc
# Процедура обработки запроса.
proc ::tontime::tontime_proc {min hour day month year} {
variable tontime
set day [string map {Monday Понедельник Tuesday Вторник Wednesday Среда Thursday Четверг Friday Пятница Saturday Суббота Sunday Воскресенье} [clock format [unixtime] -format "%A"]]
if {$min == "00"} {
foreach chan [split $tontime(channels)] {
putserv "PRIVMSG $chan :$tontime(color1)$day - $tontime(color2)$hour:$min$tontime(color1)."
}
}
foreach chan [split $tontime(channels)] {
foreach phrase [split $tontime(phrases) "\n"] {
if {[llength $phrase]} {
if {$hour == [lindex [split [lindex $phrase 0] ":"] 0] && $min == [lindex [split [lindex $phrase 0] ":"] 1]} {
putserv "PRIVMSG $chan :$tontime(color3)[subst -nocommands [join [lrange $phrase 1 end]]]$tontime(color1)."
}
}
}
}
}
# Выводим сообщение о том, что скрипт удачно загружен.
putlog "\[tontime\] $tontime(version) by $tontime(author) loaded"
}
#
# Название: tontime.tcl
# Версия: 1.0
# Автор: tvrsh
#
###
#
# Описание: Скрипт каждый час выводит текущее время и еще что-то.
#
###
#
# Установка:
# 1. Скопируйте скрипт tontime.tcl в папку scripts вашего бота.
# 2. В файле eggdrop.conf впишите строку source scripts/tontime.tcl
# 3. Сделайте .rehash боту.
#
###
#
# Версион хистори:
#
# 1.0(06.10.2010) Первая паблик версия.
#
###
namespace eval tontime {
# Сбрасываем значения всех переменных.
foreach p [array names tontime *] { catch {unset tontime($p) } }
# Указываем канальный флаг(.chanset #chan +tontime для включения скрипта).
setudef flag tontime
### ###
# Меню настроек ниже этой линии: #
# ______________________________ #
### ###
variable tontime
array set tontime {
channels "#erotic #ololo"
color1 \00314
color2 \00310
color3 \00305
phrases {06:00 Доброе утро $chan
13:00 Доброго дня $chan
21:00 Добрый вечер $chan
00:00 Доброй ночи $chan}
version "tontime.tcl version 1.0"
author "tvrsh"
}
### ###
# Ниже этой линии начинается код, не изменяйте его если не знаете TCL: #
# ____________________________________________________________________ #
### ###
# Обработка биндов.
bind time -|- "* * * * *" ::tontime::tontime_proc
# Процедура обработки запроса.
proc ::tontime::tontime_proc {min hour day month year} {
variable tontime
set day [string map {Monday Понедельник Tuesday Вторник Wednesday Среда Thursday Четверг Friday Пятница Saturday Суббота Sunday Воскресенье} [clock format [unixtime] -format "%A"]]
if {$min == "00"} {
foreach chan [split $tontime(channels)] {
putserv "PRIVMSG $chan :$tontime(color1)$day - $tontime(color2)$hour:$min$tontime(color1)."
}
}
foreach chan [split $tontime(channels)] {
foreach phrase [split $tontime(phrases) "\n"] {
if {[llength $phrase]} {
if {$hour == [lindex [split [lindex $phrase 0] ":"] 0] && $min == [lindex [split [lindex $phrase 0] ":"] 1]} {
putserv "PRIVMSG $chan :$tontime(color3)[subst -nocommands [join [lrange $phrase 1 end]]]$tontime(color1)."
}
}
}
}
}
# Выводим сообщение о том, что скрипт удачно загружен.
putlog "\[tontime\] $tontime(version) by $tontime(author) loaded"
}
- Для корректной работы скрипта сохраняйте его в кодировке UTF-8 без BOM используя, например, Notepad++.