Андрей Смирнов
Время чтения: ~10 мин.
Просмотров: 2

Ещё один telegram-бот или реализация бота для знакомств

Популярные боты знакомств в Telegram

В мессенджере насчитывается огромное количество ботов знакомств, где можно найти собеседника по взглядам и интересам. Мы выделили таких популярных ботов: Matchmaker_bot, MiramiBot и Stranger Bot.

Matchmaker_bot

Бот, в котором пользователь указывает конкретную цель знакомства. Первым делом выбирается одно из намерений:

  • сходить в кино;
  • выпить;
  • пофлиртовать;
  • переспать.

Затем заполняется анкета, где вводятся личные данные: пол, возраст, загружается фотография. Информация на достоверность не проверяется. Далее программа ищет наиболее подходящих под ваши параметры кандидатов, и результаты предлагает вам.

Здесь нельзя выбрать конкретный город для поиска, но допустимо указать радиус, в котором бот будет заниматься сканированием.

MiramiBot

Боты для знакомств не имеют особых отличий. В каждом необходимо предоставлять информацию о себе. Стоит отметить, что многие любят ее приукрасить. После активации автоматической программы следует ввести свой пол, возраст, загрузить фотографию, указать местоположение, чтобы сузить результаты поиска и найти людей, находящихся на расстоянии не более 5 км от вас.

Stranger Bot

В этой системе выбор кандидата для общения определяется автоматически. Навигация, пол, возраст, страна не выставляется. Кроме личного профиля ничего не видно. Пользователи могут обмениваться личными фотографиями и общаться на самые различные темы. Если по каким-либо причинам разговор не получается, от него можно отказаться и найти нового собеседника.

Телеграмм-каналы 18+-_18

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

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

всё о Телеграм каналах 18+

  • Камильфо (@camilfoclub_bot)

Сервис для статусных мужчин, которые хотят провести вечер с красотками. Здесь не получится найти подружку, которая согласиться провести вечер за «спасибо». Даме придется оплатить ее услуги. Можно сказать, что это просто поиск женщин легкого поведения, а админ обыкновенный сутенер. Но это не так. Более того, все девушки здесь не случайные профурсетки.

Вечер с такой дамой обойдется недешево. Но и канал не для «птенчиков». Мужчины, которые подписаны на «Камильфо» богаты и успешны, а дамы – содержанки. Такие отношения имеют обоюдную выгоду: мужчина – спонсор, девушка – содержанка. Никто не в обиде и все довольны. Если устраивает такой формат взаимоотношений, то почему бы и нет?

  • Знакомства 18+ (@Znakomstva_18)

Здесь необходимо заполнить анкету, которая пройдет модерацию и будет размещена администратором в ленте. Собственно, ими и наполнен канал. Останется только выбрать подходящего соискателя, и можно попытаться завязать знакомство. На канале размещена информация об алгоритме использования

всё о Телеграм каналах

  • Знакомства (@meetyourlove)

Прост до невозможности. Так же, как и предыдущий канал, состоит и анкет. Админу, помимо информации о себе, необходимо отправить и заявку. После формальной проверки, данные соискателя размещаются в ленте.

  • @matchmaker2_bot

Этот бот предлагает общение как на русском, так и на английском языках. Есть возможность выбора возрастной категории, по интересам, а также по гендерной принадлежности. Поиск партнера происходит при помощи размещенных анкет.

  • @sgildeevago_sexbot

Работает в трех странах: Россия, Украина и Узбекистан. Создан для поиска партнера для секса на одну ночь. Необходимо заполнить анкету со своими требованиями, и чуть позже получить кандидатуры для реализации своих желаний. Плюсы канала:

  • Автоматический поиск
  • Три страны на выбор
  • Облегченное заполнение анкеты.

как работают Телеграм каналы

  • @AnonRuBot

Обыкновенный чат для рандомного поиска случайных знакомств. Процесс автоматизирован. Имеет существенные минусы:

  • Нет анкет соискателей, по сути, предлагается «кот в мешке»,
  • Нет каких-либо настроек,
  • Нет различия по половой принадлежности, а значит запросто может выстрелить однополый партнер.
  • @TindagramBot

Прост и бесплатен. Напоминает известный сайт для знакомств. Анкета заполняется пошагово. Круто то, что есть функция геолокации, что позволяет найти партнера на расстоянии вытянутой руки.

  • @YetAnotherBot

Анонимный, представлен в русскоязычной версии. Направлен на групповое общение, но есть возможность поговорить в личке. Больше, ничем особенным похвастать этот робот не может.

  • @yopsme_bot

Полностью анонимный бот. Управление без лишних заморочек. Предлагает формат встреч в данный момент и на текущую дату. Работает по принципу анкетирования. Бот прячет личную информацию пользователя. Плохо только одно: работает исключительно в Москве.

  • @intimbot

Хоть и «остренькое» название, а предложение весьма обыкновенное. Обычное общение и не более того. Можно выбрать пол собеседника. А для начала общения нужно просто нажать кнопку «подобрать собеседника». Минус один: нет геолокации. А это значит, что задушевная беседа может начаться с пользователем на другом краю земли.

