# Биндим паблик команду.
bind pub - !проба proba
# Начинаем процедуру, срабатывающую на бинд.
proc proba {nick uhost hand chan text} {
# Имя файла который будем читать.
set fname "data/proba.txt"
# Открываем доступ к файлу для чтения (мы не ловим ошибки, однако
# можно использовать catch {} в случае если файл отсутствует.
set fp [open $fname "r"]
# Тут мы считываем все данные из файла.
set data [read -nonewline $fp]
# Закрываем файл.
close $fp
# Теперь разбиваем данные на отдельные строки.
set lines [split $data "\n"]
# Получаем количество строк в файле.
set numlines [llength $lines]
# Выбираем номер случайной строки используя функцию rand.
set num [rand $numlines]
# Забираем эту строку!
set randline [lindex $lines $num]
# Пишем в канал эту строку.
putserv "PRIVMSG $chan :$randline"
# Процедура закончена.
}