✍ написать автору ✍
✯Jabber бот PoeBot-0.08-alpha✯
Команды
Ссылки:
Архив с ботом, зеркала: 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...
### main - 68 : AuthSend$VAR1 = [
'error',
'not-authorized'
];
Это значит надо прописать свои данные авторизации, логин, пароль и jabber сервер для бота

10)Открываем config.pl и правим строки:
$server = "ipse.zapto.org";
$username = "jabberwocky";
$nickname = "Калигулa";
$pass = "xxx";
Викторину бот после этого не ведет, бояны не травит. для этих функций к нему необходимо подключить соответствующие MySQL базы.
Если возникнут вопросы, пишите мне в жаббер
Valid XHTML 1.0 Strict