33 lines
2.6 KiB
Plaintext
33 lines
2.6 KiB
Plaintext
aleesa-craniac
|
|
-----------------------------------------------------------------------------------------------------------------------
|
|
Бредогенератор, основанный на цепях Маркова. Попутно сохраняет состояние цепей в sqlite-базу. Собственно, является
|
|
"мозгом" aleesa bot-а.
|
|
|
|
|
|
Механика работы
|
|
-----------------------------------------------------------------------------------------------------------------------
|
|
Бредогенератор подписан на redis-канал craniac. В этот канал пишет другой демоночек - aleesa-misc. Причём, особенность
|
|
такова, что если aleesa-misc не распознала фразу как команду для другого модуля, то по-умолчанию такая фраза
|
|
оправляется в канал craniac, то есть сюда, в "мозги".
|
|
|
|
У бредогенератора есть 2 типа входящих сообщений - ключевые фразы, на которые у него есть готовые (статические) ответы
|
|
и остальные, для которых ему надо решить нужен ли ответ и по-необходимости сгенерировать его, используя данные в цепях
|
|
Маркова.
|
|
|
|
Ответ направляется в redis-канал, указанный в поле plugin входящего сообщения.
|
|
|
|
Формат протокола - см 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, можно запускать и само
|
|
приложение.
|