Awakari: от чат-бота к PWA

Пару месяцев назад в публичном доступе появился телеграм-бот Awakari. Он позволял управлять подписками и источниками, получать и отправлять сообщения в систему. После успешной интеграции с Telegram естественным образом возник вопрос — почему бы не интегрировать Awakari также с WhatsApp, WeChat и так далее? Однако дублировать одни и те же функции интерфейса в разных чат-ботах желания не нашлось. В итоге, было решено остановиться на web UI для функций управления подписками и источниками. Мессенджеры должны эксплуатироваться по своему прямому назначению — для отправки и доставки сообщений. В этой статье я расскажу о том, что из этого вышло.

Но сначала небольшое введение для тех, кто впервые читает об Awakari:

Awakari — бесплатный сервис, который «читает интернет» за вас и уведомляет вас только о том, что вам интересно. Для этого достаточно создать подписку с «поисковым» запросом на интересующие вас темы и ждать новых сообщений. Сервис получает сообщения из разных источников: уже 100 лент RSS, 74 телеграм-каналов, 35 сайтов. Если нужного источника нет в списке, можно добавить свой.

Новый интерфейс доступен по адресу https://awakari.com/login.html.

Можно установить это как PWA, что может быть удобно при работе с мобильного телефона.

Установка PWA на Android

Установка PWA на Android

Сервис принципиально не хранит никаких данных пользователей, аутентификация — внешняя. На данный момент, чтобы получать сообщения по подпискам в телеграм, нужно выбрать соответствующий способ (единственно доступный к тому же):

6a7216a1a46ec04957294851d6f52715.png

Сервис состоит по сути из двух основных функций — Publish и Subscribe. Поэтому интерфейс содержит эти две вкладки:

cefb7bc2d35a366513bb4bcc589c92a1.png

На вкладке «Pub» можно управлять источниками сообщений или отправить отдельное сообщение кнопкой »+ Message». Если очень нужно отправить картинку, видео или что-то такое, то лучше перейти по кнопке «Publish in Telegram».

Внизу есть варианты наиболее часто используемых атрибутов сообщений. В зависимости от выбранного атрибута также автоматически выбирается тип и пример значения атрибута.

Внизу есть варианты наиболее часто используемых атрибутов сообщений. В зависимости от выбранного атрибута также автоматически выбирается тип и пример значения атрибута.

Соответственно, на вкладке «Sub» — всё для управления подписками текущего пользователя:

af1b813f9ea604ee50aeb8214cbf6fbd.png

Новую подписку можно создать нажатием кнопки »+ Subscribe». Диалог создания новой подписки имеет новый упрощенный вид, где можно просто перечислять ключевые слова через пробел. В этом упрощенном режиме можно также создать «цепочку фильтров» (до 4-х), каждое из которых будет обязательным условием (если указано и не пустое):

dc04d2c33d4be0a050622a5f2afc3bd3.png

Продвинутый режим переключается с помощью «Advanced» вверху справа. Тогда диалог создания подписки будет выглядеть также, как и редактирование уже существующей подписки, то есть так:

851023dd72145ee93767e5f855e88f90.png

В расширенном режиме можно задавать более сложные условия фильтрации и группировать и группировать их. Подробнее об этом — в статье Использование Awakari на практике.

Другие изменения в Awakari

Источники сообщений

Для ресурсов, у которых нет ни полезного телеграм канала, ни RSS-ленты появилось новое экспериментальное решение. Тип источника «сайт», который поддерживает адреса произвольных сайтов интернета. Сообщения генерируются, если на сайте есть изменения. Изменения проверяются раз в сутки.

:Каждое из результатов становится отдельным сообщением

: Каждое из результатов становится отдельным сообщением

Для добавления сайта нужно выбрать соответствующий тип, адрес следует указывать без протокола «https://»:

9932715a624a3b12381b526595eac757.png

Телеграм бот

Все дублирующиеся в PWA функции были удалены из телеграм-бота. Таким образом, бот теперь может использоваться только для отправки и получения сообщений. При этом, добавился новый режим работы бота в телеграм-канале, который дополняет существующий телеграм-клиент, читающий сообщения публичных каналов.

Таким образом, у телеграм бота теперь 3 режима работы:

  • Приватный чат — для отправки сообщения в Awakari.

  • Группа — выбор подписки и чтение входящих сообщений по этой подписке.

  • Канал — бот читает сообщения канала и отправляет их в Awakari.

Поэтому предпочтительный способ добавления телеграм-канала в коллекцию источников Awakari теперь — это пригласить бота в канал. К сожалению, телеграм позволяет добавлять бота в канал только как админа, но можно просто выключить все админские права:

Для спокойствия

Для спокойствия

© Habrahabr.ru