This repository has been archived on 2025-07-01. You can view files and clone it, but cannot push or open issues or pull requests.
eleksir a0fd6faafc Introduce option country in config to use either country code or coordinates as secondary id for city.
Looks like openweathermap.org gives incorrect or mangled coutry codes for some cities for whatever reasons.
So we have to introduce this option in order to cool-down irritation of some engaging users.
2023-05-07 16:22:33 +03:00
2023-02-04 15:15:19 +03:00
2022-01-05 16:21:54 +03:00
2021-08-18 18:55:00 +03:00
2021-08-18 18:55:00 +03:00
2021-08-18 18:55:00 +03:00

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
Description
Web application client for aleesa-bot
Readme 86 KiB
Languages
Perl 99.5%
Shell 0.5%