Happysecretsantabot - Telegram Бот Для Игры Тайный Санта

Здравствуйте, жители Хабро!

HappySecretSantaBot - Telegram бот для игры



Немного истории

Когда я был еще школьником, я периодически открывал Хабр, и одна из статей, которые мне тогда запомнились, была Клуб Анонимных Дедов Морозов 2013 - 2014 .

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

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

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

В итоге все остаются с подарками и счастливы.

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

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

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

Итак, я захотел перейти с ВК (чего там вообще ловить?) на Телеграм, так как слышал, что это отличная площадка для ботов.

И конечно, чтобы сделать бота, нужна идея.

Идея пришла почти сразу, ведь приближается Новый год, а бот в виде «Тайного Санты» — не обычное явление в Telegram, но желание написать его появилось уже давно.

Просто в виде сайтов, как по мне, делать это нет смысла, потому что таких сайтов пруд пруди.

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

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



Как это выглядит сейчас

Перед началом игры пользователя встречает приветственное сообщение, в котором объясняется, что в игре есть два режима: одиночный и командный.

Одинокий подразумевает, что пользователь находит совершенно случайного Санту (в пределах своей страны).

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

Команда дает пользователям право присоединяться к комнатам.

Это хорошо подойдет тем, кто, например, в офисах, или в большой компании друзей хочет дарить друг другу подарки.

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

Люди входят в номер этой комнаты и попадают в нее.

Чтобы начать игру, в комнате должно быть четное количество пользователей, а лидер комнаты должен нажать /play. После этого бот смешает всех пользователей и каждый получит своего Санту, каждый человек в комнате получит личное сообщение от бота с информацией, куда доставить подарок.

Вы не можете выйти из комнаты, если пользователь уже получил Санту.

Однако комнату можно покинуть, если пользователь еще не получил Санту.

Лидер (создатель) комнаты не может покинуть комнату, если там кроме него есть еще кто-нибудь.

После запуска игры бот запрашивает у пользователя информацию о его стране, городе, адресе, полном имени, списке желаний (каждый пользователь может написать список желаний, который сможет прослушать Санта).

Далее человек либо присоединяется к комнате, либо создает ее, либо находит случайного Санту за пределами комнат. После того, как вы отправите подарок на адрес получателя, вам нужно нажать /отправлено (бот оповестит получателя, что вы отправили посылку, и ждать долго не придется).

Когда придет ваша посылка, вы можете нажать /delivered (все эти команды есть в командах бота в навигации), и ваш Санта получит уведомление с «плюсом за карму и уважение».

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

Ниже оставляю несколько скриншотов бота в действии.

Пара скриншотов бота

HappySecretSantaBot - Telegram бот для игры



HappySecretSantaBot - Telegram бот для игры



HappySecretSantaBot - Telegram бот для игры



На чем вы это реализовали?

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

ЯП : PHP 7 СУБД : MySQL SDK : PHP SDK Telegram БОТ Кому интересен бот - его можно найти в Telegram как @HappySecretSantaBot Всем отличного декабря, пишите ботов (это круто), и с Новым годом! Теги: #Децентрализованные сети #Telegram #telegram api #telegram боты #секретный Санта

Вместе с данным постом часто просматривают: