HappySecretSantaBot - Bot de telegrama para o jogo "Secret Santa"

Oi, habrozhiteli!



Um pouco de história


Quando eu ainda era estudante, abri o período Habr, e um dos artigos que eu lembrava naquela época era o Club of Anonymous Santa Clause 2013-2014 . Naquela época, pareceu-me uma das idéias mais legais para organizar esses eventos, nos quais você pode estar no papel de Papai Noel para um completo estranho e, ao mesmo tempo, receber um presente do mesmo completo. Após esse habropost, descobri que existe algo que, em princípio, deu um impulso adicional à redação desse bot.

No ano novo passado, eu também tive essa ação no trabalho, onde cada pessoa na sala tinha uma pessoa aleatória e você tinha que dar um presente para a pessoa que se apaixonou por você, e essa pessoa, por sua vez, também a dá a outra pessoa. Como resultado, todos permanecem com presentes e satisfeitos.

No ano passado, eu tinha um hobby de criar bots na plataforma VK, mesmo sem liberá-los para o mundo, mas apenas por mim. Comecei a criar vários bots para mim, tinha um público da minha cidade, para o qual atraí muitas pessoas usando o bot. Eu gostei que as pessoas pudessem gastar muito tempo cutucando a funcionalidade do bot, e tiveram prazer com isso, o que me motivou a procurar constantemente novas idéias sobre como agradar as pessoas, então vários clientes se voltaram para mim para escrever bots para eles em público, e todos ficaram felizes.

Então, eu queria mudar do VK (o que há para capturar já?) Para o Telegram, pois soube que essa é uma ótima plataforma para bots. E, claro, para fazer um bot - você precisa de uma ideia. A idéia surgiu quase imediatamente, porque o Ano Novo está se aproximando, e o bot na forma de "Papai Noel Secreto" não é algo comum no Telegram, e o desejo de escrevê-lo foi há muito tempo. Apenas na forma de sites, quanto a mim, não faz sentido fazer isso, porque esses sites custam uma dúzia. E por um tempo, sentei-me para ler a documentação da API do Telegram BOT (porque eu não conhecia completamente, este é o meu primeiro projeto nesta plataforma), procurei bots de código aberto no Github, observei as pessoas se desenvolvendo, sentei-me por um tempo, pintei como eu quero que pareça. Na verdade, quero apresentar-lhe a minha criação.

Como é agora


O usuário é recebido antes do início do jogo por uma mensagem de boas-vindas explicando a ele que o jogo tem dois modos: único e equipe.

O single por si só prevê que o usuário encontre um Papai Noel absolutamente aleatório (dentro de seu país). O usuário pressiona o botão que deseja encontrar um Papai Noel completamente aleatório, o sistema o registra e a cada hora caminha e une aqueles que não o têm em pares. Dentro de uma hora (se, é claro, neste momento houver usuários do seu país também sem Papai Noel), o usuário receberá uma mensagem com informações sobre o destinatário, além de que o Papai Noel foi encontrado.

A equipe oferece aos usuários o direito de ingressar nas salas. Isso é adequado para quem, por exemplo, em escritórios ou em uma grande equipe de amigos que desejam dar presentes um ao outro. Uma pessoa cria uma sala no bot, o bot fornece o número da sala ao líder da sala, de acordo com o qual ele pode convidar outras pessoas. As pessoas inserem o número desta sala e entram nela. Para iniciar o jogo, a sala deve ter um número par de usuários e o líder da sala deve pressionar / reproduzir. Depois disso, o bot misturará todos os usuários e todos receberão seu Papai Noel, cada pessoa na sala receberá uma mensagem pessoal do Bot, com dados sobre onde entregar o presente. Você não pode sair da sala se o usuário já tiver o Papai Noel. No entanto, você pode sair da sala se o usuário ainda não recebeu o Papai Noel. O líder (criador) da sala não pode sair da sala se houver pelo menos alguém que não seja ele.

Após o início do jogo, o bot pede ao usuário informações sobre seu país, cidade, endereço, nome completo, lista de desejos (cada usuário pode escrever uma lista de desejos que o Papai Noel pode ouvir). Além disso, a pessoa entra na sala ou a cria, ou encontra um Papai Noel aleatório fora dos quartos. Depois de enviar um presente para o seu destinatário, você precisa pressionar / enviar (o bot notificará o destinatário que você enviou o pacote e não demorará muito para esperar). Quando o pacote chegar até você, você pode pressionar / entregue (todos esses comandos estão nos comandos bot na navegação), e seu Papai Noel receberá uma notificação com um "sinal de mais em karma e respeito".

O bot uma vez por mês também lembra aqueles que não enviaram um presente que o Ano Novo está chegando, e você não precisa ser um Papai Noel ruim, precisa se apressar.

Abaixo deixo algumas capturas de tela do bot.

Algumas capturas de tela do bot




Sobre o que eu implementei


Não vou me debruçar sobre a parte técnica (talvez o tópico de outro post), apenas chamarei os interessados, com a ajuda da qual eu a desenvolvi.

JP : PHP 7
DBMS : MySQL
SDK : Telegrama BOT PHP SDK

Todos os interessados ​​no bot - ele pode ser encontrado no Telegram como @HappySecretSantaBot

Tenha um ótimo dezembro para todos, escreva bots (isso é legal) e Feliz Ano Novo!

Source: https://habr.com/ru/post/pt432270/


All Articles