Como Criar um Bot para o Telegram em PHP (Parte 1)

Há algumas semanas o WhatsApp foi bloqueado em todo o Brasil pela segunda vez e esse evento fez com que mais de um milhão de brasileiros recorressem ao Telegram para continuar conversando com os amigos e manter contatos profissionais.

O Telegram, para quem ainda não conhece, é um aplicativo de mensagens baseado em nuvem. O fato de ele ser baseado em nuvem permite que o usuário acesse suas mensagens em qualquer dispositivo. O Telegram também criptografa as mensagens, além de disponibilizar chats privados e prover a autodestruição de mensagens, o que dá segurança e privacidade aos usuários. Já para os desenvolvedores, existe a API do Telegram, a qual pode ser usada para o desenvolvimento de aplicação sobre a plataforma.

Com a API do Telegram é possível criar clientes para ler e enviar mensagens, ou seja, você pode criar seu próprio “Telegram” para qualquer plataforma. Além disso, é possível também o desenvolvimento de bots. Os Bots são aplicações com as quais o usuário pode interagir através do Telegram. A interação entre os usuários e os bots pode ser via mensagens ou através da execução de comandos.

No site Telegram Bot Store é possível encontrar uma série de bots das mais variadas funções. O site inclui desde bots de notícias até os que jogam poker! kkkkk

Que tal desenvolvermos um bot também? Mas antes de começarmos, precisamos definir o que ele irá fazer. xD

Que tal fazermos um bot para exibir os resultados das loterias da Caixa Econômica? Seria bem útil!! =]

O primeiro passo para criar um bot para o Telegram é adicionar o BotFather à sua lista de contatos. No meu caso, como mostra a imagem abaixo, eu o adicionei através da versão Desktop do Telegram.

botfather

Ao iniciar uma conversa com o BotFather, digite “/newbot”. Quando ele receber esse comando, ele irá solicitar um nome para o bot. No meu caso, eu digitei “Loterias Caixa”. Em seguida, deve ser escolhido o nome de usuário do bot, para o qual eu escolhi “loteriascaixabot”, uma vez que “loteriabot” já existia. Pronto, após fazer isso o bot é criado e um TOKEN de acesso é criado. Todo esse procedimento pode ser visto na imagem abaixo.

botfather criação bot

Para adicionar a foto do avatar do bot, é só utilizar o comando “/setuserpic”, escolher qual bot receberá mudará a foto do perfil e enviar a imagem.

bot avatar

Pronto, agora o bot da loteria já está configurado e cadastrado no Telegram.

No próximo post, eu irei mostrar como implementar em PHP o comportamento e ações a serem executadas pelo bot.

E ai gostou? Qualquer dúvida, deixa um comentário! =]

 

12 Comment

  1. gildo kappel says: Responder

    vc consegue fazer um bot, em que aparece o resultado de todas as extraçoes da loteria federal do brasil??? alem das que vc ja colocou no bot leteriascaixa?

    1. Luiz Marcus Luiz Marcus says: Responder

      E ae Gildo, blz?

      É possível fazer o bot que você mencionou. Com esse tutorial que eu postei aqui dá pra fazer vários tipos de bots.
      Infelizmente, não tenho muito tempo disponível pra desenvolver tantos bots assim. kkkk
      Mas esse tutorial pode ajudar outras pessoas a criá-los. xD

  2. Marciano says: Responder

    Opa, luiz tem como fazer o bot responder sempre no privado ?
    Pois tenho um bot e esta setado como private enable no botfather, mas nao encaminha para o pv, cai sempre no geral , no meu caso tenho o bot em um grupo e gostaria de direciona as respostas para os usuarios e nao no geral.
    Desde ja obrigado…

    1. Luiz Marcus Luiz Marcus says: Responder

      E ae, Marciano!

      O método setPrivacy do BotFather, quando está enabled, serve para o bot “escutar” apenas as mensagens enviadas ao grupo que começam com “/”. Se o setPrivacy estiver disabled, o bot “escuta” todas as mensagens que forem enviadas ao grupo. Sendo assim, o setPrivacy não tem ligação com o envio de mensagens privadas aos membros do grupo.
      Para seu bot iniciar uma conversa com algum membro do grupo, você pode fazer uso da funcionalidade Deep Linking da API do Telegram. Dá uma olhada nesse link: https://core.telegram.org/bots#deep-linking

      Espero ter ajudado. =]

  3. Rafael Braga says: Responder

    Existe a possibilidade de enviar uma mensagem php para o seu bot, ou seja, é possível conversar com um bot através de alguma API?

    1. Luiz Marcus Luiz Marcus says: Responder

      E ae Rafael, blz?

      Existe sim. Dá uma olhada na parte 2 e na parte 3 deste post. Nessas partes, eu demonstrei a implementação da conexão entre o bot e a API do Telegram.

  4. Leonardo says: Responder

    Como faço pra adicioná-lo? como você fez.

    1. Luiz Marcus Luiz Marcus says: Responder

      Oi, Leornado.
      Se eu entendi a sua pergunta, você quer adicionar o bot a sua lista de contatos, é isso? Para isso, basta você buscar pelo nome do bot no seu Telegram. A partir dai, você pode conversar com ele normalmente.

  5. oi LUIZ MARCUS, gostaria de saber se tem como por o bot em .php para administrar grupos com..
    regras
    ban
    ant-span dentre outros…

    desde ja grato!
    t.me/RickLeles

    1. Luiz Marcus Luiz Marcus says: Responder

      E ae Rick, blz?
      O bot pode gerenciar um grupo, sim. Na API do Telegram existem vários métodos que podem ser usados com esse objetivo. Métodos como o kickChatMember e o deleteMessage podem te ajudar.
      Dá uma lida na documentação e tenta implementar os métodos.

  6. Olá amigo Luiz,

    Gostaria de deixar meu bot sem botões e sem integração nos grupos, apenas com alguns comandos pra enviar regras, dar ban, warn, postar algumas postagens do canal pro grupo, etc.
    Somente isto! Com eu deixo meu bot assim, já o criei, mas preciso personalizá-lo.
    Tô lendo a página de bot do Telegram pra ve se aprendo alguma coisa, mas em muito mais!
    Desde já agradecço!

    1. Luiz Marcus Luiz Marcus says: Responder

      Olá, Cidadão S/A!
      Como você já registrou seu bot no Telegram, o próximo passo é programá-lo, fazendo uso da API do Telegram, para que ele faça a administração do grupo. Aqui no blog, na segunda e terceira parte do post, eu mostro como programar um bot simples em PHP e usar a API. Se você for programador, você pode se basear nesses posts e implementar seu próprio bot de administração de grupos.

      No caso de você não ser programador ou querer uma solução bem menos trabalhosa, uma possibilidade é usar bots de administração já prontos. Um exemplo é o Group Butler Bot que possui funções de antispan, warn, kick e etc. Você pode configurar o Group Butler Bot pelo próprio Telegram, sem a necessidade de mexer em código. Ele é bem simples e tem suporte ao português! O link para conversar com ele é o seguinte:

      http://telegram.me/GroupButler_bot

      Qualquer dúvida, é só falar. =]

Deixe uma resposta