82 lines
6.0 KiB
Plaintext
82 lines
6.0 KiB
Plaintext
aleesa-webapp
|
|
-----------------------------------------------------------------------------------------------------------------------
|
|
Клиент для различных веб-приложений и API. Работает по протоколу Redis pubsub.
|
|
|
|
|
|
Механика работы
|
|
-----------------------------------------------------------------------------------------------------------------------
|
|
Клиент подписан на на redis-канал webapp. В этот канал пишет другой демоночек - aleesa-misc.
|
|
|
|
Формат протокола общения по redis pub-sub - см README от aleesa-misc.
|
|
|
|
|
|
Плагин для работы с flickr
|
|
----------------------------------------------------------------------------------------------------------------------
|
|
Этот плагин используется для добычи ссылок на картинки в разных "картиночных" командах бота.
|
|
|
|
Есть скрипт, который поможет с регистрацией приложения в api Flickr - bin/flickr_init.pl он достанет все нужные ключи
|
|
и секреты к ним.
|
|
|
|
До запуска этого скрипта, бот должен быть забутстраплен через bootstrap.sh.
|
|
|
|
Залогиньтесь https://identity.flickr.com/login и создайте app https://www.flickr.com/services/apps/create/apply/ в
|
|
своём Flicker-овском аккаунте.
|
|
|
|
Запишите app key и secret https://home.openweathermap.org/api_keys в config.json. Удостоверьтесь, что параметр
|
|
"verifier" в конфиге либо закоменчен либо отсутствует.
|
|
|
|
Далее, разлогиньтесь, это нужно, чтобы потом проще было достать параметр verifier.
|
|
|
|
Запустите bin/flickr_init.pl и следуте предлагаемым инструкциям - в итоге будет дана ссылка, которую надо скопипастить
|
|
в браузер. По ссылке предложат залогиниться, далее надо будет разрешить приложению просматривать профиль и через
|
|
один-два редиректа вы попадёте на example.com. Из адресной строки браузера надо скопировать параметр "verifier" и
|
|
вписать его в config.json.
|
|
|
|
Чтобы сохранить в бд плагина API access token для нормальной работы плагина, второй раз запустите bin/flickr_init.pl.
|
|
На этом всё.
|
|
|
|
|
|
Плагин OpenWeatherMap
|
|
-----------------------------------------------------------------------------------------------------------------------
|
|
Для работы погодного плагина надо заргистрироваться на сайте OWM
|
|
https://home.openweathermap.org/users/sign_in , залогиниться
|
|
https://home.openweathermap.org/users/sign_in и создать api key
|
|
https://home.openweathermap.org/api_keys . Free plan предлагает всё необхдимое для работы плагина.
|
|
|
|
Когда api key будет создан, его нужно вписать в config.json в секцию openweathermap в качестве appid. На этом всё.
|
|
|
|
|
|
Список строк UserAgent для модуля Drink
|
|
-----------------------------------------------------------------------------------------------------------------------
|
|
На сайте https://kakoysegodnyaprazdnik.ru/ умеют банить по useragent-у чем-то им не угодил UA от Mojo::Client. Пришлось
|
|
прикрутить список из 31 штуки Browser UserAgent string, по одному на каждый день недели.
|
|
|
|
|
|
Как это запустить?
|
|
-----------------------------------------------------------------------------------------------------------------------
|
|
Понадобится perl, cpanm и local::lib, а также несколько разных devel-пакетов для разных библиотек. Как правило, это
|
|
находится методом тыка, но точно понадобятся sqlite-devel, bdb-devel (или db-devel), hiredis-devel. Кроме того,
|
|
понадобятся development tools - gcc, gcc-g++, perl-devel, make, cmake и так далее.
|
|
|
|
Приложение тестировалось на alpine linux x86_64 3.12, со встроенным perl-5.32.1
|
|
|
|
В каталоге с приложением под целевым пользователем запускаем bash bootstrap.sh Ждём с надеждой, что оно не обломится в
|
|
пути.
|
|
|
|
Если всё хорошо, то после запуска redis-а, создания data/config.json из data/config_sample.json, можно запускать и само
|
|
приложение.
|
|
|
|
В каталоге contrib находится скрипт для alpine linux, системы инициализации openrc. Этот скрипт достаточно положить В
|
|
/etc/init.d/aleesa-webapp сконфигурить сервис по инструкции выше и после этого сервис запускается командой:
|
|
service aleesa-webapp start
|
|
|
|
в автозагрузку его можно прописать через команду:
|
|
rc-update add aleesa-webapp default
|
|
|
|
|
|
На MacOS вылазит ошибка BerkeleyDB.xs:82:2: error: db.h is from Berkeley DB 1.x - need at least Berkeley DB 2.6.4
|
|
------------------------------------------------------------------------------------------------------------------------
|
|
На момент 04.02.2023 в Mac OS Ventura (13.1), это чинится установкой через brew пакета berkeley-db4:
|
|
brew install berkeley-db4
|
|
brew link berkeley-db4 --force
|