R50 46f7bd55ddc04b5f7089f79e2869bb1a
Python-разработчик

Телеграм-бот знакомств — Катюша • Katyusha bot

Добавлено 14 апр 2023 в 00:31
Меня всегда привлекала тематика создания Telegram ботов. Хотелось сделать сложный, многофункциональный бот, который понравится людям и я стал рассматривать варианты из уже имеющихся. Выбор пал на чат-ботов знакомств. В России их немного, а адекватных, с бесплатным функционалом и хорошей функциональностью всего один, который я и попытался превзойти.

Телеграм-бот знакомств - Катюша • Katyusha bot позволяет людям в любой точке пока что только России, а в перспективе и мира найти себе пару, партнёра, человека по интересам. В принципе можно зарегистрироваться в любой точке земного шара, но на данный момент бот адаптирован только под Российские регионы.

Проанализировав аналоги таких проектов, я пришёл к выводу, что даже самый лидер из всех, которые имеются в наличии - полная ерунда (По моему скромному мнению ). Поэтому решил создать самый лучший вариант.

Катюша имеет красивый интерфейс, обладает сложной системой поиска анкет, в которой учитываются: возраст, интересы и самое главное - локация.

Поиск осуществляется в три этапа:
  • Сначала алгоритм выдает анкеты из указанного в Вашей анкете города, если они в нём имеются.
  • Если их нет или в Вашем городе анкеты закончились, начинает выдавать анкеты из области, в которой расположен Ваш город.
  • Аналогично с предыдущим пунктом. Но теперь в обоих случаях алгоритм выдаёт все анкеты подряд со всего мира.
Самое главное, я учёл то, чего не учли создатели других подобных телеграм-ботов — города с одинаковыми названиями.

Мелкие посёлки до 10 тысяч населения я конечно же не обрабатывал (пока это не требуется), но прошёлся по всем крупнейшим и не очень городам и если например ввести город "Троицк", то бот понимает что такой город есть как в Московской, так и в Челябинской областях и предложит пользователю соответствующий выбор. Аналоги таких чат-ботов этого не учли и поэтому просто потеряли пользователей из многих крупных городов, таких как Троицк, Донецк, Радужный, Благовещенск, Ростов и т.д.

Также есть возможность ввести город для своей анкеты предоставив боту свою геолокацию (Использовал кстати геокодер от Яндекса) и если другой пользователь таким же образом ввёл в анкету свой город, то при пролистывании в его анкете будет отображаться расстояние до этого пользователя в метрах или километрах в зависимости от дальности расстояния. Вся информация полученная с помощью геокодера API Яндекс.Карт кэшируется по закону не более тридцати суток, затем удаляется. Либо удаляется автоматически после того как сам пользователь изменил город, ручками написав название.

В Катюше возможно отправить пользователю не только лайк или текстовое сообщение, но и записать видеокружок или голосовое сообщение и дождаться от него взаимной симпатии.

В анкету можно добавлять как фото, так и видео, а еще специально для девочек фотоколлаж до трёх фотографий и даже видеокружок вместо аватарки.

В боте ты можешь листать анкеты сколько угодно без ограничения по количеству пролистанных за сутки пользователей, И самое главное, пользователи, которые тебя лайкнули никуда не испарятся чудодейственным образом, и Катюша даст тебе возможность посмотреть всех, кто тебя когда-либо лайкал. Также добавил отображение лайков в самой анкете, и возможность добавить ссылку на свой профиль Вконтакте. Также разработана на скорую руку админка с возможностью модерирования прямо с телефона, системы наказаний: предупреждение, мьют, удаление анкеты, перманентный бан.

Пока что бот доступен в Telegram по ссылке https://t.me/katemewbot или нику @katemewbot. В дальнейшем буду выкладывать его в Вконтакте и переведу на несколько языков в Telegram для адаптации в других странах.

Простейшая регистрация, удобное, понятное меню, никаких рассылок и платных функций в самом боте, всё как мы любим.

Для разработки использовал: Асинхронный фреймворк aiogram, клиент GeoPy для геокодирования c помощью библиотеки geodesic, FSMContext для работы с машиной состояний, много времени и тщательную проработку поисковой системы для эффективного и оптимального поиска анкет.

Проект запущен на сервере и работает круглосуточно. Благодарю за то, что дочитали до конца.

Ссылки:

A0bba4fdbb 2783971f59 F01fd23234 612f02662d 8faff54dd2 Dafefaaf6c 5f1aeff57a 980ae68c84 61a5b79e89 1788655be3 508070399b 364e468108