Проект: «ReadStreakBot» — тг-бот для чтения книг, на 95% написанный чатгпт  Публичный пост
17 февраля 2024  1292
"ReadStreakBot" - тг-бот для чтения книг, на 95% написанный чатгпт
https://t.me/ReadStreakBot

Расскажите о себе и сути проекта?

После школы учиться я никуда не пошёл, а начал работать в торговле, но меня всегда тянуло в IT (в офисе даже как-то мои программисты на новогоднем корпоративе посвятили меня в айтишники, за то что я много в чём секу).
В 2023 году начался хайп с нейросетями и сначала я затестил SD, очень понравилось, прям попал в состояние потока, не спал до 2-3 часов, тестил разные модели, лоры и промты, смотрел видосы и т.д. Конечно же поигрался с SD и NSFW-контентом, но всё никак не заюзывал чатГПТ, потому что думал "Ну чо там такого то?"
А потом решил затестить и ЧатГПТ со словами "А чо если я прям вот русским текстом напишу ТЗ, что оно мне выдаст?" и оно выдало, оно показало мне как глубока кроличья нора...

Сутей проекта несколько:

  1. Кодить - сейчас это переросло в формат "писать ТЗ для чатгпт так, чтобы это сразу работало, а если не робит, то писать ошибки и в крайних случаях самому разбираться в причинах"
  2. Читать - привить навык систематического чтения, не переключаться на 100 статей и блогов, сосредоточить фокус на одном в течение нескольких дней, прокачать фантазию и кругозор
  3. Писать - систематически вести блог, писать что-то на постоянной основе, дисциплина - не хрен моржовый.
  4. Коммуницировать - общаться, взаимодействовать, улучшать свою задумку, слушать мнения и конструктивную критику
  5. Сделать мир лучше - воодушевить кого-то своим примером, чтобы кто-то привил себе навык систематического чтения

Что вошло в прототип и сколько времени на него было потрачено?

Собственно, первый запрос был что-то типа такого: "напиши мне скрипт на python который будет разбивать txt-файл на несколько файлов по 600 символов и называть их text00001 и text00002 и так далее." Данная логика и сейчас используется в боте.
На сам запрос я потратил минуты 2 и каково было моё удивление, что эта шайтан штука мне сразу же выдала готовый код, который делал то, что я от него хотел. Я был просто в шоке, словами не описать что я тогда испытал.


Первое что я подумал - т.е. вот так, программировать уже не нужно учиться по старинке с hellow world (к слову такой формат мне никогда не нравился, я был всегда сторонником того, что изначально нужен проект-цель, пиля который тебе необходимо глубже продвигаться в матчасть)?
Ну и пошло поехало.

Что за бот, зачем нужен?

Основной функционал:

  1. Скидываешь боту файл электронной книжки (fb2, epub и т.д.)
  2. Бот разбивает его на маленькие фрагменты
  3. Нажимаешь "Сл фр" бот присылает первый фрагмент
  4. Прочитал => Пункт 3

Еще немножечко функционала:

  1. Бот считает сколько фрагментов кто прочитал и составляет топы дня, недели, месяца, года и вообще
  2. Боту можно скормить цитату из книги, а потом запросить у него все скормленные ему цитаты
  3. Бот может присылать утреннюю цитату, которую случайно выбирает их всех сохранённых в него цитат
  4. Бот может имитировать блог и сам присылать фрагменты в заданное время (как будто подписан на чей-то канал)
  5. Бот может подгонять "Эй сегодня мало прочитал, вон тебя обогнали - читай больше"
  6. Бот позволяет избавиться от проблемы выбора книги, есть функция случайная книга.
  7. Бот может уведомлять, если вы вдруг начали читать меньше
  8. Бот может уведомлять раз в N фрагментов, что если книга не интересная, то можно её сменить
  9. Бот может показывать сколько дней читали без остановки
  10. Бот за прочитанные фрагменты присуждает уровни (прям как в RPG)
  11. Внутри бота можно дружить и тогда о левелапах будет еще уведомляться и твой друг

