Если вы точно знаете, что определенный человек сидит на паблике Леонардо Дай Винчик, можно попробовать найти его.
Но что для этого необходимо, да просто вбить при заполнении анкеты такие данные, чтобы бот предложил анкету этого человека.
Для начала, необходимо вбить тот же город, так будет большая вероятность того, что бот выдаст анкету именно того человека, который вам нужен. Но, вы должны быть уверены, что человек при заполнении своей анкеты указал именно этот город, а не другой. Ну а далее, указываем, кого мы ищем и ждем, когда бот предложит анкету.
Не забудьте указать возраст, примерно такой же, как и у человека, которого ищите. Ну и начинайте листать анкеты.
Чтобы упростить сбор информации от клиентов вашего бизнеса, достаточно разделить этот процесс на простые задачи и делегировать их помощникам. Однако у обычных сотрудников анкетирование занимает 15-20 минут на одного клиента. Правильно составленная анкета для проведения опроса в Телеграм-боте будет выполнять эту повторяющуюся функцию и поможет сэкономить время на однотипных задачах. Люди с большей вероятностью будут давать конкретные ответы на вопросы при взаимодействии с таким ботом.
Преимущество представленного Телеграм-бота состоит в неограниченном количестве сценариев, по которым движется пользователь. Цель анкеты собрать нужную информацию и подстроить разговор под пользователя. Поэтому можно составить план опроса клиента, где каждый последующий вопрос будет зависеть от предыдущего ответа.
Администратору бота понадобиться немного времени, чтобы составить анкету по разработанному плану для проведения качественного анкетирования (например, узнать все детали заказа, перед его выполнением). Без автоматизации этот процесс может затянуться во времени. При большом потоке заказов, это станет большой проблемой. Бот не только упростит работу, но и сможет одновременно принимать множество анкет.
Полностью исключает человеческие факторы со стороны администратора бота. Ведь администратор не может 24 часа в сутки отвечать на сообщения клиентов, быть активным и проявлять энтузиазм. Бот, общаясь настроенными вопросами, будет всегда вежлив, ничего не забудет и рад помочь 24/7.
Заранее продуманный сценарий вопросов, проведет пользователя от начала опрос и до конца. Анкета состоит из последовательных шагов. Они представляют собой цепочку вопросов, картинок, видео или документов. Это удобно, так как можно подстроить анкету под специфику бизнеса. Если для ответа пользователю необходимо будет ознакомится с большой инструкцией или текстом, можно к вопросу прикрепить документ в документе. Или заранее записать видео инструкцию и также вывести ее с вопросом. Взаимодействие пользователя происходит через нажатие кнопки, ввода текста, загрузки картинки, видео, документа или отправки геолокации.
* * *
Как это работает?
Ранее я упоминал о цепочке шагов. Спросите как это действует? На основании ответов, введенных пользователем ранее, бот опроса пропускает не относящиеся к делу вопросы и отображает только то, что относится к пользователю. Например, человек идентифицировал себя как вегетарианец. Разговаривать с ними о стейке и суши будет ошибкой. Условная логика ветвления поможет вам избежать именно этого!
Ниже представлен пример такого ветвления. В данном случае условная логика ветвления начинается с двух вариантов ответов на первый вопрос.
1. У вас есть автомобиль? (вопрос)
1.1. Да, есть автомобиль (ответ)
1.1.1. Какого он цвета? (вопрос)
1.1.1.1. Синего (ответ)
1.1.1.2. Зеленого (ответ)
1.1.1.3. Другого (ответ)
1.1.1.3.1. Укажите этот другой цвет (вопрос)
1.2. Нет автомобиля нет (ответ)
1.2.1. На чем вы передвигаетесь по городу? (вопрос)
1.2.1.1. На автобусе (ответ)
1.2.1.2. На трамвае (ответ)
1.2.1.3. Пешком (ответ)
1.2.1.4. Иной способ (ответ)
Если простыми словами расписать то мы уточняем у пользователя есть ли у него автомобиль и предлагаем ему два варианта ответов это «Да, есть автомобиль» и «Нет, автомобиля нет». В случае если пользователь выбрал ответ с утверждение, что у него есть автомобиль, тогда мы уточняем у него какого он цвета, и предлагаем ему три возможных варианта ответа «Синего», «Зеленого» и «Другого», если был выбран ответ «Другого», то дополнительно просим указать текстовым сообщение какой же цвет у его автомобиля.
Если же пользователь выбрал вариант ответа где у него нет автомобиля, то мы спрашиваем у него на чем он передвигается. В глубину анкета может быть хоть сколько угодно уровней, ограничений нет.
* * *
Уточнение при создании анкеты
-
Вложенные в шаг сценарии возможны, если у шага есть 2 и более кнопки
-
Вложенные сценарии прикрепляются к вариантам ответов на кнопках, то есть при нажатии на кнопку пользователь переходит или во вложенный сценарий или если на этом действии вложенности нет, тогда к следующему шагу по вертикали вниз.
-
Шаги можно между собой по вертикали менять местами.
-
Можно создать как одиночный шаг, так и группу шагов. Группа шагов позволяет собрать вместе одинаковые по смыслу вопросы, например вы собираете информацию об автомобиле пользователя:
1. Как вас зовут? (один шаг)
- ждем текстового сообщения от пользователя
2. У вас есть автомобиль? (один шаг)
- предлагаем нажать кнопки
2.1 Да (здесь есть вложенный сценарий - группа шагов)
2.1.1 Марка - модель (ждем текст)
2.1.2 Цвет (ждем текст)
2.1.3 VIN (ждем текст)
2.1.4 Тип кузова (ждем текст)
2.1.5 Любите свою машину (ждем нажатие кнопки)
2.1.5.1 Да (здесь можно продолжить ветвление)
2.1.5.2 Нет (здесь можно продолжить ветвление)
- пользователя переадресует к пункту 3
2.2 Нет (здесь привязки сценария нет, поэтому переход после нажатия к пункту 3)
3. Где с вами можно встретиться? (один шаг)
- ждем от пользователя геолокацию или текст
- Анкета закончена
Пользователь в процессе заполнения может двигаться по анкете как вперед, так и возвращаться для изменения своих ответов, при этом он может пойти по другому сценарию.
Для каждой анкеты у вас будет ссылка для перехода в бот. Вы просто ее скидываете клиенту и он при переходе по ней попадает в бот на необходимую анкету, отвечает на вопросы — вы получаете нужную информацию.
* * *
Установка
Много было вопросов о том как оформить панель управления ботом, в этом примере вы можете посмотреть как один из готовых ее вариантов. Под данный бот я написал простенькую систему по типу MVC. Бот выкладываю в свободный доступ для ознакомления, установка его простая и все риски его использования вы берете на себя.
-
Распаковать архив надо в директорию
/opros
-
Ссылка на админ консоль
https://ВАШ_ДОМЕН/opros/admin.php
-
Cоединение с базой данных в файле
/opros/Services/Config.php
-
Создать таблицы в базе данных из файла
/opros/sql.sql
-
Токен, юзернейм бота и ваш telegram_id
https://ВАШ_ДОМЕН/opros/admin.php?a=settings::index
-
WebHook
https://api.telegram.org/botTOKEN_BOT/setwebhook?url=https://ВАШ_ДОМЕН/opros/index.php
Файлы index.php и admin.php можете переименовывать. Для удобства работы можете использовать визуальный редактор для составления размеченных текстов. Панель управления ботом в данном примере не защищена авторизацией.
На сайте уже имеются статьи, в которых подробно описаны методы и примеры написания простых ботов. Реализация этого бота для автоматического анкетирования уровнем сложнее предыдущих. Поэтому рекомендую начинающим ознакомиться с предыдущими материалами.
Содержание
- 1 Топ 20 лучших ботов для знакомства в телеграмме
- 1.1 Flirtu Dating https://flirtu.io/ru/
- 1.2 Zodier.io
- 1.3 Matchmaker @matchmaker_bot
- 1.4 HugMe @HugMe_VIPbot
- 1.5 Камильфо @camilfoclub_bot
- 1.6 Знакомства 18+ @Znakomstva_18
- 1.7 Знакомства (@meetyourlove)
- 1.8 StrangerBot @strangerbot
- 1.9 VirtualGirlfriendBot @virtualgirlfriendbot
- 1.10 Анонимный чат (@yetanotherbot)
- 1.11 YopsMe @yopsme_bot
- 1.12 Пообщаемся? (@intimbot)
- 1.13 @PrevedBot
- 1.14 VirtualChat
- 1.15 @MatchMaker2_bot
- 1.16 @go_sexbot
- 1.17 @AnonRuBot
- 1.18 @TindaGramBot
- 1.19 MiramiBot @miramibot
- 1.20 @dontSwipeMeRuBot
- 2 Принцип работы ботов для телеграмм знакомств?
- 3 Как выбрать бота для чата и знакомств в телеграмм?
- 4 Инструкция по регистрации
Telegram — популярная социальная сеть в мире, суть которой найти новые телеграмм знакомства и объединить людей с одинаковыми интересами. Приложение предоставляет функцию объединения в чаты, группы или каналы. Знакомства переросли в интернет-чаты, в последствии переходящие во что-то большее. Как же общаться, флиртовать или найти вторую половинку будучи новичком в мессенджере? Бравые энтузиасты специально разработали телеграмм ботов для знакомств, возможно именно вам удастся найти вторую половинку!
Учтите, хорошие боты — явление редкое, основная часть сервисов общения и поиска людей разработаны некачественно. В статье отобраны лучшие боты для знакомства, прошедшие проверку временем и зарекомендовавшие себя!
Flirtu Dating https://flirtu.io/ru/
Это чат знакомств в телеграмм, работающий по принципу Tinder’а. Пользователю предлагается оценивать фотографии людей, для отклика достаточно нажать либо сердечко, либо крестик для отказа. Нажав сердечко — ожидайте отклик человека на вашу симпатию! Взаимные сердечки позволят перейти в чат и пообщаться лично с человеком.
Перейти в телеграм-бот знакомств
Приятно заметить, что Flirtu Dating, заточенный телеграмм канал под знакомства, сделан полностью и для русского сегмента юзеров. Доступны настройки по фильтрам, интересам, местоположению — это упрощает поиск товарища или будущей жены в условиях социальной сети!
Плюсы:
- Локализация на русский язык.
- Регулировка и поиск по фильтрам.
- Стабильная работа сервиса.
- Надежность, проверенная временем.
- Общение напрямую в Телеграмм.
- Настоящие анкеты.
Минусы:
- Подтвердив анкету есть возможность ставить не свое фото.
- Сравнительно невысокая популярность по сравнению с Анонимным чатом.
Перейти в телеграм-бот Flirtu
Zodier.io
Стартап, создавший свой бот знакомств в телеграмм. Площадка активно работала в Российской Федерации, в ближайшее время планировалось открытие представительства компании на территории Украины. Ботом пользуются больше 60 тысяч украинцев и русских людей, потому найти человека по интересам стало проще!
Zodier сотрудничает с основными популярными мессенджерами, в том числе и с телеграмм. Завести знакомства в телеграмме легко, однако расширенный функционал для быстро поиска стоит денег. Покупка платных пакетов услуг позволит быстрее найти подходящего человека, а возможно скрасить с ним ночь!
Плюсы:
- Совместимость с популярными мессенджерами.
- Поиск людей на основе уникального алгоритма.
- Простая регистрация и дизайн.
- Много активных анкет.
Минусы:
- Стартовый пакет услуг затруднит поиск второй половинки.
- Цены на покупку дополнительного контента огромные.
- Порою выдает старые, неактивные анкеты.
Matchmaker @matchmaker_bot
Очередной чат знакомств телеграмм, сделанный в классическом стиле чатов подобного характера. Главным плюсом является отсутствие надобности скачивать отдельные приложения, достаточно заполнить небольшую анкету в боте знакомств и начать поиск. Города не пишутся, высвечивается лишь примерное расстояние друг к другу. Бот предоставляет четыре категории на выбор:
- Дружба.
- Интим.
- Вторая половинка.
- Прогулка.
Параметр серьезно влияет на конечный результат, подходите к желаниям с умом! Можно получить отличного друга или провести ночь в постели незнакомки.
Плюсы:
- Удобное управление.
- Поиск по интересам и категориям.
- Быстрый отклик.
- Простая регистрация
Минусы:
- Много обманщиков.
- Не требуется подтверждение анкеты.
HugMe @HugMe_VIPbot
Телеграмм канал знакомств, полюбившийся многим пользователям. Приложений с одинаковым функционалом — уйма, а HugMe — не исключение. Приятный дизайн, удобное управление, быстрое создание анкеты — все это собрано в боте. У разработчиков есть помимо бота отдельное приложение, если уж Вы так сильно увлеклись знакомствами.
Приятный момент, приложение и бот знакомств абсолютно бесплатные, платить за свидания не нужно!
Плюсы:
- Наличие бота и приложения.
- Бесплатное использование.
- Удобное управление.
Минусы:
- Нет подтверждения анкеты, могут обмануть.
- Большое количество извращенцев.
Камильфо @camilfoclub_bot
Сервис для знакомств с указанием четких параметров. По сути бот для телеграмм знакомства состоятельных мужчин и девушек-содержанок. Основная часть общения и отношений построено на товарно-денежном принципе, вряд ли найдете тут вторую половинку.
Важно! При наличии большого количества денег или красивой внешности смело используйте сервис. Найдете либо богатого ухажера, либо модель с серьезными финансовыми требованиями.
Плюсы:
- Красивые девушки и богатые мужчины в поиске.
- Легко найти спутника на одну ночь.
- Удобная быстрая регистрация.
Минусы:
- Без денег или симпатичной внешности делать в чат-боте нечего.
- Тяжело найти человека для общения или отношений.
Знакомства 18+ @Znakomstva_18
Элементарный телеграмм канал знакомств, пришлите администрации чата анкету и получите доступ к постоянному потоку чужих анкет. Из предоставленных оценивайте понравившиеся. Простейший и эффективный вариант бота.
Плюсы:
- Простое управление.
- Подтверждение анкет администрацией, все люди будут настоящими.
- Легкость и примитивность поиска.
Минусы:
- Малая аудитория.
- Сравнительно невысокая популярность сервиса.
- Отсутствие глубокого поиска с помощью фильтров.
Знакомства (@meetyourlove)
Альтернативный вариант примитивных чат знакомств телеграмм. Простое и легкое использование платформы нравится аудитории, потому упрощенные сервисы получили популярность. Схема работы такова:
- Отправляете администрации канала для телеграмм знакомств анкету.
- Ожидайте проверки. Подтвержденная анкета появится на равных с предложениями других людей.
- Оценивайте и ожидайте взаимных симпатий!
Хороший бесплатный вариант без лишнего функционала!
Плюсы:
- Анкеты проверяются модерацией.
- Все пользователи собраны в одном канале.
- Легко познакомится ( оценил и жди ответа ).
Минусы:
- Отсутствие фильтрации по категориям усложняет процесс поиска людей по интересам.
- Проблема с популярностью. Среди аналогов имеет невысокую активность.
StrangerBot @strangerbot
Платформа в телеграмм, сделавшая упор в простое общение. Суть в подборе собеседника без фильтров, абсолютно случайным образом. Простым языком — это анонимный чат без настроек, разрешающий писать и отсылать что угодно собеседнику. Контингент англоязычный, русские встречаются крайне редко.
Отличный подойдет скоротать время и поговорить со случайным собеседником, не раскрывая данных. Знание английского на разговорном уровне обязательно!
Плюсы:
- Нет никаких правил.
- Нет никаких фильтров. Берешь и ищешь.
- Разрешено оставить конфиденциальность личности.
Минусы:
- Основная масса — англоязычные люди.
- Уйма извращенцев и шутников.
VirtualGirlfriendBot @virtualgirlfriendbot
Бот знакомств подбирает людей случайно, но с учетом указанной человеком страны. Перед началом сервис предупреждает о возрастном ограничении 18+, могут присутствовать материалы интимного характера. Долго подбираться собеседник не будет — в течении минуты будет найден человек. Познакомиться с интересными личностями не составит труда.
Прекрасное решение тем, кто ищет вторую половинку или друга и не хочет обременять себя настройками. В сервисе реально найти спутника на вечер.
Плюсы:
- Простой интерфейс.
- Удобство поиска.
- Подбор людей автоматически по региональным параметрам.
Минусы:
- Анкеты не модерируются.
- Найти персону для интима сложно.
- Женщины попадаются реже мужчин.
Анонимный чат (@yetanotherbot)
Общение без раскрытия личности — девиз этого бота. Ваши настоящие данные узнать никто не может, только если сами отправите. Перед началом работу ознакомьтесь с правилами, выставленные администрацией и напиши фразу-пароль, указанную в своде требований. Нарушение правил карается блокировкой аккаунта раз и навсегда!
Платформа подойдет для общения и знакомства в телеграмм. Интим лучше не просить, пункт входит в нарушение правил. Закончится блокировкой!
Плюсы:
- Наличие контроля модерации.
- Постоянный поток собеседников.
- Полная анонимность.
- Разрешено делиться персональными данными.
Минусы:
- Строгие правила, нарушение карается баном.
- Основная аудитория — подростки.
YopsMe @yopsme_bot
Интересный кандидат с максимальной конфиденциальностью. Бот предоставляет общение скрывая личные данные, будь то номер телефона или никнейм.
Сервис имеет внушительные настройки. Суть телеграмм чата — общение и возможность встречи в реальном мире. Искать людей может по тонким фильтрам, указывая желательный пол, возраст и местоположение. При желании найти человека неподалеку от себя — привяжите местоположение к платформе и получайте анкеты неподалеку от вас.
Созданная анкета отображает для других пользователей личную информацию: пол, фотографию, город и ориентацию. Ожидайте оценки анкеты или оценивайте других людей, при взаимной симпатии общайтесь лично!
Серьезный сервис. Понравится людям, четко понимающим своим намерения.
Плюсы:
- Стабильная работа.
- Большой поток анкет.
- Принцип работы Тиндера.
- Высокая конфиденциальность.
Минусы:
- Сложные настройки фильтра для обычного юзера.
- Анкеты не всегда настоящие.
Пообщаемся? (@intimbot)
Маркетинговый ход, использованный в ссылке и названии для бота. На деле представляет обычное общение с возможностью обмениваться личной информацией.
Управление простое, нужно нажать одну кнопку и дождаться подключения собеседника. Имеется выбор русскоязычной или англоязычной аудитории, отсутствует поиск по регионам. Обычный чат-бот с возможностью пообщаться.
Рассчитывать на свидание с человеком не стоит — региональный поиск отсутствует. Правил в боте нет, поговорить и обменяться интимом труда не составит.
Плюсы:
- Конфиденциальность данных.
- Выбор двух популярных языков в СНГ.
- Отсутствие правил.
Минусы:
- Кликбейтовое название.
- Отсутствие регионального поиска.
- Нельзя четко поставить пол будущего собеседника.
@PrevedBot
Бот, качественно разработанный командой специалистов. Заполнив анкету можно создать чат или группу из нескольких людей, объединенные четкими требованиями (интим, общение или отношения). Указав переменные бот знакомств телеграмм активно начнет подбирать собеседников, в чате будет указан только пол и возраст. Предусмотрена приятная особенность сервиса — указание геолокации и выбор между русским и английским комьюнити.
Понравится людям, четко ищущим отношения или интим. Бот Preved позволит реализовать как пошлые мечты, так и найти вторую половинку!
Плюсы:
- Настройка между тремя параметрами.
- Возможность найти человека для интима по близости.
- Наличие русскоязычного сегмента.
Минусы:
- Нет подтверждения анкет, модерация не следит за этим.
- Сервис несильно популярен, включив геолокацию редко удастся найти людей.
VirtualChat
Простой телеграмм бот с функцией поиска собеседника по полу, изменяемый в настройках. Диалог начать легко, достаточно нажать кнопку поиска собеседника и общаться с ним! Имеется выбор между русским и английским языком.
Беспроигрышный вариант желающим пообщаться с противоположным полом без лишних телодвижений!
Плюсы:
- Простое использование.
- Поиск по полу.
- Анонимность.
Минусы:
- Нет регионального поиска.
- Нет поиска по геолокации.
- Нет гарантии, что вы общаетесь с девушкой указав в фильтре женский пол.
@MatchMaker2_bot
Коротко говоря, сервис позволяет создать и разместить анкету для начала диалога с людьми. Заполните пол, возраст, интересы и еще пару переменных и найдите собеседника. Есть выбор между английским и русским языком.
Подойдет для людей, ожидающих от телеграмм знакомств дружбы и общения.
Плюсы:
- Простое использование.
- Наличие английского и русского языка.
- Фильтрация по параметрам.
Минусы:
- Отсутствие поиска по регионам.
- Нет модерации анкет.
- Нет возможности указать геолокацию.
@go_sexbot
Чат в телеграмм сугубо для ИНТИМНЫХ знакомств. Работает сервис в Украине, Российской Федерации и Узбекистане. Много слов говорить не нужно — программа поможет найти партнера для интимных встреч на постоянной основе. Быстренько заполните анкету и найдите человека для плотских утех!
Идеальное решение, если не интересует дружба и отношения. Подойдет платформа для сугубого удовлетворения потребностей.
Плюсы:
- Простой поиск.
- Работа в странах СНГ.
- Быстрый поиск партнера.
Минусы:
- Нет модерации анкет.
- Нет фильтров.
- Нет поиска по геолокации.
@AnonRuBot
Наглядный пример минималистского анонимного чата. Нажмите кнопку поиска, ожидайте выбора собеседника и общайтесь не раскрывая личных данных! Присутствуют правила, нарушение сулит блокировкой аккаунта без права на восстановление. Анонимные чаты иногда бывают интереснее и забавнее открытых чат знакомств!
Идеальный вариант одноразового общения с людьми, не раскрывая личности!
Плюсы:
- Простое использование.
- Быстрый подбор человека.
- Много русских людей.
Минусы:
- Отсутствие фильтров поиска.
- Отсутствие возможности указать геолокацию.
@TindaGramBot
Программа, работающая по аналогии Tinda. Вам высвечивают анкеты, вы — лайкаете. Для участии и получения симпатий пройдите короткую регистрацию и ожидайте интереса со стороны людей! Имеется русский и английский язык, отсутствует поиск по местоположению. Неприятный момент бота для свиданий!
Используйте вместо Тиндера, занимающего память на вашем устройстве! Функционал не уступает, а память — экономится!
Плюсы:
- Простой поиск.
- Быстрые знакомства.
Минусы:
- Анкеты не модерируются.
- Пока не получите взаимную симпатию — общения не выйдет.
MiramiBot @miramibot
Фишкой чат-бота является автоматический поиск людей в радиусе 5 километров. Заполняйте анкету, указывайте данные и местоположение и найдите человека по интересам!
Прекрасное решение людям, желающим познакомиться с новыми персонами на своем жилом районе!
Плюсы:
- Быстрая регистрация.
- Простота использования.
- Автоматический поиск людей в радиусе 5 км.
Минусы:
- Отсутствие минимальных фильтров поиска.
- Низкая популярность.
@dontSwipeMeRuBot
Закрывает наш список эта платформа. Заполните анкету, познакомьтесь со своей второй половинкой или будущим лучшим другом? Что еще нужно знать?
Русский сервис знакомств, найти здесь девушку или парня легче простого!
Плюсы:
- Русское комьюнити
- Вежливая модерация.
- Постоянный поток анкет.
Минусы:
- Отсутствие поиска по геолокации.
- Нет верификации анкет.
Принцип работы ботов для телеграмм знакомств?
Телеграмм знакомства — решение непростое, но как бот помогает найти вторую половину или друга по интересам? Сервис собирает анкеты, пользователи сами по себе указывают параметры желаемого партнера. Программа анализирует и ищет в анкетах собеседника похожие пожелания и интересы, после соединяет двух пользователей между собой, выступая посредником. Простота и удобство — хорошая черта чат-ботов, но шансы найти желаемого человека по интересам сильно снижаются. Рекомендовано указывать четко интересы и желания из предложенных программой вариантов — это повысит шансы на успех и ускорит процесс подбора новых собеседников!
Как выбрать бота для чата и знакомств в телеграмм?
Выбор каналов для общения основывается на предпочтениях и желаниях самого пользователя, в мотивах и конечных требованиях. Человек, решивший найти общение (новых друзей и тд.), разговаривает с людьми через анонимные чаты или чаты с указанием местоположения, упрощая процесс поиска новых спутников. Пользователь, желающий найти вторую половинку будет обращаться в каналы с алгоритмом на подобии Тиндера (лайки и взаимные симпатии), возможность пообщаться и найти нормального человека для будущей жизни в разы выше. Пошлые люди идут в интим чаты. Флиртуют, общаются, присылают материалы категории 18+ и назначают свидания на одну ночь.
Выбор зависит от четких целей. Определитесь, чего вы хотите получить от чат-бота и выбор станет легче!
Инструкция по регистрации
Проблем при регистрации не возникнет. Процесс элементарный, справится спокойно ребенок. Общая схема регистрации:
- Найдя и выбрав бот, найдите его по имени или юзернейму.
- Нажмите кнопку «START» для запуска программы.
- Зайдите в настройки, заполните анкету и укажите интересы и теги, помогающие боту подобрать собеседника.
- Поставьте предпочитаемый пол человека.
- Активируйте отслеживание геолокации и подтвердите наличие 18-ти лет.
- Ожидайте откликов на анкету!
Век развивающихся технологий позволил, насколько абсурдно бы не звучало, находить новых и порою родных людей в мировой паутине. Данные сервисы полезны одиноким или молодым людям, желающим найти друга или вторую половинку с помощью интернета. До скорых встреч!
Как сделать анкету
Для создания анкеты мы будем использовать простой способ — Ввод от пользователя. Все компоненты, которые записывают переменные, относятся к условной группе невидимых. Это важно помнить, поскольку, чтобы задать вопрос пользователю, нам нужно добавить видимый компонент перед невидимым.
К видимым компонентам мы можем отнести Сообщение, Кнопки с подсказками, Кнопки для Viber, Динамические кнопки с подсказками, Кнопки с подсказками для ВКонтакте.
Видеоурок по созданию анкеты ↓
Для примера создадим простую анкету на 3 вопроса:
- Для какой аудитории вы хотите создать бота?
- Что он должен уметь делать?
- Оставьте email для связи.
Придумаем имена переменных:
- aud
- toDo
- usEmail
Добавьте на Экран компоненты в такой последовательности: Сообщение, Ввод от пользователя, Сообщение, Ввод от пользователя, Сообщение, Ввод от пользователя. Заполните их данными по порядку. Не забудьте сохранить проект.
После создания анкеты переходим в бота, отвечаем на вопросы и просматриваем переменные у пользователей (раздел «Пользователи»):
Помимо способа с обычным сообщением, пользователю для ответа можно давать выбор Кнопками с подсказками:
Такие ответы тоже попадут в переменные:
Переменные можно сразу вывести в текст.
Все шаги по созданию анкеты в конструкторе вы можете посмотреть в видеоуроке:
В начало ↑
Время на прочтение
7 мин
Количество просмотров 36K
Меня зовут Влад, по роду деятельности я — военный, но подрабатываю в компании автоматизации бизнеса, где и занимаюсь программированием на .net.
Краткая предыстория
В момент очередного схождения-расхождения с моей бывшей(очередной) невестой, она обмолвилась, что от скуки искала себе парней на свидания через telegram-бота, которому можно было отправить фото и геолокацию и тебе подбирало людей, которые находятся поблизости. Я пообещал, что напишу что-то похожее, если мы опять разбежимся.
Яра — это для тебя.
Я благополучно забыл про это, но в момент очередного безделья, я скролил сайт
с кексом на зелёном фоне
, где наткнулся на раздел, где люди просто выкладывали пост с фото, коротко писали о себе и указывали контакты.
Так и появилась идея написать своего бота, который бы помог людям найти друзей или кого-либо ещё.
Задача
Создать бот, где каждый, кто желает пообщаться, мог бы выложить короткие данные о себе и просто ждать, пока ему напишут.
Подготовка к работе
Как создавать бота через BotFather не знает только тот, кому это не интересно, так что наполнять статью лишней информацией я не стану.
Хранение «анкет»
Первоначально я создал проект ClassLibrary, который и собрался использовать для работы с данными.
Сначала нужно решить, как хранить данные пользователей. Для этого нам нужно «описать» юзера.
public class user
{
[Key]
public string tg_id { get; set; }//Уникальный айди пользователя
public string name { get; set; }//Отображаемое имя
public string age { get; set; }// Возраст
public string country { get; set; }// Страна
public string city { get; set; }//Город
public string gender { get; set; }//Пол
public string photo { get; set; }//Ссылка на фото
public string tg_username { get; set; }//Телеграмовский ник-нейм, по которому можно будет перейти к пользователю в личную переписку
public string tg_chat_id { get; set; }//Айди чата, куда отправлять ответ
}
Для хранения была выбрана БД PostgreSQL, которая была развернута на удаленном сервере.
Предварительно, устанавливаем EntityFramework, через NuGet. Это нереально упрощает жизнь в работе с БД.
Для работы требуется пакет:
NpgSQL.EntityFrameworkCore.PostgreSQL
А для миграций требуется пакет:
Microsoft.EntityFrameworkCore.Tools
Чтобы не заниматься рутинным созданием таблицы, просто создаем саму модель данных(наш класс выше) и задаем подключение к БД.
public DbSet<user> user { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseNpgsql(connectionString);
}
В дальнейшем выполняем миграцию.
Для этого в Консоли диспетчера пакетов выполняем команды:
enable-migrations
Включаем механизм миграций
Add-migration *Имя миграции*
Создаем миграцию
update-database
Обновляем БД
Теперь у нас в БД появятся две таблицы: История миграций и сама таблица user.
После решения вопроса хранения данных и коннекта к БД, можно переходить к написанию самого бота-обработчика.
Бот-обработчик
Сам telegram предлагает два варианта получения обновлений: webhook или постоянно дергать сервера, проверяя обновления. Webhook имеет большое количество сложностей, поэтому проще просто проверять обновления.
Получение обновлений их обработка
Для того, чтобы не создавать велосипед(иногда бывает полезно), проще использовать готовое решение: Telegram.Bot by MrRoundRobin — отличная, очень удобная библиотека для работы с Telegram.
Создаем в решение новый проект ConsoleApp, куда и устанавливаем этот пакет.
private static readonly TelegramBotClient Bot = new TelegramBotClient(token);//Инициализация бота
static void Main(string[] args)
{
var me = Bot.GetMeAsync().Result;//Получаем имя бота, чтобы обозвать окошко консоли(когда ботов несколько, то так проще)
Console.Title = me.Username;
//Создаем обработчики событий
Bot.OnMessage += BotOnMessageReceived;
Bot.OnCallbackQuery += BotOnCallbackQueryReceived;
Bot.OnReceiveError += BotOnReceiveError;
//Начинаем проверять обновления
Bot.StartReceiving(Array.Empty<UpdateType>());
Console.WriteLine($"Start listening for @{me.Username}");
Console.ReadLine();
Bot.StopReceiving();
}
Таким образом, мы начали проверку на обновления и поставили свои обработчики ошибок.
BotOnMessageReceived
— обработчик получения «обычных» сообщений
BotOnCallbackQueryReceived
— обработчик нажатия кнопок, которые появляются под сообщением.
Дело за малым, возможность оставить анкету и возможность пролистать остальные. Так что нужно отправить пользователю две кнопки: Регистрация и Дальше. Кнопка представляет объект InlineKeyboardButton
, а все кнопки нужно упаковать в
IEnumerable<IEnumerable<InlineKeyboardButton>>
При открытии бота, ему сразу же отправляется сообщение с текстом «/start», так что нам нужно в BotOnMessageReceived
обработать это сообщение и отправить в ответ наши кнопки.
if (message.Text == "/start")
{
var inlineKeyboard = new InlineKeyboardMarkup(new[]
{
new [] // first row
{
InlineKeyboardButton.WithCallbackData("Начать!", "Next"),
InlineKeyboardButton.WithCallbackData("Регистрация", "Registration")
}
});
Bot.SendTextMessageAsync(message.Chat.Id, "Добро пожаловать в lovebot! rnЧтобы перезапустить бота - /startrnЧтобы зарегистроваться или же изменить свою анкету - /registerrnЧтобы посмотреть количество пользователей бота - /statsrn По поводу возникших вопросов - @hahah2016", replyMarkup: inlineKeyboard);
return;
}
Регистрация
Для регистрации, нужно запоминать, что пользователь ввел ранее. То есть нам нужно создать хранилище памяти бота. Я просто создал класс, где описал логику заполнения данных.
RegForm.cs
public class RegForm
{
public string tg_id { get; set; }
public string name { get; set; }
public string age { get; set; }
public string country { get; set; }
public string city { get; set; }
public string gender { get; set; }
public string photo { get; set; }
public string tg_username { get; set; }
public string tg_chat_id { get; set; }
public int stage;
public RegForm(string id, string chat_id, string username)
{
stage = 1;
tg_id = id;
tg_username = username;
}
public (string, int) StageText(string id)
{
if (stage == 1)
return ("Введите отображаемое имя:", stage);
if (stage == 2)
return ("Введите возраст:", stage);
if (stage == 3)
return ("Введите Вашу страну:", stage);
if (stage == 4)
return ("Введите Ваш город:", stage);
if (stage == 5)
return ("Введите Ваш пол:", stage);
else
return ("Отправьте боту Ваше фото:", stage);
}
public bool SetParam(string param)
{
if (stage == 1)
name = param;
if (stage == 2)
age = param;
if (stage == 3)
country = param;
if (stage == 4)
city = param;
if (stage == 5)
gender = param;
if (stage == 6)
photo = param;
stage++;
return true;
}
}
В данном классе можно реализовать валидацию данных, например, не пропустить возраст в виде текста и т.п.
А самой памятью выступает static Dictionary<string, RegForm> registrations = new Dictionary<string, RegForm>();
, в который мы добавляем новый KeyValuePair, при нажатии на кнопку.
Чтобы бот знал, как ему реагировать на нажатие, нужно в BotOnCallbackQueryReceived
добавить
var message = e.CallbackQuery;
if (message.Data == "Registration")
{
RegForm form = new RegForm(message.From.Id.ToString(), message.Message.Chat.Id.ToString(), message.From.Username);//Создаем новую форму регистрации
registrations.Add(message.From.Id.ToString(), form);//Добавляем форму в "память", где ключом будет telegram_id пользователя.
var t = form.StageText(form.tg_id); //Получаем текст, который отправим пользователю, в зависимости от стадии регистрации.
Bot.SendTextMessageAsync(message.Message.Chat.Id, t.Item1);//отправляем сообщение пользователю.
return;
}
И таким же образом, обрабатывая полученные данные, можно заполнить форму и сохранить данные.
using (Context db = new Context())
{
IMapper mapper = new MapperConfiguration(cfg => cfg.CreateMap<RegForm, User>()).CreateMapper();
if (db.user.Where(x => x.tg_id == message.From.Id.ToString()).Count() != 0)
db.user.Update(mapper.Map<RegForm, tgbot_base.classes.user>(u));
else
{
db.user.Add(mapper.Map<RegForm, tgbot_base.classes.user>(u));
}
db.SaveChanges();
}
Если пользователь уже имеет анкету, то просто обновим данные.
Сохранение фото пользователя
if (message.Type == MessageType.Photo)
{
string file = Bot.GetFileAsync(message.Photo[message.Photo.Count() - 1].FileId).Result.FilePath;
string filepath = message.From.Id + "." + file.Split('.').Last();
using (FileStream fileStream = new FileStream("C:\images\" + filepath, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
var st = Bot.DownloadFileAsync(file).Result;
st.Position = 0;
st.CopyTo(fileStream);
}
u.SetParam("C:\images\" + filepath);
}
Показ остальных анкет
Для этого просто нужно брать данные из БД и отправлять пользователю.
Для этого пишем простенький метод, который и будет брать данные из БД и возвращать их в удобном формате:
public static User GetRandom()
{
Stopwatch s = new Stopwatch();
s.Start();
User u;
using (Context db = new Context())
{
Random r = new Random();
int count = db.user.Count();
if (count > 1)
count = count - 1;
List<User> users = mapper.Map<List<tgbot_base.classes.user>, List<User>>(db.user.ToList());
u = users.ElementAt(r.Next(0, count));
}
Console.WriteLine("[" + DateTime.Now + "] For finding " + s.ElapsedMilliseconds + " ms");
s = null;
return u;
}
Обработчик нажатия кнопки Next:
if (message.Data == "Next")
{
if (searchForms.Count != 0)
{
searchForms.Remove(message.From.Id.ToString());
}
IMapper mapper = new MapperConfiguration(cfg => cfg.CreateMap<RegForm, User>()).CreateMapper();
User user = BaseWorker.GetRandom();
SendAnket(user, message.Message.Chat.Id.ToString());//Метод, который создает форматирование в сообщении.
return;
}
Заключение
При всей своей простоте, бот понравился публике.
Меньше чем за сутки, 134 юзера оставили свои анкеты, есть положительные отклики. И без особой рекламы — лишь один пост на сайте, который особо плюсов не набрал.
Боты — это давно забытое старое, которое обрело новую жизнь. Они помогают реально автоматизировать многие процессы и даже искать себе пару в интернете. В обход забитых монетизацией сайтов знакомств.
Спасибо, что дочитали до конца.
Good luck, have fun, dont eat yellow snow.