aleesa-craniac
-----------------------------------------------------------------------------------------------------------------------
Бредогенератор, основанный на цепях Маркова. Попутно сохраняет состояние цепей в sqlite-базу. Собственно, является
"мозгом" aleesa bot-а.


Механика работы
-----------------------------------------------------------------------------------------------------------------------
Бредогенератор подписан на redis-канал craniac. В этот канал пишет другой демоночек - aleesa-misc. Причём, особенность
такова, что если aleesa-misc не распознала фразу, как команду для другого модуля, то по-умолчанию такая фраза
оправляется в канал craniac, то есть сюда, в "мозги".

У бредогенератора есть 2 типа входящих сообщений - ключевые фразы, на которые у него есть готовые (статические) ответы
и остальные, для которых ему надо решить нужен ли ответ и по-необходимости сгенерировать его, используя данные в цепях
Маркова.

Ответ направляется в redis-канал, указанный в поле plugin входящего сообщения, если не предполагается некоей особой
логики, связанной с easter egg поведением.

Формат протокола - см. README от aleesa-misc.


Как это запустить?
-----------------------------------------------------------------------------------------------------------------------
Понадобится perl, cpanm и local::lib, а также несколько разных devel-пакетов для разных библиотек. Как правило, это
находится методом тыка, но точно понадобятся sqlite-devel, bdb-devel (или db-devel), hiredis-devel. Кроме того,
понадобятся development tools - gcc, gcc-g++, perl-devel, make, cmake и так далее.

В каталоге с приложением под целевым пользователем запускаем bash bootstrap.sh Ждём с надеждой, что оно не обломится в
пути.

Если всё хорошо, то после запуска redis-а, создания data/config.json из data/config_sample.json, можно запускать и само
приложение.

В каталоге contrib находится скрипт для alpine linux, системы инициализации openrc.

Этот скрипт достаточно положить в /etc/init.d/aleesa-craniac, сконфигурить сервис по инструкции выше и, после этого,
сервис запускается командой:
service aleesa-craniac start

В автозагрузку его можно прописать через команду:
rc-update add aleesa-craniac default
Description
No description provided
Readme 94 KiB
Languages
Perl 98.9%
Shell 1.1%