Известные баги

  1. Бот не переваривает картинки из-за изначальной логики, исходный файл конвертируется в txt
  2. Бот не переваривает переносы строк в диалогах, бился над проблемой в несколько подходов, не смог победить и в итоге сам привык к этому и забил
  3. Бот не присылает картинки из книг, но в целом тоже можно привыкнуть

Как появилась идея? Что вдохновило?

Из всех способов потребления контента именно чтение было мне ближе всего, но читал я не книги, а 100500 разных каналов и статей. У меня был куплен Feedly суперпремиум с Leo-ассистентом, у меня был поднят RSSHub который заворачивает телеграм-каналы в RSS-ленты и я в целом прочитывал в день просто уйму текста, но на выходе всё как-то забывается либо накапливается так, что буфер в мозгу переполняется инфой.
Затем начал набирать обороты шорт-формат контента вроде YouTube Shorts или TikTok, и он начал забирать у меня слишком много времени.
И как-то в один добрейший вечерочек при просмотре очередного шортса мне пришла в голову мысль, а что если с книгой точно так же сделать? Читаешь фрагмент книги, если понравился жмёшь лайк, он следующий присылает, а если не понравился, жмёшь дизлайк и книга скипается, так и засела у меня в голове эта идея.

Какой технологический стек вы использовали? Почему?

Backend - Python - потому что самый популярный, sqlite - потому что нет пердолинга с установкой
Fronend - Telegram - потому что лучший мессенджер
Кодинг - ChatGPT - потому что я у меня у самого лапки
Деплой - VDS на винде у ВДСины (Потому что кожу на винде и чтобы потом не разрешать кучу конфликтов)

Как вы запускались и искали первых пользователей?

Спустя неделю после создания прототипа я написал своим друзьям, жене, а потом когда уже сам стабильно читал начал всё больше и больше рассказывать всем о боте и так набралось 30 пользователей из них постоянные это 10 человек включая меня.

Случай с залётным пользователем

Поначалу пользователей было вообще типа 3-4 штуки и я каждый день смотрел статистику читает ли кто-то и т.д.
И тут вижу какой-то новый пользователь в статистике, а я никого не звал и все кто пользуется ботом тоже.
А бот в телеге видит ник пользователя, ну и я по нему и вышел на девушку, спросил у неё откуда она нашла бота и т.д.
Оказалось, что она юзала другого похожего бота ("ЧЕГО О_о?" - подумал я, но в современном мире так много людей и идей, что не удивительно, что к разным людям приходят похожие идеи). Но с тем ботом у неё какие-то проблемы были и она нашла моего бота просто по поиску в телеге.
Мы до сих пор общаемся, она пишет багрепорты, фиче реквесты и благодарности (вот уж неожиданное взаимодействие с новым человеком).

С какими самыми неожиданными трудностями пришлось столкнуться?

  1. Надо одновременно работать, читать в своём же боте и еще и его дорабатывать.
  2. Никак не могу достать картинки из книг и присылать их пользователю
  3. Пока не придумал как внятно разделять книгу на главы
  4. А еще не могу придумать как пропускать определять где начинается и кончается введение в книгах, чтобы сделать кнопку "Скипнуть введение", потому что часто в книгах в начале 100 страниц полной мути.

Сколько потратили и заработали? Есть идеи как это можно монетизировать?

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

