Как я выбираю фильм на вечер, доверяя "тупому" боту
Не сказал бы, что переживаю за каждую минуту своей жизни. Но тратить их по 30 или больше, просто чтобы найти кино - это уже слишком. История о том, как вечерний выбор фильма оформил в бота с одной единственной фичей - рандом.
Как вы выбираете, чего бы посмотреть с женой/семьей/второй половинкой или друзьями? Мы садились и начинали гуглить "лучшие детективы 2023", "драмы новинки" и прочее. Тыкали на каждый красивый постер и читали описание. Редко, иногда, даже смотрели трейлеры, потом откатывались назад. Чтобы провалиться в один вариант - тратили по 5 минут, в среднем.
В какой-то момент это стало надоедать. Я подумал, что есть в жизни куча моментов, которые можно было бы тратить полезнее. Например, на перекуре или в автобусе читать про кино и откладывать годные варианты. Оставалось только только свести эту операцию к самому примитивному действию - тапу. История помнит немало примеров, где главной фичей был обычный тап
Коротко про бота для тех, кому не сильно интересно, что происходило в процессе
GiveMeMovie - так зовут мой первый, увидевший свет, пет-проект. Его основная фишка - по тапу предлагать пользователю абсолютно рандомный фильм. Можно настроить фильтр по жанрам, рейтингу на Кинопоиске и годам премьеры.
Просто жмите "Следующий 🎬" и ждите очередную рекомендацию. Понравилось? Закрепите в боте, перешлите в Избранное или тому, с кем хотите посмотреть. И жмите дальше.
Вот ссылка для желающих попробовать
Выбор площадки
Такой таппер в рамках моей задачи можно было реализовать внутри мобильного приложения. Но встал вопрос с трудностью распространения. До сих пор я не касался телеграм-ботов, и решил, что это отличная возможность попробовать то, что умеют вообще все. Плюс, в телеграме решалась проблема аутентификации пользователей. К тому же, мессенджер есть почти у всех.
Источник данных
Я - давний пользователь продуктов Яндекса (со всеми плюсами и минусами). Поэтому мечтал, чтобы Kinopoisk предоставлял свое API. Но этого не случилось. Доступ можно получить, но, кажется, в индивидуальном порядке и на индивидуальных условиях. Но тут гугл подкинул мне API, которое на своем сайте уверяло, что
Не имеет никакого отношения к сервису КиноПоиск. Все данные берутся из открытых источников и никак не нарушают права авторов.
Тут я сталкиваюсь с первыми расходами. Бесплатные 200 запросов в сутки с лихвой покрывали наши семейные потребности и мои, как разработчика, но мне бы хотелось, чтобы ботом пользовалось чуть больше людей. Благо, безлимитный тариф тоже есть и стоит 2999 рублей в месяц. Оказалось достаточно сносное API с необходимым набором эндпоинтов: рандом и рандом с учетом всех на свете фильтров.
База данных и сервер
А вот тут у меня, frontend-разработчика, появилось инстинктивное желание найти себе бэкендера/деплоера. Пришлось его пересилить и идти на ютуб. Там нашел, что MongoDB - самый просто вариант для меня. К тому же был неплохой мануал, как доставить все на VPS. Вот и вторые траты: 390 рублей в месяц за сервер и 150 рублей в год за домен.
Монетизация
Не надо быть передовым калькулятором Apple, чтобы посчитать, что задумка уже обходится мне в 3390 рублей ежемесячно. Не страшно, ведь у телеги шикарные нативные методы оплаты, подумал я и проклял Пашу Дурова во второй раз (первый, за стену ВК). За неделю до описываемых событий Telegram ввел Stars - внутреннюю валюту, которой теперь должны рассчитываться все покупатели и продавцы нематериальных товаров и услуг.
Окей, гугл... Так наткнулся на ребят Paywall. Сервис оплаты подписок в телеграме для чатов и каналов. Техподдержка помогла адаптировать это дело под бота. И вот вместо 30% комиссии Apple или сколько-то Google я плачу 20% ребятам из Paywall.
Много? Как будто бы. Но сервис берет на себя вообще все заботы об оплате: подписка, отписка, возврат средств, доставка пользователя до моего бота. Поэтому за неимением оного соглашаемся и подключаем!
Реакция и итоги. Или почему бот тупой?
Все, кому отдавал на тесты, спрашивали, есть ли под капотом gpt-образное существо, которое помнит твои предпочтения и советует что-то подобное. Ответ: нет!
Несколько раз приходилось попадать в ловушки алгоритмов, когда твои вчерашние предпочтения тебя уже мало интересуют, но напоминают о себе и сегодня, и буду завтра, и даже через неделю. Хочу рандом!
Уже есть фидбэки от друзей и знакомых. В основном, это пожелания более гибкой настройки фильтров. Их и еще несколько вещей положил в бэклог. Планирую апдейтить бота хотя бы раз в месяц, так как занимаюсь им только после работы и по выходным. Да еще так, чтобы успевать быть с семьей.
Буду рад, если заглянете в бота, попользуетесь им и поддержите меня подпиской.
Еще раз ссылка на бота GiveMeMovie