4706322c4e83a2fdce8e66dedd845e85ebf5b801
aleesa-craniac ----------------------------------------------------------------------------------------------------------------------- Бредогенератор, основанный на цепях Маркова. Попутно сохраняет состояние цепей в sqlite-базу. Собственно, является "мозгом" aleesa bot-а. Механика работы ----------------------------------------------------------------------------------------------------------------------- Бредогенератор подписан на redis-канал craniac. В этот канал пишет другой демоночек - aleesa-misc-go. Причём, особенность такова, что если aleesa-misc не распознала фразу, как команду для другого модуля, то по-умолчанию такая фраза оправляется в канал craniac, то есть сюда, в "мозги". У бредогенератора есть 2 типа входящих сообщений - ключевые фразы, на которые у него есть готовые (статические) ответы и остальные, для которых ему надо решить нужен ли ответ и по-необходимости сгенерировать его, используя данные в цепях Маркова. Ответ направляется в redis-канал, указанный в поле plugin входящего сообщения, если не предполагается некоей особой логики, связанной, наприме, с easter egg поведением. Формат протокола - см. README от aleesa-misc-go. Как это запустить? ----------------------------------------------------------------------------------------------------------------------- Понадобится 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
Languages
Perl
98.9%
Shell
1.1%