Какие планы на будущее?

  1. Сделать возможность просматривать профили пользователей в боте, как в соц сети, ходить по менюшкам внутри телеги и смотреть кто что читает и сколько
  2. Решить проблемы с введением, диалогами и картинками
  3. Внедрить режим "Улучшение на 1% каждый день" или "Бой с тенью" - когда ты сравниваешь себя не с другими, а с прошлым собой и улучшаешь свой результат
  4. Цитаты 2.0 - контролируемый рандом в цитатах (чтобы за определённый период все пользователи получили все цитаты), чтобы всем присылалась одна цитата дня, чтобы можно было лайкать их и потом чекать самую залайканную цитату
  5. Полезные советы - включаешь и бот раз в n-е кол-во дней присылает случайный полезный совет о своём функционале
  6. Чекать темп чтения по книгам и по запросу выдавать пользователю и скорить книги по этому показателю, мол вот эту книгу легко и быстро читать, а эту долго и сложно
  7. Внедрить какие-нибудь ачивки, пока хз какие и как
  8. Организовать читальный клуб в канале с выбором книг и обсуждением прочитанного
  9. Статистика о статистике - чекать кто и как часто смотрит статистику и писать ежемесячно о топе стат-мэнов.
  10. Посоветуй книгу - ходишь по менюшкам выбираешь жанры и сложности, а бот тебе выдаёт названия книг и аннотации чо почитать.
  11. В идеале сделать мобильное приложение типа ТикТока со всем ботным функционалом и с возможностью связать бота и приложение, а во влажных мечтах сократить цепочку между авторами и покупателями (а-ля стим), автор сам выкладывает книгу, сам назначает цену, юзеры читают промо фрагменты, смотрят рекомендации, смотрят всякие топы авторов, иными словами TikTokBookRead

Немного статистики и достижений

На данный момент мои текущие 10 активных пользователей, среди которых я сам
19к фрагментов - прочитали все пользователи
159 книг было загружено
150 задач еще не сделано (всякие баги, фичи и т.д., которые я пишу сам себе)
172 задачи уже сделано
4 человека увлеклись чтением после того как поюзали бота (один друг бросил курить, прочитав Аллена Карра, другой начал читать бумажную Мангу, жена начала читать Кинга)
12,5к фрагментов прочитал лично я
70 постов в блоге
вот такая ачивка греет душу

Новогодний ивент

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

Книги прочитанные всеми пользователями в боте:

  • "Мессия Дюны" - Фрэнк Герберт
  • "О дивный новый мир" - Олдос Хаксли
  • "Идиот" - Фёдор Михайлович Достоевский
  • "Преступление и наказание" - Фёдор Михайлович Достоевский
  • "Сияние" - Стивен Кинг
  • "Sapiens. Краткая история человечества" - Юваль Ной Харари
  • "Семь навыков высокоэффективных людей" - Стивен Р. Кови
  • "Мёртвая зона" - Стивен Кинг
  • "Поток: Психология оптимального переживания" - Михай Чиксентмихайи
  • "Библейские истории" - Густав Гече
  • "Мизери" - Стивен Кинг
  • "Хоббит, или Туда и обратно" - Джон Рональд Руэл Толкин
  • Неуказанное произведение (возможно, ошибка в списке)
  • "Покой, игра, развитие" - Дебора Макнамара
  • "Эмпайр V" - Виктор Олегович Пелевин
  • "Убить пересмешника" - Харпер Ли
  • "Куджо" - Стивен Кинг
  • "Атомные привычки: Как приобрести хорошие привычки и избавиться от плохих" - Джеймс Клир
  • "Повелитель мух" - Уильям Голдинг
  • "Мальчики из никогда" - Колсон Уайтхед
  • "Принцип ставок: Как принимать решения в условиях неопределенности" - Дюк (имя автора не указано полностью)
  • "Подумайте еще раз: Сила знания, когда мир постоянно меняется" - Адам Грант
  • "451° по Фаренгейту" - Рэй Брэдбери
  • "Волшебник Изумрудного города" - Александр Мелентьевич Волков
  • "Не отрываясь: Почему мы одержимы технологиями" - Адам Алтер
  • "Пикник на обочине" - Аркадий и Борис Стругацкие
  • "Заповедник" - Сергей Донатович Довлатов
  • "Мужчины без женщин" - Харуки Мураками
  • "Скотный двор" - Джордж Оруэлл
  • "Собачье сердце" - Михаил Афанасьевич Булгаков
  • "Как работать по четыре часа в неделю и при этом не торчать на мели" - Тимоти Феррисс
  • "Падение" - Альбер Камю

