Проект: BookKicker  Публичный пост
12 июля 2021     1537   
BookKicker

Всем привет! Расскажу вам про 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.

33 комментария 👇
Мáртын, Фронтендер & Криэйтор 12 июля в 20:49

Лого и нейминг потрясающие

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

@martyns0n, спасибо!

  Развернуть 1 комментарий
Maxim Dorofeev, Прокрастинатолог 13 июля в 13:51

Очень интересная идея... @mienloper, что думаешь, если вдруг этим ботом пропинывать материалы марафона? :)

Что касается монетизации, то как только появится версия, которую не стыдно показывать, можно будет показать ее основным издательствам типа МИФ. Они могут оказаться открыты к подобного рода экспериментам. То есть, предложить им продавать свои книги через Book Kicker

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

@cartmendum, спасибо за отзыв!

  Развернуть 1 комментарий
Александр Тимофеев, Рубироид с 15-летним стажем 14 июля в 00:31

Вот бы такого же бота, но для вкладок в браузере 😻

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

@4Eki, чтобы пинал их прочитать?)

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

@alexff91, Брал кусочки и слал, например. Или просто очередную закладку раз в день.

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

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

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

Интересная идея, попробую. А "интенсивность" пока подкрутить нельзя, как я понимаю?

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

@TiraelSedai, пока нельзя, но в планах сделать несколько вариантов (раз в день, раз в 4 часа и т.д.)

  Развернуть 1 комментарий
Vladimir Hooke, Front-end Developer 13 июля в 07:39

ухты, идея огонь! Бегу тестить 🏃🏻‍♂️

Только я не совсем понял что значит "пинать". В начале подумал что бот будет просто пинать меня читать какую то книгу.

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

Боже, это шикарно!

Я сам хотел реализовать 1в1 идею, и даже запилил базовый функционал (высылать по кнопке страницу текста), но до версии, которой можно было бы пользоваться руки так и не дошли.

Очень-очень круто! Буду следить за вашим проектом пристально) И уже начал пользоваться

Как уже отмечали в комментах ранее: лого и неймниг - вышка

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

Можно где-то вступить в фан-клуб проекта?)
Взлетит

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

@Demaga, спасибо за отзыв! Только сегодня канал создал https://t.me/bookkicker

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

@alexff91, есть подписка! 👍

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

Очень круто!

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

А если в книжке будут картинки? Это не поддерживается?

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

@gwgjga6dQ4Wnve1N, пока нет, но понимание как достать есть, просто нужно будет логику поменять немного

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

А там был очень сложный html получается из epub? Вроде телеграм умеет парсить HTML тэги в сообщении. Ну или можно было просто HTML в Markdown перегнать.

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

@ben_yazi, тележка умеет только в Markdown

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

@alexff91, https://core.telegram.org/bots/api#formatting-options
Тут пишут, что parse_mode можно поставить HTML.

Но там все равно только некоторые тэги поддерживаются.

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

@ben_yazi, о, спасибо, сегодня попробую чистый html с этим параметром отправить

  Развернуть 1 комментарий
metya, Applied Deep Learning Researcher 18 июля в 14:28

есть кучу вещей в боте что можно поправить. попробую как нить законтрибьютить.

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

@Alexander_Lisov, интересно)

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

@alexff91, У меня есть гипотезы по монетизации) Возможно они будут актуальны и для твоего бота) Если что - пиши в тг @cfyr23

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

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

  Развернуть 1 комментарий
Мáртын, Фронтендер & Криэйтор 19 июля в 16:11

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

Я использую десктоп и мобайл версии, и в какой-то момент Телеграм потерял фокус на последнем прочитанном сообщении посчитав, что можно отметить прочитанными 20+ кусочков книги. Это повторилось трижды. Раньше даже не замечал такого поведения, видимо потому что редко читаю последовательно все сообщения в чатах.

Так как в Телеграме нельзя отмечать непрочитанными отдельные сообщения (только весь чат), то я потерял прогресс и вместе с ним интерес к боту. Но потом решил, что книгу стоит добить и нашёл решение.

Можно пинить последнее прочитанное сообщение вручную и не переживать, что Телега снова сбросит счетчик непрочитанного.

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

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

  Развернуть 1 комментарий
Андрей Вавилов, Разработчик широкого профиля 22 июля в 15:03

Очень круто. Как ранее описали, видно много путей для дальнейшего развития.

Из проблем заметил такое - периодически не приходят сообщения, а когда приходят следующие, они уже приходят с учётом пропущенных. Приходится открывать оригинальную книжку и читать пропущенное

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

@vapask, а у вас выставлен обычный режим или с аудио?

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

@alexff91, обычный

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

Спасибо за бота, активно пользую уже пару дней:) Полет нормальный

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

@tmko16, спасибо за отзыв :)

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

😎

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

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


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