Проект: FeedCraft — дайджесты к телеграм каналам  Публичный пост
29 июля 2025  435
FeedCraft - дайджесты к телеграм каналам
https://t.me/FeedCraftbot

Привет!

Я сделал (еще один) саммаризатор каналов в телеграмме - бот FeedCraft.

По заветам make — решил свою проблему, теперь сам им активно пользуюсь и очень доволен.

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

В результате я таки стал читать эти каналы с интересной для меня информацией - и трачу на это меньше времени и когнитивных усилий.

Вот несколько примеров:

  • Дайджест по дата-сайенс, который я читаю: t.me/TLDR_data_science
  • Дайджест по крипте: https://t.me/TLDRishnaya
  • Дайджест по каналам жены — десяток штук по когнитивным наукам, которые она выбрала (я и сам теперь пролистываю, попадаются интересные штуки, которые я так бы и не увидел никогда): t.me/tldr_brain_science

Что умеет бот

Бот позволяет собрать список каналов и получать по ним дайджест. Можно добавить каналы поштучно или сразу всю «папку». Сейчас в бесплатной версии — до 5 каналов в дайджесте, публикация каждые 3 дня. Можно выбрать время публикации.

В платных вариантах (за “звезды” телеграм):

  • несколько списков с большим числом каналов;
  • публикация дайджеста в свой канал;
  • кастомный промпт;
  • разная частота публикаций;
  • свой хедер/футер.

Также есть опция с неограниченным количеством списков и каналов, где пользователь использует свой Gemini API ключ (на случай отказа Gemini — есть fallback на OpenAI). Тут можно настроить всё, что угодно: частоту, промпт, оформление, публикацию в свой канал.

Кто пользуется

Пока пара друзей. Написать код оказалось легче, чем рассказать о нём. Даже этот пост я оттягивал несколько недель.

Но результат есть — я реально читаю больше интересного, и трачу на это меньше времени и усилий.

Подробности по созданию:

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

Вначале я сделал более сложный, на мой взгляд, проект - получение и сохранение данных не только из каналов, но и из чатов. Там было получение данных через юзер-сессию, своя база данных, поиск по ней, даже RAG прикрутил (не сработало).

Пообщавшись с другом, решил сделать попроще - закрыть более простую потребность. Все равно заняло 3-4 недели.

  • Сбор каналов — через RSSHub. Для «закрытых» — через telegram-сессию.
  • Вайбкодил с помощью cline и Gemini 2.5.
  • Узнал про Шотган @glebkudr из чата и стал тоже использовать его в своем проекте, спасибо, Глеб!
  • Еще удобная фича из Шотгана - промпт поиска багов. Что-то действительно нашлось.
  • Для некоторых штук (деплой, мониторинг, идеи) пользовался “проектом” в ChatGPT - загружал туда весь репозиторий одним файлом и задавал по нему вопросы
  • Удобно добавлять фичи, которые несут за собой большие изменения - кнопочки появляются, локализация пишется, строчки в базе данных добавляются.
  • Тесты тоже писал с помощью LLM, но надо всё равно проверять глазами, хотя как старт — хорошо. Писал их в Google CLI, тогда он только появился, хотелось попробовать. Сейчас бы, может, начал с тестов, а потом писал под них код.
  • Я почти не использовал dev-rule.md (зря). Взял часть из шотгана и добавил кусочек, который помогал избегать регрессий:
  • Every time I correct you mark patch code with # IMPORTANT: commentary.
  • Be extremely careful when changing code that contains # IMPORTANT: annotations. Always double-check if you are about to remove or change them.
  • Every time you're pointed to the fact that you accidentally introduced a regression, make sure to add # IMPORTANT: commentary when returning status quo.
  • Все изменения в коде я смотрел глазками и тестировал ручками, если это было возможно. Не совсем тот вайбкодинг получился, как про него пишут.

Неожиданные трудности

  • В целом получилось достаточно много наворотов. Вроде бы рекомендуется запускаться с простым функционалом, а потом допиливать - у меня это не получилось:(
  • Телеграм поддерживает урезаный markdown, с этим пришлось бодаться. Также, если пост длинный - надо было следить, чтобы при разбиении на несколько постов теги не разрезались, такое телеграм не прощает.
  • Хотел добавить оплату не только “звездами”, но и по-человечески, но официально телеграм позволяет оплату картами только для реальных товаров. Хотя у многих ботов есть оплата картами - это нарушение условий пользования телеграм.

В целом, повторюсь, я стал читать больше интересного, и трачу на это меньше времени и усилий. Надеюсь, кому-то это тоже поможет.

Если подписка кажется дорогой, хочется каких-то других условий и фич - напишите мне, я пойду навстречу.

Связанные посты
13 комментариев 👇
Дима👹🦆 Индимейкер с опытом продакта, исследователя и дизайнера 29 июля в 17:12

Добро пожаловать в клуб Суммаризаторы без продаж ) @sumai_news_bot

  Развернуть 1 комментарий

@wildestduck, 😀

  Развернуть 1 комментарий

а никто не думал сделать такое же для youtube?
я сам пользуюсь для telegram junkction bot, для youtube тоже перешел на выжимки, но через ручной пердолинг с rss и notebooklm

  Развернуть 1 комментарий

@evgen2, я думал, но не придумал как спроектировать удобный пользовательский опыт — с телефона так точно. На компе плагины для браузера? Тоже так себе решение, гиковское

  Развернуть 1 комментарий

@wildestduck, навайбкодил тут за месяцок, попробуй)
https://seriqa.app

  Развернуть 1 комментарий

О, забыл! Еще была морока с фичей - задать желаемое время получения дайджеста: пришлось спрашивать у пользователя его часовой пояс или время - и уже привязываться к нему, телеграм этих данных не отдает.

  Развернуть 1 комментарий
Pavel Savinov Android Tech Lead & Senior Android Software Developer 29 июля в 13:21

Что такое dev-rule.md и шотган?

  Развернуть 1 комментарий

@swapii, dev-rule.md -- это файл с инструкцией для LLM, которая его всегда читает, считай как дополнение к user prompt.
Шотган https://github.com/glebkudr/shotgun_code - это программа, которую сделал @glebkudr, которая позволяет сделать один длинный промпт, в который влезает весь код небольшого проекта и промпт к нему. Это все нужно, чтобы использовать Gemini 2.5 через https://aistudio.google.com который имеет 1М токенов контекста. В результате LLM получает задание и весь проект целиком и вроде меньше путается в коде.

  Развернуть 1 комментарий

@kuilef, интересно, спасибо. Я тогда со своей стороны рекомендую попробовать JetBrains Junie. По сути аналог Cursor, но кажется мощнее сделан. Очень нравится как он выполняет задачки.

  Развернуть 1 комментарий

Подскажи, ты кластеризуешь посты, или объединяешь в один большой текст и скармливаешь LLM?

  Развернуть 1 комментарий

Я делаю один большой текст, но в нем для каждого сообщения указываю автора, дату, источник.

  Развернуть 1 комментарий

@kuilef, а пробовал чанки (временные/тематические)?

  Развернуть 1 комментарий

@lafe, нет. Для текущих задач (пару десятков каналов, в выжимке получается 10-30 постов, среди которых есть условно длинные) - модель gemini flash с 1М окном контекста справляется с очень большим запасом и не путает разные посты.

  Развернуть 1 комментарий

😎

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

Что вообще здесь происходит?


Войти  или  Вступить в Клуб