Нужны ли какие-то советы или помощь Клуба?

  • Ну несомненно хотелось бы привлечь аудиторию (Планирую написать еще на хабр, но боюсь хабраэффекта)
  • Желательно под нагрузкой не уронить бота (Это как раз и проверю, если бот ляжет, то press F to respect, знайте, что упал под ВастрикЭффектом)
  • Пишите свои идеи отзывы, с радостью почитаю
  • Если кто-то в курсе как можно с юридической точки зрения начать продавать книги внутри бота - то с радостью послушаю

Так же хотелось куда-нибудь приписюлить типа манифеста:

  • Никаких уведомлений от бота без явного согласия пользователя (бесят приложения, которые вдруг решают ни с того ни с сего присылать пуши без разрешения и приходится их выкключать. Мой подход обратный - я ничего не присылаю сам, пока пользователь не включит уведомлялку).
  • Пользователю пренадлежат все его данные (в планах добавить возможность вытянуть из бота всю инфу что в нём есть по пользователю, с возможностью удалить всю эту инфу или обезличить).
  • Багфиксы по запросу - Юзеры пишут - я фиксю в первую очередь то, о чём просят юзеры (если могу)

Какой совет вы бы сами могли дать идущим по вашим стопам?

  • Кодить - это не сложно, с нейросетями mvp-можно сделать очень быстро, надо пробовать и экспериментировать. А быстрый результат подкрепит энтузиазм, что позволит пронести желание дальше и возможно с бОльшей вероятностью довести проект до его реализации
  • Писать блог - это круто, повышается шанс синергии и таких взаимодействий, о которых даже не мечтал

p.s.

Я конечно же еще планировал рассказать о каждой функции в отдельности, как и почему она внедрена, про ребрендеринг и рисование логотипа, про то как пришёл к чтению, но тогда бы я эту статью никогда бы не дописал, а дорогой читатель бы её никогда не прочитал (потому что многобукаф), поэтому я решил на этом закончить, а если кого-то что-то из этого заинтересовала, то допишу в каменты.

Связанные посты
16 комментариев 👇
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

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

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

@petter, ой wap... Это же ещё были jimm клиент аськи, сименсы с монохромным дисплеем. Аж олдскулы свело. Ещё чуть попозже вышла обожаемая мной Нокиа 6600, супер крутой телефон.

А по делу - ну в целом так и есть. По сути этот бот - это mvp-версия читалки, в которой я обкатываю всякие свистоперделки

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

A у бота будет публичный репозиторий?

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

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

@m0rtyn, я думал об этом и пока прошел к тому что полностью публичным наверное нет, но если есть желающие покопаться в говнокоде, то могу дать шару.

Надо только почистить код от совсем лажи.

  Развернуть 1 комментарий
Агапов Сергей Предприниматель автор 17 февраля в 11:46

😱 Комментарий удален его автором...

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

Бот крутой. Я попробую его использовать, потому что он удобен в сочетании с остальными форматами книг (бумажные, электронные, аудио и прочие)

Кстати похожий проект от соклубовца
https://vas3k.club/project/11002/

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

@m0rtyn, вэлкам, спасибо за добрые слова.

Нифига получается 3й бот подобной тематики))) это очень круто.

У меня уже реализованы автоприсылания - называется режим блога и в нем же реализованы таймзоны, так же реализована возможность настроить кастомнык времена присвлания, хоть каждые 15 минут.

Вообще все фичи, что внедряю я выкладываю на канал https://t.me/ReadStreakBlog

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

😎

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

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


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