|
Ссылки: Архив с ботом, зеркала: ftp, ftp, http. Дата последнего релиза: 4 апреля 2009 г. MD5: 541589a8c16ebdaeb93f108f6a41388d Дамп счета игроков, зеркала: ftp, ftp, http. Дата последнего релиза: 4 апреля 2009 г. MD5: d5c92ba4b52781a1140df7bf4be5e64b Примечания по использованию: 1) Для того чтоб завести бота в конференцию, отправьте приглашение на jid: jabberwocky@ipse.zapto.org , даже если он вас не авторизовал. 2) Бывает глюк, что бот не выдает сообщение о правильном ответе, а начинает выдавать подсказки на следующий вопрос, это связано с шейпером на jabber серверах, особенно этим страдает ejabberd 2. Для избежания проблемы используйте сервера на ejabberd 1 или другие без шейпера. Примечания по запуску своей копии бота: 1)Качаем архив с ботом: $ wget ftp://jabber.ipse.ru/upload/perlbot.tar.gz
2)Распаковываем архив: $ tar xvf perlbot.tar.gz
3)Переходим в директорию с программой: $ cd perlbot/jpb-0.3.3
4)Комментируем последнюю строку кода в файле bot.pl: $ nano bot.pl Строка должна выглядеть после этого так #END { unlink $savefile; exec $0; } Эта строка служит для автоматического рестарта бота в случае фатальной ошибки на этапе выполнения, можете вернуть её на место когда будете уверены в стабильной работе бота, это избавит вас от необходимости каждый раз вручную запускать бота после падения.
5)Запускаем бота: $ ./bot.pl
6)Получаем сообщение с ошибкой, наподобии: Uncaught exception from user code:
Can't locate Net/Dict.pm in @INC (@INC contains: '.' /etc/perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.8 /usr/lib64/perl5/vendor_perl /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.8 /usr/lib64/perl5/site_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/5.8.8 /usr/local/lib/site_perl .) at modules/dict.pm line 7.
BEGIN failed--compilation aborted at modules/dict.pm line 7.
Compilation failed in require at modulehandler.pm line 32.
...propagated at ./bot.pl line 32.
at ./bot.pl line 32. Сообщение Can't locate Net/Dict.pm означает что в ситеме не установлен модуль Net::Dict 7)Устанавливаем недостающий модуль: $ sudo perl -MCPAN -e 'install Net::Dict'
8)Снова пробуем запустить бота: $ ./bot.pl, если опять возникает ошибка Can't locate, устанавливаем недостающий модуль по аналогии с предыдущим примером. Возможно у меня дойдут руки вынести включение команд в конфиг-файл, тогда можно будет отключить все ненужное и не качать over9000 левых модулей.9)Наконец перестают сыпаться сообщения о недостающих модулях, бот больше не выпадает, а скромно висит, с сообщением почти в конце: xxx - jabberwocky ..
We are connected to the server... Это значит надо прописать свои данные авторизации, логин, пароль и jabber сервер для бота10)Открываем config.pl и правим строки:
$server = "ipse.zapto.org";
Викторину бот после этого не ведет, бояны не травит. для этих функций к нему необходимо подключить соответствующие MySQL базы.Если возникнут вопросы, пишите мне в жаббер |