Files
aleesa-cli/README
2022-04-16 16:18:28 +03:00

60 lines
4.9 KiB
Plaintext

aleesa-cli
-----------------------------------------------------------------------------------------------------------------------
Интерфейс командной строки для aleesa-bot-а. Способ "пообщаться" с ботом не подключаясь ни к каким сервисам.
Cli изображает "приватный" режим чата.
Cli нужна в основном для упрощения процедуры отладки новых модулей бота.
Механика работы
-----------------------------------------------------------------------------------------------------------------------
Клиент подписан на pubsub redis-канал "cli" (без кавычек) и шлёт все сообщения в канал misc (см. соответствующие
параметры в config.json)
Формат протокола см. документацию к модулю aleesa-misc.
Встроенные команды aleesa-cli
-----------------------------------------------------------------------------------------------------------------------
Встроенные в cli команды:
help - показать help по командам
debug - посмотреть включён ли режим отладки
debug 1 - включить режим отладки (скорее всего оно вам не нужно)
debug 0 - выключить режим отладки
mode - показать текущий режим общения
mode private - приватный режим общения
mode public - публичный режим общения
mode monitor - режим мониторинга сообщений в redis-каналах
mon - список отслеживаемых redis pubsub-каналов
mon add channel - добавить к списку отслеживаемых набор каналов channel
mon remove channel - убрать из списка отслеживаемых набор каналов channel
mon del channel - убрать из списка отслеживаемых набор каналов channel
mon delete channel - убрать из списка отслеживаемых набор каналов channel
verbose - посмотреть включён ли вербозный режим
verbose 1 - показывать входящие и исходящие сообщения дополнительно в виде json-а
verbose 0 - не показывать json
exit - выйти из cli
quit - выйти из cli
Пояснение про режимы общения.
* Приватный режим изображает общение один-на-один с ботом.
* Публичный - изображает общение в публичном чате. Поведение бота различается в этих режимах, в том числе некоторые
команды реализованы с особенностями того или иного режима общения. Quod licet Jovi, non licet bovi.
* Монитор - выводит все сообщения из redis-каналов, на которые подписана cli. По-умолчанию она подписана на канал cli
(задан в конфиге). И этот канал убрать нельзя. А сам список можно менять командой mon add или mon remove, за которым
следует набор каналов, на которые следует подписаться или от которых надо отписаться. Разделитель - регулярка
/\s*\,?\s+/. В этом режиме общаться с ботом нельзя, работают только команды cli.
Как это запустить?
-----------------------------------------------------------------------------------------------------------------------
Понадобится perl, cpanm и local::lib, а также несколько разных devel-пакетов для разных библиотек. Как правило, это
находится методом тыка. Кроме того, понадобятся development tools - gcc, gcc-g++, perl-devel, make, cmake и так далее.
В каталоге с приложением под целевым пользователем запускаем bash bootstrap.sh и ждём с надеждой, что оно не обломится
в пути.
Если всё хорошо, создём config.json из config_sample.json и можно запускать приложение.
Предполагается, что остальные компоненты бота сконфигурированы и запущены.