Создатели бота предусмотрели этот факт, и добавили возможность выбора языка. Существенный плюс у бота, это возможность прекратить общение, если оно чем-то не устроило. Достаточно нажать соответствующую кнопку и чат прекратится.

  • @prevedbot

Бот-новичок, но отлично продуман. Можно выбрать пол собеседника и даже пару. Бот любопытен, он сразу уточняет, что именно хочет пользователь: общение, интим или же все сразу в одном флаконе. Когда параметры будут заданы, бот предоставит перечень кандидатов на общение. Максимум, что будет о них известно, это имя и возраст. Все остальное только при личном общении. Оборудован геолокацией и поддерживает два языка: русский и английский.

  • @StrangerBot

Ничего кроме общения предложить этот бот не может, да и то только для любителей английского языка. На русском там не пообщаться. Привлекает то, что собеседник подкидывается рандомно, а значит, что общение может оказаться весьма интересным. Если английский язык не является камнем преткновения, то можно заглянуть в гости к боту и установить его в своем приложении.

  • @ChatVirtualBot

Собеседник – случайный выбор бота. Доступны русский и английский языки. Можно выбрать пол собеседника, и эта настройка может быть изменена в любой момент. Бот помогает завязать беседу подкидывая первый вопрос. Чат можно прекратить, нажав кнопку «End».

  • @yetanotherbot

Общение только анонимное. Ник может быть любой, при этом настоящее имя профиля надежно скрыто и нигде не отображается. Робот очень строгий и имеет строгую цензуру: конфликты, нецензурные выражения, реклама и торговля запрещены. Чтобы начать общение придется поплясать с бубном и написать роботу фразу: «Я все прочитал и понял, пропустите меня, пожалуйста». Вот такой щепетильный бот.

Полный список Телеграмм-каналов для взрослых можно найти в каталоге самого мессенджера. Выбрать есть из чего, ведь здесь представлены наиболее популярные каналы. Но у каждого есть возможность выбирать что-то свое.

Расскажем подробно, где и как найти секс в Москве с нашей статье далее по ссылке.

Камильфо

camilfo-1-298x300.jpg

@camilfoclub_bot

Камильфо  – Телеграмм сервис для состоятельных и успешных мужчин, готовых платить за отношения по расчету и получать за свою щедрость взаимность от первых красавиц страны. Такие отношения обычно называют «взаимовыгодными», мужчину в такой паре — «спонсором», а девушку — «содержанкой».

Cпонсоры – это успешные в бизнесе или политике мужчины.

Быть содержанкой – это получать материальные выгоды за то, чтобы уделять мужчине внимание, радовать его своей натуральной красотой, умом, хорошим настроением и при этом не донимать его.

Бот-обработчик

Сам 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());             Console.WriteLine($"Start listening for @{me.Username}");             Console.ReadLine();             Bot.StopReceiving();         }

Таким образом, мы начали проверку на обновления и поставили свои обработчики ошибок. BotOnMessageReceived — обработчик получения «обычных» сообщенийBotOnCallbackQueryReceived — обработчик нажатия кнопок, которые появляются под сообщением. Дело за малым, возможность оставить анкету и возможность пролистать остальные. Так что нужно отправить пользователю две кнопки: Регистрация и Дальше. Кнопка представляет объект InlineKeyboardButton, а все кнопки нужно упаковать в

IEnumerable<ienumerablee>  При открытии бота, ему сразу же отправляется сообщение с текстом "/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> registrations = ionary<string>();</string></string>, в кый мы добавляем новый 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>()).CreateMapper();                    if (db.user.Where(x => x.tg_id == message.From.Id.ToString()).Count() != 0)                                 db.user.Update(mapper.Map<regform>(u));                                                     {                                 db.user.Add(mapper.Map<regform>(u));                                                  db.SaveChanges();                         }</regform></regform></regform>

Если пользователь уже имеет анкету, то просто обновим данные.Сохранение фото пользователя

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>, List<user>>(db.user.ToList());           u = users.ElementAtount));             }             Console.WriteLine("[" + DateTime.Now + "] For finding " + s.ElapsedMilliseconds + " ms");             s = null;             return u;         }</user></list></user>

Обработчик нажатия кнопки Next:

if (message.Data == "Next")                 {                     if (searchForms.Count != 0)                     {                         searchForms.Remove(message.From.Id.ToString());                     }                     IMapper mapper = new MapperConfiguration(cfg => cfg.CreateMap<regform>()).CreateMapper();             ser user = BaseWorker.GetRandom();                     SendAnket(user, message.Message.Chat.Id.ToString());//Метод, который создает форматирование в сообщении.                      return;                 }</regform>

</ienumerablee></pre>Используемые источники:

  • https://greatchat.ru/telegram/boty-dlja-znakomstv-v-telegram
  • https://intrigue.dating/samoe-pikantnoe/telegram-kanaly-dlya-vzroslyx-znakomstva-i-vstrechi-na-odnu-noch/
  • https://habr.com/post/430314/

Похожие статьи

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации