Сейчас почти всё переехало в Telegram: блогеры, авторитетные ресурсы, СМИ — у каждого свой канал.

Утро. Открываю Telegram — счётчик непрочитанного как телефонный номер. Пролистываю: репост, реклама, «доброе утро, друзья», тот же самый инфоповод пятью каналами подряд. Где-то между этим — две вещи, которые мне правда нужны. Выцепляю их за полчаса залипания. Или пропускаю и узнаю последним.

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

Подписан на всё, чтобы ничего не пропустить, — и в итоге не читаю ничего. На «быть в курсе» уходит больше часа в день, а в курсе я себя не чувствую.Тут может кто то сказать - "брат тайменеджмент на новости" , но я подумал о том, что в наше время можно как то упростить поток информации.

Зачем я вообще это собрал

Захотелось попробовать создать одно место, куда падает нужное с разных каналов — и где видно, у кого что вышло. Не изобритать новую ленту, а наобарот тот контент который нужен раз в день но в большом количестве, правильно отсортировать.

Собрал бота в Telegram. Криво, на коленке (спасибо нейросетям), «лишь бы работало» — я и не думал, что это пригодится кому-то, кроме меня.

Первая версия крутилась на моём домашнем компьютере и умирала при каждом обрыве интернета или новых блокировках: дайджест просто не уходил, и никто об этом не узнавал, включая меня. С тех пор бот пожил на нормальной инфраструктуре и пережил пару историй, которые заслуживают отдельного поста. Например, Telegram однажды убил сессию бота за то, что она работала с двух IP одновременно. Об этом — потом, а то статья не влезет.

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

Итог пары месяцев: я перестал открывать мессенджер «на проверить». Один раз утром читаю выжимку и знаю, что происходит. Ушло фоновое «а вдруг я что-то пропустил»: если это важно — оно в дайджесте; если его там нет — это был шум, о котором и знать не стоило или вовсе реклама.

Обратно уже не хочу.

Почему открыл это другим?

Рассказал паре знакомых — предприниматель, маркетолог, человек из инвестиций. Думал, покивают в ответ на вежливое «интересно».

Ответ у всех троих получился примерно одинаковый: тонут в каналах, боятся пропустить. Один вообще платил ассистенту, чтобы тот руками собирал сводки.

Раз уж я собрал эту штуку для себя, глупо держать её только при себе.

Что это по сути

Фильтр между вами и шумом, а не очередная лента, которая просит внимания. Вы добавляете каналы, которые хотите отслеживать (важно: открытые), бот отсеивает рекламу, перепечатки и воду, а на выходе даёт короткий человеческий пересказ. К каждому пункту подставлена ссылка на оригинал: зацепила тема, перешёл и прочитал целиком; не зацепила, так вы её всё равно не пропустили.

пример работы
пример работы

Работает только с каналами, не с чатами. Бот смотрит, какие посты вышли, нейросеть сортирует их, делает саммари и присылает вам в заданное время.

Самым сложным оказалась не прикрутить нейросеть это дело техники. Сложнее было решиться , отключить уведомления каналов и не чекать их постоянно. Мозг сопротивляется: а вдруг именно этот пост важный, а вдруг пропущу. Пришлось заставить себя довериться фильтру. И только когда отпустило это «а вдруг», всё заработало как надо.

«Да я за вечер такого напишу»

Честный разговор с теми, кто пишет код, — таких на этом сайте большинство.

Соберёте. Я тоже собрал, и вечер с пет-проектом — лучшая часть этой истории. Скрипт, который раз в день ходит по каналам и шлёт саммари через какой-нибудь API, действительно пишется за вечер.

Дальше начинается то, о чём вечер не предупреждает:

  • Бот должен жить всегда. Дайджест нужен в 9 утра независимо от того, спит ли ваш компьютер, перезапустился ли контейнер, отвалилась ли сеть. Нужна инфраструктура с автоперезапуском и хранением состояния, и это дороже самого скрипта.

  • Нейросеть в кредитной карте. Один бесплатный провайдер кончается в самый неудобный момент. У меня собран пул бесплатных маршрутов с авторотацией: один упёрся в лимит — запрос молча уходит к следующему. Именно поэтому бот для меня в ноль, а не «ещё одна подписка».

  • Доступ к Telegram из инфраструктуры. Кое-где напрямую он не ходит, поэтому трафик бота идёт через встроенный MTProto-прокси.

  • Мелочи, которые съедают неделю. Доставка до конца (посты не теряются при обрыве связи посреди отправки), фильтр рекламы и перепечаток, лимиты Telegram на частоту запросов, каналы, которые ведут себя нечестно.

Я не говорю «не собирайте». Собирайте, если процесс в кайф, — мне он дал больше, чем любой курс. Я говорю, что за вечер соберётся первая десятая часть. Если нужна просто выжимка из ваших каналов без всех этих приключений, она у меня уже готова. Ссылка в конце.

Под капотом (для любопытных)

Пара слов без занудства:

  • Бот не зависит от одного протокола. Если Bot API недоступен, дайджест всё равно уйдёт по MTProto, тем же путём, каким ходят сами мессенджеры.

  • Канал помечается «прочитанным» только после того, как дайджест реально доставлен. Связь отвалилась посреди отправки. Посты приедут в следующий раз, ничего не потеряется.

  • Сеть пропала ночью — бот не умирает с ошибкой, а ждёт и оживает сам, когда она вернётся. Никаких «перезапустите бота».

Всё это собрано из открытых частей на Python. Если захочется обсудить реализацию, добро пожаловать в комментарии: я там отвечаю.

Что там с деньгами

Тут нет смысла все перечислять. Главное: бот бесплатный. Можно добавить до 10 каналов, этого хватает на все живые подписки тг каналов; Ресурсы на нейросети у меня не бесконечные, поэтому ограничение честное, а не «сгорите через 3 дня все токены». Для тех, кому нужно больше, есть добровольная поддержка проекта. В благодарность открываю расширенные возможности: больше каналов, дайджест по кнопке, озвучку дайджестов голосом, приоритет в очереди и т.д

Из остального: история и статистика по вашим каналам, экспорт дайджеста в PDF, фильтр рекламы, группировка каналов и «горячие» ключевые слова: выходит пост с нужным словом, и он прилетает вам сразу. Остальное проще один раз потрогать, чем прочитать.

Безопасность

Бот хранит только список публичных каналов, которые вы сами добавили, — это нужно, чтобы собирать вашу сводку, как список закладок. Он не читает ваши личные сообщения, контакты и чаты — у него вообще нет к ним доступа. Ваши каналы используются только для вашего дайджеста, никому не передаются и не продаются. Любой канал можно удалить в один клик.

Вернитесь к первому вопросу: сколько каналов вы читаете? И сколько из них читаете по-настоящему?

Я для себя эту проблему закрыл. Расскажите в комментариях, как справляетесь вы. А если уже собрали своего бота, тем более напишите, мне правда интересно, что у вас получилось.


Попробовать бота: бот