Awakari: от чат-бота к PWA
Пару месяцев назад в публичном доступе появился телеграм-бот Awakari. Он позволял управлять подписками и источниками, получать и отправлять сообщения в систему. После успешной интеграции с Telegram естественным образом возник вопрос - почему бы не интегрировать Awakari также с WhatsApp, WeChat и так далее? Однако дублировать одни и те же функции интерфейса в разных чат-ботах желания не нашлось. В итоге, было решено остановиться на web UI для функций управления подписками и источниками. Мессенджеры должны эксплуатироваться по своему прямому назначению - для отправки и доставки сообщений. В этой статье я расскажу о том, что из этого вышло.
Но сначала небольшое введение для тех, кто впервые читает об Awakari:
Awakari - бесплатный сервис, который "читает интернет" за вас и уведомляет вас только о том, что вам интересно. Для этого достаточно создать подписку с "поисковым" запросом на интересующие вас темы и ждать новых сообщений. Сервис получает сообщения из разных источников: уже 100 лент RSS, 74 телеграм-каналов, 35 сайтов. Если нужного источника нет в списке, можно добавить свой.
Можно установить это как PWA, что может быть удобно при работе с мобильного телефона.
Сервис принципиально не хранит никаких данных пользователей, аутентификация - внешняя. На данный момент, чтобы получать сообщения по подпискам в телеграм, нужно выбрать соответствующий способ (единственно доступный к тому же):
Сервис состоит по сути из двух основных функций - Publish и Subscribe. Поэтому интерфейс содержит эти две вкладки:
На вкладке "Pub" можно управлять источниками сообщений или отправить отдельное сообщение кнопкой "+ Message". Если очень нужно отправить картинку, видео или что-то такое, то лучше перейти по кнопке "Publish in Telegram".
Соответственно, на вкладке "Sub" - всё для управления подписками текущего пользователя:
Новую подписку можно создать нажатием кнопки "+ Subscribe". Диалог создания новой подписки имеет новый упрощенный вид, где можно просто перечислять ключевые слова через пробел. В этом упрощенном режиме можно также создать "цепочку фильтров" (до 4-х), каждое из которых будет обязательным условием (если указано и не пустое):
Продвинутый режим переключается с помощью "Advanced" вверху справа. Тогда диалог создания подписки будет выглядеть также, как и редактирование уже существующей подписки, то есть так:
В расширенном режиме можно задавать более сложные условия фильтрации и группировать их. Подробнее об этом - в статье Использование Awakari на практике.
Другие изменения в Awakari
Источники сообщений
Для ресурсов, у которых нет ни полезного телеграм канала, ни RSS-ленты появилось новое экспериментальное решение. Тип источника "сайт", который поддерживает адреса произвольных сайтов интернета. Сообщения генерируются, если на сайте есть изменения. Изменения проверяются раз в сутки.
Для добавления сайта нужно выбрать соответствующий тип, адрес следует указывать без протокола "https://":
Телеграм бот
Все дублирующиеся в PWA функции были удалены из телеграм-бота. Таким образом, бот теперь может использоваться только для отправки и получения сообщений. При этом, добавился новый режим работы бота в телеграм-канале, который дополняет существующий телеграм-клиент, читающий сообщения публичных каналов.
Таким образом, у телеграм бота теперь 3 режима работы:
Приватный чат - для отправки сообщения в Awakari.
Группа - выбор подписки и чтение входящих сообщений по этой подписке.
Канал - бот читает сообщения канала и отправляет их в Awakari.
Поэтому предпочтительный способ добавления телеграм-канала в коллекцию источников Awakari теперь - это пригласить бота в канал. К сожалению, телеграм позволяет добавлять бота в канал только как админа, но можно просто выключить все админские права: