Меня всегда привлекала тематика создания Telegram ботов. Хотелось сделать сложный, многофункциональный бот, который понравится людям и я стал рассматривать варианты из уже имеющихся. Выбор пал на чат-ботов знакомств. В России их немного, а адекватных, с бесплатным функционалом и хорошей функциональностью всего один, который я и попытался превзойти.
Телеграм-бот знакомств -
Катюша • Katyusha bot позволяет людям в любой точке пока что только России, а в перспективе и мира найти себе пару, партнёра, человека по интересам. В принципе можно зарегистрироваться в любой точке земного шара, но на данный момент бот адаптирован только под Российские регионы.
Проанализировав аналоги таких проектов, я пришёл к выводу, что даже самый лидер из всех, которые имеются в наличии - полная ерунда (По моему скромному мнению ). Поэтому решил создать самый лучший вариант.
Катюша имеет красивый интерфейс, обладает сложной системой поиска анкет, в которой учитываются: возраст, интересы и самое главное - локация.
Поиск осуществляется в три этапа:
- Сначала алгоритм выдает анкеты из указанного в Вашей анкете города, если они в нём имеются.
- Если их нет или в Вашем городе анкеты закончились, начинает выдавать анкеты из области, в которой расположен Ваш город.
- Аналогично с предыдущим пунктом. Но теперь в обоих случаях алгоритм выдаёт все анкеты подряд со всего мира.
Самое главное, я учёл то, чего не учли создатели других подобных телеграм-ботов — города с одинаковыми названиями.
Мелкие посёлки до 10 тысяч населения я конечно же не обрабатывал (пока это не требуется), но прошёлся по всем крупнейшим и не очень городам и если например ввести город "Троицк", то бот понимает что такой город есть как в Московской, так и в Челябинской областях и предложит пользователю соответствующий выбор. Аналоги таких чат-ботов этого не учли и поэтому просто потеряли пользователей из многих крупных городов, таких как Троицк, Донецк, Радужный, Благовещенск, Ростов и т.д.
Также есть возможность ввести город для своей анкеты предоставив боту свою геолокацию (Использовал кстати геокодер от Яндекса) и если другой пользователь таким же образом ввёл в анкету свой город, то при пролистывании в его анкете будет отображаться расстояние до этого пользователя в метрах или километрах в зависимости от дальности расстояния. Вся информация полученная с помощью геокодера API Яндекс.Карт кэшируется по закону не более тридцати суток, затем удаляется. Либо удаляется автоматически после того как сам пользователь изменил город, ручками написав название.
В
Катюше возможно отправить пользователю не только лайк или текстовое сообщение, но и записать видеокружок или голосовое сообщение и дождаться от него взаимной симпатии.
В анкету можно добавлять как фото, так и видео, а еще специально для девочек фотоколлаж до трёх фотографий и даже видеокружок вместо аватарки.
В боте ты можешь листать анкеты сколько угодно без ограничения по количеству пролистанных за сутки пользователей, И самое главное, пользователи, которые тебя лайкнули никуда не испарятся чудодейственным образом, и
Катюша даст тебе возможность посмотреть всех, кто тебя когда-либо лайкал. Также добавил отображение лайков в самой анкете, и возможность добавить ссылку на свой профиль Вконтакте. Также разработана на скорую руку админка с возможностью модерирования прямо с телефона, системы наказаний: предупреждение, мьют, удаление анкеты, перманентный бан.
Пока что бот доступен в Telegram по ссылке
https://t.me/katemewbot или нику
@katemewbot. В дальнейшем буду выкладывать его в Вконтакте и переведу на несколько языков в Telegram для адаптации в других странах.
Простейшая регистрация, удобное, понятное меню, никаких рассылок и платных функций в самом боте, всё как мы любим.
Для разработки использовал: Асинхронный фреймворк aiogram, клиент GeoPy для геокодирования c помощью библиотеки geodesic, FSMContext для работы с машиной состояний, много времени и тщательную проработку поисковой системы для эффективного и оптимального поиска анкет.
Проект запущен на сервере и работает круглосуточно. Благодарю за то, что дочитали до конца.
Ссылки: