Телеграм бот, написанный на Java.
Данный проект полностью написан мной в рамках курса от Тинькофф по бэкенд разработке на Java. В ходе заданий было написано 2
web-сервиса для отслеживания обновления контента по ссылкам: Bot и Scrapper. В сервисе поддерживаются:
- Вопросы со StackOverflow
- Репозитории GitHub
Управление подписками (ссылками) происходит через чат с ботом в Telegram. При новых изменениях в чат отправляется уведомление.
Сервисы будут общаться между собой как напрямую (по HTTP), так и асинхронно (очередь сообщений). Для хранения данных будет использоваться СУБД PostgreSQL.
Примитивная схема выглядит следующим образом:
+-------------+ | PostgreSQL | +----------|--+ | | +---------|--+ | | | Scrapper --\ | | ---\ +-------------+ +---------|--+ ---| | | | RabbitMQ | |HTTP --| | | -/ +-------------+ +---------|--+ -/ | | -/ | Bot -/ | | +------------+
Взаимодействие с базой данных может происходить по одному из следующих способов: JDBC, JPA, jOOQ.
Чтобы начать отслеживать ссылку, нужно ввести следующую команду:
/track <your-tracking-url>
Чтобы прекратить отслеживать ссылку, нужно ввести следующую команду:
/track <url-to-untrack>
Чтобы получить список всех отслеживаемых ссылок, нужно ввести следующую команду:
/list
Оповещение об обновлении репозитория выглядит следующим образом:
Оповещение о новых ответах на вопрос выглядит следующим образом: