Страница 1 из 1

Скрипт чтения записей из файла

СообщениеДобавлено: 25 ноя 2011 01:52
team
Ребят подскажите как написать скриптик , что бы при команде например !проба бот брал разные радеонные фразы например из файла eggdrop/data/proba.txt

За ранее спасибо,с уважением Алексей

Re: Скрипт чтения записей из файла

СообщениеДобавлено: 25 ноя 2011 08:54
tvrsh
Подсказываю.
Делаешь бинд на паблик команду. Потом открываешь пост Работа с файлами и читаешь про то, как достают случайную строку. Объединяешь бинд с выборкой случайной строки и получаешь свой скриптик.

TCL: [ Скачать ] [ Скрыть ]
# Биндим паблик команду.
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"

# Процедура закончена.
}

Re: Скрипт чтения записей из файла

СообщениеДобавлено: 29 ноя 2011 23:21
team
Спасибо дружище)))))))) выручил!