Всем привет! Расскажу вам про yet another Telegram-бота для чтения книг.
BookKicker — бот, который будет «пинать» вашу книгу до полного прочтения.
Расскажите о себе и сути проекта?
Я тимлид в компании Farzoom, один из авторов курса по Java в Практикуме и ментор в solvery.io. Опыта куча, навыков тоже вроде хватает, решил запускать свои проекты (пробовал и раньше, но не так масштабно).
Суть проекта - бот будет "пинать" вашу книгу прямо к вам в telegram маленькими кусочками раз в час. Вы не заметите, как прочитаете книгу, которую откладывали в долгий ящик 😎
Как появилась идея? Что вдохновило?
Идея родилась в 2012 еще, я тогда изучал AI и ML в Тампере (город в середине Финляндии) и была идея сделать бота, который бы публиковал короткие выдержки из текста, но обработанного и сжатого при помощи ML. Только в этом году решился сделать упрощенную версию бота (спасибо элитному клубу Никиты Колмогорова :D).
Что вошло в прототип и сколько времени на него было потрачено?
Вы можете прислать боту файл книги в формате .epub (пока поддерживается только такой формат) и начать читать свою любимую (или нелюбимую) книгу.
BookKicker каждый час с 8 утра до 8 вечера (пока только по Мск) будет присылать маленький отрывок из добавленной книги.
Запросить очередной кусочек книги можно командой /more.
Пропустить сразу несколько страниц можно командой /skip.
Другие команды вы можете видеть на клавиатуре в поле ввода или набрав команду /help.
Боту можно переслать сообщение с книгой, если она у вас уже есть или вам кто-то её скидывал. При повторной отправке книги весь прогресс сбросится!
Как остановить оповещения
Остановить неудержимого бота можно командой /stop_auto, но лучше не надо :)
Включить бота обратно можно той же командой.
Разработка заняла пару вечеров, пока сидел в аэропорту загорелся идеей и сделал первую версию рабочую. На следующий день была готова полноценная версия и запущена в "продакшн".
Какой технологический стек вы использовали? Почему?
Нашел очень похожую идею в похожем боте - https://github.com/axtrace/PartyBook, но бот оказался немного мертвым (нотификация приходит через раз, наверное запущено на heroku), решил на основе этого репозитория и сделать бота, убрал кучу лишнего функционала, перевел базу с SQLite на Postgres, Python я знаю относительно неплохо, поэтому язык не менял. Поправил кучу багов, изменил тексты, чтобы упростить онбординг и сделать меньше функционала, запустил на уже существующей машине в AWS(у меня там промокод на 1к$, грех не воспользоваться!).
Как вы запускались и искали первых пользователей?
Первый запуск - публикация в https://t.me/golden_borodutch и первые пользователи и первый факап - хотел подключить аналитику и крякнул бота 😣 Заметил один пользователь, нажимал /more много раз, если ты это читаешь - прости!
После этого - пост на producthunt - https://www.producthunt.com/posts/bookkicker и первые зарубежные пользователи.
Потом на vc -https://vc.ru/tribuna/268158-bookkicker-bot-kotoryy-budet-pinat-vashu-knigu-do-polnogo-prochteniya - очень успешный пост! Сразу пришло 400+ пользователей и попробовали бота.
Сейчас 300+ пользователей ежедневно получают уведомления от бота.
С какими самыми неожиданными трудностями пришлось столкнуться?
Самое трудное - преобразование epub в текст, сейчас epub преобразуется в html, потом из html генерится txt и уже из него считывается книга.
Все ещё остается проблема с разметкой, она мне подходит на мобильном клиенте telegram, но не нравится на descktop-версии, не хватает отступов и выделения абзацев.
Сколько потратили и заработали? Есть идеи как это можно монетизировать?
Пока потратил 0 рублей, заработал столько же :) Идей как монетизировать пока нет, только если делать интеграции с внешними сервисами, типа Bookmate или ЛитРес.
Какие планы на будущее?
После появления первых пользователей уже появился довольно большой беклог фич - улучшение разметки, промотка больше 1й страницы, добавление нескольких книг, таймзоны и т.д. Все это рано или поздно появится в боте.
Нужны ли какие-то советы или помощь Клуба?
Интересно услышать фидбек и предложения по улучшению бота, пока что он еще на стадии MVP. Я уже собрал ценную обратную связь от десятка пользователей.
Если кто-то хочет законтрибьютить - https://github.com/alexff91/BookKicker.
P.S. Я ни в коем случае не пропагандирую читать книги именно таким образом, но если вы считаете, что помимо новостных каналов и мемов было бы интересно получать кусочки какой-то книги порциями - you are welcome.
Лого и нейминг потрясающие
Интересная идея, попробую. А "интенсивность" пока подкрутить нельзя, как я понимаю?
А если в книжке будут картинки? Это не поддерживается?
ухты, идея огонь! Бегу тестить 🏃🏻♂️
Только я не совсем понял что значит "пинать". В начале подумал что бот будет просто пинать меня читать какую то книгу.
А там был очень сложный html получается из epub? Вроде телеграм умеет парсить HTML тэги в сообщении. Ну или можно было просто HTML в Markdown перегнать.
Очень интересная идея... @mienloper, что думаешь, если вдруг этим ботом пропинывать материалы марафона? :)
Что касается монетизации, то как только появится версия, которую не стыдно показывать, можно будет показать ее основным издательствам типа МИФ. Они могут оказаться открыты к подобного рода экспериментам. То есть, предложить им продавать свои книги через Book Kicker
Вот бы такого же бота, но для вкладок в браузере 😻
Боже, это шикарно!
Я сам хотел реализовать 1в1 идею, и даже запилил базовый функционал (высылать по кнопке страницу текста), но до версии, которой можно было бы пользоваться руки так и не дошли.
Очень-очень круто! Буду следить за вашим проектом пристально) И уже начал пользоваться
Как уже отмечали в комментах ранее: лого и неймниг - вышка
Очень круто!
есть кучу вещей в боте что можно поправить. попробую как нить законтрибьютить.
https://www.figma.com/proto/tzwOBxBQUbpZsqiJ7KFNw9/Voice-Dating-APP?node-id=334:477&scaling=scale-down&page-id=201:348&starting-point-node-id=334:477
:(
😱 Комментарий удален его автором...
Поделюсь юзкейсом. Почитываю тяжёлую книгу через бота и моя скорость существенно ниже 1 сообщения в час.
Я использую десктоп и мобайл версии, и в какой-то момент Телеграм потерял фокус на последнем прочитанном сообщении посчитав, что можно отметить прочитанными 20+ кусочков книги. Это повторилось трижды. Раньше даже не замечал такого поведения, видимо потому что редко читаю последовательно все сообщения в чатах.
Так как в Телеграме нельзя отмечать непрочитанными отдельные сообщения (только весь чат), то я потерял прогресс и вместе с ним интерес к боту. Но потом решил, что книгу стоит добить и нашёл решение.
Можно пинить последнее прочитанное сообщение вручную и не переживать, что Телега снова сбросит счетчик непрочитанного.
Очень круто. Как ранее описали, видно много путей для дальнейшего развития.
Из проблем заметил такое - периодически не приходят сообщения, а когда приходят следующие, они уже приходят с учётом пропущенных. Приходится открывать оригинальную книжку и читать пропущенное