HappySecretSantaBot — Телеграм бот для игры «Тайный Санта»
Привет, хаброжители!
Немного истории
Когда я был еще школьником, я открывал периодами Хабр, и одна из статей которая мне на то время запомнилась — была Клуб анонимных Дедов Морозов 2013 — 2014. На то время мне показалось одной из самых крутых идей организовывать такие акции, где ты можешь побывать в роли Деда Мороза для совсем незнакомого человека, и в то же самое время получить подарок от такого же совсем незнакомого человека. После данного хабропоста я узнал что такое вообще существует, что в принципе и дало в дальнейшем толчок на написание этого бота.
На прошлый Новый Год у меня на работе также прошла такая акция, где каждому человеку в комнате выпал случайный человек, и ты должен был подарить подарок выпавшему тебе человеку, а этот человек в свою очередь тоже дарит другому человеку. В итоге все остаются при подарках и довольными.
В последний год у меня появилось хобби создавать ботов на платформе VK, даже просто не выпуская их в мир, а просто ради себя. Начал создавать для себя ботов различных, у меня был паблик моего города, в который я в то время привлёк очень много людей с помощью бота. Мне нравилось, что люди могут проводить много времени тыкая в функционал бота, и получали от этого удовольствия, что мотивировало меня постоянно искать новые идеи, как радовать людей, потом ко мне обращалось несколько заказчиков писать им ботов для их пабликов, и все были довольны.
Так вот, захотелось мне перейти с VK
Как это выглядит сейчас
Встречает пользователя перед началом игры приветственное сообщение, в котором ему объясняется, что в игре есть два режима: одиночный и командный.
Одиночный под собой предусматривает то, что пользователь находит совершенно случайного Санту (в пределах его страны). Пользователь жмёт кнопку, что хочет найти совершенно случайного Санту, система регистрирует его, и каждый час ходит и объединяет в пары тех, у кого ее нет. В течение часа (если, конечно на этот момент есть пользователи с Вашей страны также без Санты) пользователю придет сообщение с данными о его получателе, а также о том, что Санта найден.
Командный дает право пользователям объединяться в комнаты. Это хорошо подойдёт тем, кто например в офисах, или в большой команде друзей хочет сделать друг-другу подарки. Один человек создает комнату в боте, бот даёт номер комнаты лидеру комнаты, по которому он может пригласить остальных людей. Люди вводят номер этой комнаты и попадают в неё. Для начала игры, в комнате должно быть четное количество пользователей, и лидер комнаты должен нажать /play. После этого, бот перемешает всех пользователей и каждому достанется его Санта, каждому человеку в комнате придёт личное сообщение от Бота, с данными, куда доставлять подарок. Покидать комнату нельзя, если пользователю уже достался Санта. Однако, комнату можно покинуть, если пользователь еще не получил Санту. Лидер (создатель) комнаты не может покинуть комнату, если там есть хоть кто-то помимо него.
После старта игры, бот запрашивает у пользователя данные о его стране, городе, адресе, ФИО, вишлист (каждый пользователь может написать список желаний, к которому может прислушаться Санта). Дальше же, человек либо присоединяется к комнате, либо создает ее, либо находит случайного Санту вне комнат. После того, как Вы пришлете подарок на адрес Вашего получателя, необходимо нажать /sent (бот оповестит получателя, что Вы отправили посылку, и ждать осталось недолго). Когда Вам придет посылка, то Вы можете нажать /delivered (все эти команды есть в командах бота в навигации), и Вашему Санте придет уведомление, с «плюсом в карму и уважухой».
Бот раз в месяц также напоминает тем, кто еще не отправил подарок, что уже вот скоро Новый Год, и не нужно быть плохим Сантой, нужно поторопиться.
Ниже оставляю несколько скриншотов работы бота.
Парочка скринов бота
На чем реализовывал
На технической части вообще останавливаться не буду (возможно, тема другого поста), просто для заинтересованных назову, с помощью чего разрабатывал.
ЯП: PHP 7
СУБД: MySQL
SDK: Telegram BOT PHP SDK
Всех заинтересованных в боте — его можно найти в Telegram как @HappySecretSantaBot
Всем отличного декабря, пишите ботов (это круто), и с «наступающим» Новым Годом!