Мой Telegram-бот для агрегирования новостей: опыт создания и использования

Привет, сообщество vc.ru!

Хочу поделиться своим проектом — Telegram-ботом, который значительно упрощает процесс чтения новостей в любимых Telegram-каналах. Если вас тоже утомляют сотни сообщений ежедневно, этот бот может вам помочь.

Ссылка на бота:

Два года назад я столкнулся с проблемой: хотел быть в курсе мировых событий, но топовые Telegram-каналы публикуют более 50 постов ежедневно. Просматривать все стало слишком утомительно, и я решил автоматизировать этот процесс.

Как работает бот?

  • Добавляете каналы: Отправляете боту ссылки на интересующие вас публичные Telegram-каналы.
  • Анализ контента: Бот регулярно сканирует их, оценивая популярность постов (по комментариям, перепостам и реакциям).
  • Отбор лучших: Вы получаете только самые популярные публикации, а настройки позволяют задать процент пересылаемых постов.
Старт работы с ботом
Старт работы с ботом

Чтобы избегать постов, которые намеренно выделяются из-за прямых запросов авторов на лайки или комментарии, бот также делает OpenAI запросы для анализа сообщений. Это позволяет избегать сообщений, которые не несут информационной ценности.

Чтобы сделать начало работы с ботом проще и удобнее, я добавил команду /add_popular. С её помощью пользователь может быстро добавить канал из списка самых популярных Telegram-каналов, которые сгруппированы по категориям. Это особенно полезно для тех, кто хочет сразу протестировать бота, но не знает, с каких каналов начать.

Категории самых популярных каналов в Telegram
Категории самых популярных каналов в Telegram

Почему это полезно?

Этот бот стал моим основным инструментом для чтения новостей в Telegram. Он позволяет:

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

Техническая информация

Основной код написан на Python с использованием Telegram API. Бот работает на виртуальном сервере Amazon Lightsail, что обеспечивает стабильность и низкую стоимость. Для хранения данных о подписках пользователей и их настройках используется PostgreSQL. Алгоритм отбора популярных публикаций основывается на реакции аудитории — учитываются как количество комментариев, так и реакции в Telegram.

Чему я научился

Работа над этим проектом дала мне несколько ценных уроков.

Во-первых, я стал писать скрипты практически на всё, что можно автоматизировать, что существенно улучшило мой подход к рутинным задачам.

Во-вторых, я понял важность компромиссных решений. Как pet-проект, бот не всегда получал достаточно времени и сил для реализации идеального решения. Например, изначально я выбрал одну библиотеку для работы с Telegram API, но она перестала обновляться и не поддерживала сообщения с цитатами. Вместо полной замены я решил сэкономить время и переписал только нужную часть функционала, используя другую библиотеку. Этот подход позволил сохранить баланс между эффективностью и затраченными усилиями.

Обратная связь

Буду рад, если кто-то из вас попробует бот и поделится своими впечатлениями. Также мне интересно, какие дополнительные функции или возможности вы хотели бы видеть в подобном инструменте?

Жду ваших комментариев и идей! 🚀

Мой Telegram-бот для агрегирования новостей: опыт создания и использования
1
2 комментария

Удобный бот для фильтрации новостей, экономит время и помогает избежать информационного шума.

А автопостинг там есть? Образно есть подборка новостей и все новости автоматом отправляются в тг канал от имени этого канала? Есть такая возможность, если нет обязательно добавьте, у Вас отбоя от контент-менеджеров и SMM и маркетологов не будет.