Привет! Меня зовут Юрий, мне 19 лет и я студент третьего курса на факультете прикладной математики. Работаю iOS разработчиком в небольшой компании. В последний год в интернете появляется все больше статей с кричащим заголовками «Bots are the new apps», «Bots are the next step in evolution» и им подобные, причем на очень авторитетных ресурсах вроде TechCrunch, 9to5Mac и других. Как программист, которому интересно хотя бы попробовать новые технологии, я просто не смог обойти эту тему стороной. На мой взгляд на сегодняшний день очень мало информации об инструментах и способах создания ботов. Попробую прояснить хотя бы главные вопросы и заодно расскажу про своего бота App Of The Day.
Итак: что такое бот? На самом деле это обычная программа, которая лежит где-то там «в облаке». А пользователь общается с ботом через мессенджер в формате обычного диалога. Достаточно много популярных мессенджеров сегодня предоставляют в открытом доступе инструменты для создания ботов под свою платформу: Line (с некоторыми ограничениями), Kik (40% аудитории – подростки в Штатах), Telegram, Messenger (каждый бот должен пройти модерацию, есть относительно жестокие правила), Slack, Skype. Я выбрал Telegram.
Как оказалось, несмотря на то, что инструменты для разработки доступны уже больше года, практически никакой информации о процессе создания ботов для telegram в интернете нет — все приходилось собирать по кусочкам из разных статей.
По большому счету, относительно примитивные боты могут быть созданы без единой строчки кода. Уже появилось несколько сервисов, где бесплатно можно создать бота буквально за 20 минут просто перетаскивая блоки на экране (как конструктор). Два самых популярных таких сервиса:
chatfuel.com — популярный Порохобот [скачать] был создан через этот конструктор буквально за 20-30 минут.
corezoid.com — просто шикарный конструктор, в нем без единой строчки кода можно создавать достаточно сложных ботов, вроде заказа такси.
В чем плюс таких конструкторов:
- Создание бота без единой строчки кода.
- Достаточно высокая скорость разработки.
- Не нужно думать о том, где будет размещен бот. Он хранится и работает на их серверах.
- Созданный бот может быть сразу продублирован на остальные мессенджеры.
К минусам конструкторов можно отнести недостаточную гибкость. Хотя про Corezoid я этого не могу сказать.
Для написания бота я решил выбрать какую-то реальную проблему, а не писать абы что для практики. Немного лирического отступления. Когда-то давно в 2011 году появилось для iOS и Android приложение App Of The Day. Каждый день оно рекомендовало только одно приложение, которое стало бесплатным на сутки, или просто очень хорошее, но еще не сильно популярное. За три года их ежемесячная аудитория выросла до 19 миллионов пользователей со всего мира, а 10 миллионов были подписаны на ежедневные уведомления. Но у приложения было достаточно минусов (нет смысла их сейчас расписывать). Тогда же в 2014 году я создал свое виденье такого App Of The Day для iOS, где немного переосмыслил концепцию этого приложения.
Проверку моя программа не прошла — Apple прислали отказ, ссылаясь на пункт из правил, не допускающий появление приложений, которые симулируют модель AppStore (то есть рекомендуют пользователям сторонние приложения). Через несколько месяцев после этого отказа Apple зачистили все подобные приложения у себя в магазинах. За 2 года такой софт так и не вернулся в сторы, его постепенно сменили рекомендательные рубрики на тематических сайтах. Поэтому я решил поручить задачу боту, тем более, что потенциальная аудитория у такого проекта есть и немаленькая (19 миллионов все-таки).
Знакомые спрашивали меня, как я придумал алгоритм для выбора ежедневного приложения и как этот алгоритм работает. Тут все немного проще ;) У меня есть отдельное окно в браузере, где открыто 10 вкладок с сайтами для iOS и десяток для Android. Каждый вечер я трачу около часа на подборку по одному приложению для каждой операционки, иногда советуюсь при выборе с братом если много хороших софтин стали бесплатными. Захотелось еще немного заморочиться для удобства пользователя – при регистрации можно выбрать свою страну и часовой пояс (чтобы не получать сообщение ночью и в перспективе приводить описание приложения для каждой страны).
Для написания бота я решил не использовать конструктор, хотя сейчас понимаю, что можно было бы его поручить Сorezoid. Я писал бота на языке Python. Нет смысла вдаваться в процесс разработки. Кому интересно – обучающих материалов предостаточно, готовых исходников немного, но на Github можно найти все.
Чтобы установить себе моего бота, достаточно перейти по ссылке – telegram.me/getbestapp_bot. Очень хочется услышать ваш фидбек, что хотелось бы убрать или добавить в приложение.
Если вы писали бота сами или поручили это дело программисту, то основная сложность потом в том, чтобы разместить бота на сервере. Вы можете просто запустить его у себя на компьютере и он будет работать, можете разослать ссылку на него вашим знакомым. В таком случае ваш компьютер будет выступать сервером, но много пользователей он просто не потянет. Тут спасают облачные решения – VPS (Virtual Privat Server). Вариантов для выбора миллион, просто введите запрос «best VPS» в гугл, можно и почитать и отзывы посмотреть. Я выбрал для себя решение от Amazon, они выдают слабый VPS на год абсолютно бесплатно, для проверки гипотезы о надобности такого бота это идеальный вариант.
После размещения бота на сервисе для него необходимо найти аудиторию. Я общался с предпринимателями, у которых есть свои успешные интернет-проекты, но они тоже пока не имеют понятия, как лучше всего продвигать ботов. Разве что стандартными методами вроде рекламы в Facebook.
У Telegram нет своего магазина ботов, где можно поискать по категориям, найти оптимальное решение под свои нужды. Но кто-то подсуетился и создал сайт, который сегодня выполняет эту роль – storebot.me. Там я и разместил своего бота. Не знаю критериев отбора, но за 4 часа моего бота одобрили и разместили, нужно было только быстро собрать привлекательную иконку.
Немного цифр: За эти 6 дней бота скачали 2400 раз без какой-либо рекламы (я только у себя в фейсбуке пост выкатил). Ежедневно около 1700 человек из 30 стран получают мою рассылку и цифры понемногу растут.
Бот был на первом месте в категории Best New и держался в ТОП 10 по всем ботам на сайте storebot.me. У меня было больше сотни оценок со средним баллом 4.82. Но кого-то такое состояние вещей не устроило.
Утром я получил вот этот коммент:
И следом начал получать по 1-2 однозвездочных оценок в минуту. Эта атака продолжалась весь день, мне поставили больше 340 однозвездочных оценок, сейчас мой средний бал 2.53. Разумеется, меня уже не видно ни в каких рейтингах. Я написал в поддержку площадки, надеюсь, они как-то решат проблему.
* * *
Планы на ближайшее будущее:
- Перевести бота хотя бы на десяток основных языков (уже в процессе).
- Разрешить пользователям выбирать время отправки контента, не привязываясь к 11 утра (тоже уже в процессе).
- Разбить рассылку на категории.
- Довести бота до ума и выйти на ProductHunt (планирую сделать до середины лета).
Боты в Telegram одновременно похожи и не похожи на традиционные мобильные приложения. Они не занимают места на устройстве, не требуют отдельной иконки для запуска и, когда грамотно реализованы, совершенно не мешают пользователю. Но над ними нужно работать — наполнять контентом, исправлять недочеты и наращивать функциональность. Пока сложно сказать, насколько усилия оправдаются и будет ли бот App Of The Day достаточно востребованным, чтобы считаться коммерчески успешным проектом. Но мне кажется, у этого нового класса приложений есть будущее.