Ты никогда не задумывался, что твой супер
крутой и навороченный канал в IRC не
нуждается в рекламе, его и так уже все
посещают и можно больше для него ничего не
делать. Так вот, спешу тебе подкинуть идею -
тебе нужно сделать статистику для канала -
особенно она актуальна, если на канале
обитает много народу.
Если, ты никак не можешь определиться какой
программой лучше пользоваться для этой
цели, то эта статья для тебя - тут я расскажу
о настройке irc-statistic программ.
Для начала, тебе нужно знать, что все
программы ориентированы на стандартный mIRC
лог. Но это не означает, что тебе нужно
вешать mIRC бота на сервер - достаточно
скачать конвертер лога - tcl скрипт для eggdrop.
Настраивается он очень просто (в конфе
указывается handle админа скрипта и путь к
логам). Команды скрипта с партилайна бота
будут: .mel adduser, mel deluser mel +chan и так далее, если
не ошибаюсь 😉 (.mel выдаст полный листинг
команд). После того, как у тебя есть готовый
конвертируемый mIRC лог, ты можешь приступать
к установке генераторов статистики.
1) Pisg -
генератор статистики для IRC на Perl. Версия 0.41.
Pisg представляет собой Perl-скрипт,
генерирующий html файл со статистикой. Он
содержит различные диаграммы с пиком фраз и
юзеров, сведения о киках, банах, и
прикольных моментов (типа, такой-то был
самый веселый - 50% его фраз составляли
смайлы). Поддерживает русский язык, но
почему то в кривой кодировке 😉 На помощь
приходит recode-script. Он выглядит примерно
следующим образом:
#!/usr/bin/perl
system("/home/xakep/pisg/pisg");
sleep 2;
$file="/home/xakep/web/stats/index.html";
open(file, "$file") or die "OpenError: $!\n";
@file=<file>;
close file;
open(file, ">$file") or die "WriteError: $!\n";
foreach (@file) {
chomp;
~s/ä\;/Д/g;
~s/å\;/Е/g;
~s/æ\;/Ф/g;
~s/ö\;/Ж/g;
~s/ø\;/Ь/g;
~s/ü\;/Э/g;
~s/ß\;/ъ/g;
~s/Ø\;/ь/g;
~s/Å\;/е/g;
print file "$_\n";
}
close file;
Как ты видишь - скрипт перекодирует плохие
сочетания на русские буквы. Без этого -
грамматика твоей статистики будет
никудышной %)
А теперь собственно pisg.cfg. Если ты
посмотришь help - то упадешь от возможностей
pisg. Я же приведу коротенький конфиг файл,
которого будет вполне достаточно 🙂
<channel="#xakep">
Logfile="/home/xakep/eggdrop/xakep.log"
Format="mIRC"
Maintainer="Xakep"
Network="DalNetRu"
OutputFile="/home/xakep/web/stats/index.html"
</channel>
Синтаксис напоминает httpd.conf 🙂 Как ты видишь
строка состоит из ключевого слова и
значения. Тут описывается путь к логфайлу,
путь к html-файлу, хозяина статистики, имя
сети и формат (по умолчанию mIRC, но есть и
стандарт eggdrop).
Расскажу еще о некоторых полезных опциях:
CssDir - путь к директории с css файлами для html.
Lang - выбор языка
PageHead/PageFoot - путь к headers и footers html-stats странички
TopicHistory/NickHistory/UrlHistory - настройки лимита
показов топиков, ников и урлов
Если у тебя включена поддержка нескольких
каналов используй, если нужно глобальные
опции. Для этого используй директиву set. К
примеру - поставить формат mIRC глобально
можно командой: <set Format="mIRC">.
Запихнуть в кронтаб pisg можно с легкостью (пример
- генерить статистику каждую 20 минут+модифицировать
out-html скриптом замены):
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /home/xakep/pisg/recode
>/dev/null 2>&1
2) IRCStats -
последняя версия 0.22.
Генератор статистики, работающий на Linux-платформах
(х86). Имеет простенький интерфейс и
поддержку lang-files. Для тех, кто не хочет
заморачиваться с настройкой 🙂
По умолчанию - английский язык, но что тебе
мешает создать русский langfile? 🙂
Для начала перемести содержимое папки html в
www-директорию (там содержатся картинки
диаграмм). Опции конфига следующие:
creatorOfLog: Xakep
channelName: #xakep
Создатель канала и канал соответственно.
htmlFilename: html/index.html
languageFilename: english.lang
excludeFilename: ircstatsexclude.txt
nickjoinFilename: nickjoin.txt
htmlheadFilename: htmlhead.txt
headerFilename: ircstatsheader.txt
footerFilename: ircstatsfooter.txt
Здесь идут настройки файлов. Аут-файла,
Лангфайла, Эксклуд файла, файла с никами, а
также header и footer (для личных записей).
topTalkerLength: 50
showTopic: True
useRandomTopics: True
showBigNumbers: True
showLongEndText: True
quoteLength: 65
quoteMinimum: 35
Параметры, отвечающие за топ ников, показ
топиков, максимальную и минимальную длину
строки и так далее.
Если тебе нужна одиночная статистика, и на
тачке мало памяти - IRCStats для тебя.
3) mIRCStats -
не забудем виндовых пользователей 🙂 Версия
1.19.
mIRCStats генерирует аналоговую станицу IRCStats,
но это программа для Win9x/ME/XP. Там все просто.
Указываешь путь к логу, делаешь интервал
времени, через который запускать скрипт (заливка
генеренного файла на фтп например) и
сворачиваешь программу в трей 🙂 Конечно,
для нее разумно использовать mIRC-бота. Для
юзеров, не знающих Linux, либо не имеющих шелл-доступа
- само то!
Прога просит ключик, который с радостью
предоставит http://astalavista.box.sk
;]
Вот собственно и весь обзор 🙂 Как
говориться - все познается в сравнении - и
тебе лично решать - иметь или не иметь.