alias andtget msg %AndChanName 4Пожалуйста подождите! Идет обновление анекдотов с www.Anekdot.ru | .timeranekdotget 9:00 1 1 andtget | %anekdot.ru = 0 | if ($read($shortfn($scriptdir) $+ anekdot.txt,0)) %andtnum = $calc($read($shortfn($scriptdir) $+ anekdot.txt,0) + 1) | else %andtnum = 1 | sockclose anekdot.ru | sockopen anekdot.ru www.anekdot.ru 80
on *:sockopen:anekdot.ru:{ unset %andupdate | sockwrite -n $sockname GET /an/an $+ $date(yy) $+ $date(mm) $+ /jfxs $+ $date(yy) $+ $date(mm) $+ $date(dd) $+ ;1000.html HTTP/1.1
sockwrite -n $sockname Connection: Keep-Alive | sockwrite -n $sockname Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* | sockwrite -n $sockname Accept-Language: ru | sockwrite -n $sockname Accept-Encoding: gzip, deflate | sockwrite -n $sockname User-Agent: Mozilla/4.05 (WinNT; 1) | sockwrite -n $sockname Host: www.anekdot.ru + $str($crlf ,2) }
on *:sockread:anekdot.ru:{ .timerandtsend off | sockread %andttemp
if (запрашиваемая страница не найдена isin %andttemp) { msg %AndChanName 4К сожалению за сегодняшний день анекдотов на сайте нет :-( | unset %andttemp , %anekdot.ru | sockclose anekdot.ru | %andupdate = fail | .timeranekdotget 19:00 1 1 andtget | .timerandtsend 1 5 andtsend | halt }
if (<pre> isin %andttemp) { %andtenable = on | write $shortfn($scriptdir) $+ anekdot.txt $chr(91) $+ %andtnum $+ $chr(93) | halt }
if (</pre> isin %andttemp) { write $shortfn($scriptdir) $+ anekdot.txt 2°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° | unset %andtenable | inc %andtnum | halt }
if (%andttemp) && (%andtenable = on) {
if (2000 = %andttemp) || (Остальные новые анекдоты isin %andttemp) || (Анекдоты - специальный выпуск isin %andttemp) || (Повторные анекдоты isin %andttemp) || (</a> isin %andttemp) || (</font> isin %andttemp) || (.html isin %andttemp) halt
else write $shortfn($scriptdir) $+ anekdot.txt %andttemp
}
if (</html> isin %andttemp) { write -nl1 $shortfn($scriptdir) $+ anekdot.txt $calc(%andtnum - 1) | sockclose anekdot.ru | unset %anekdot.ru , %andttemp | andtsend } }
alias andtsend { if ($len($shortfn($scriptdir) $+ anekdot.txt) < 10) { andtget | halt }
if ($nick(%AndChanName,0) <2> $read($shortfn($scriptdir) $+ anekdot.txt,0)) %andtlist = 1
;msg %AndChanName 2°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
;msg %AndChanName Анекдот № $+ %andtlist с www.anekdot.ru (всего в базе: $+ $read($shortfn($scriptdir) $+ anekdot.txt,0) $+ )
.play -t $+ $rand(1,%andtnum) %AndChanName $shortfn($scriptdir) $+ anekdot.txt 1500 | inc %andtlist | if ($nick(%AndChanName,0) > 1) { if (!%andtdelay) %andtdelay = 1 | .timerandtsend 60 %andtdelay andtsend }
}
on 1:disconnect: timerandtsend off
on *:part:#: if ($nick == $me) && (# = %AndChanName) .timerandtsend off
on *:join:#: if ($nick == $me) { %AndChanName = # | .timerandtsend 1 5 andtsend } | else { if ($timer(andtsend) != 2) .timerandtsend 1 5 andtsend }
on *:open:?:*: closemsg $nick | notice $nick Пожалуйста вводите команды не в приват а в канал!
on *:text:*:#: { .ignore -u3 $nick
if (!пауза isin $1) { if ($nick isop #) { if ($2 >= 60) && ($2 <600> 1,Общее количество анекдотов: $read($shortfn($scriptdir) $+ anekdot.txt,0) $+ . Размер базы: $int($calc($file($shortfn($scriptdir) $+ anekdot.txt).size / 1000)) $+ Kb. Последнее обновление базы: $asctime($file($shortfn($scriptdir) $+ anekdot.txt).mtime,dd/mm/yy HH:nn),4Внимание! База анекдотов пуста или имеет неверный формат! Пожалуйста обновите базу...)
notice $nick Задержка между анекдотами установлена на %andtdelay секунд. (команда: !пауза 60...600)
notice $nick $iif($timer(andtsend) > 0,Следующий анекдот № %andtlist через $timer(andtsend).secs сек.,4Внимание! Анекдот остановлен... запустите бота командой !анекдот)
notice $nick $iif(%andupdate = fail,За сегодняшний день обновления анекдотов на сайте www.anekdot.ru пока не было.,Последнее обновление базы было произведено $asctime($file($shortfn($scriptdir) $+ anekdot.txt).mtime,dd/mm/yy hh:mm) )
notice $nick Следующее обновление со страницы www.anekdot.ru/an/an $+ $date(yy) $+ $date(mm) $+ /jfxs $+ $date(yy) $+ $date(mm) $+ $iif($timer(anekdotget).time == 09:00,$calc($date(dd) + 1) $+ ;1000.html завтра в 9:00.,$date(dd) $+ ;1000.html сегодня в $timer(anekdotget).time $+ .)
notice $nick доступные команды управления: !инфо, !анекдот, !анекдот номер, !стоп, !пауза 60...600
} | halt | :end | notice $nick Извините, но вы должны имень статус Оператора канала для этого действия...
}
on *:connect: .timeranekdotget 9:00 1 1 andtget | if (!$exists($shortfn($scriptdir) $+ anekdot.txt)) andtget
|