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.
Sorry, Brazil! Your mobile networks can’t process as many verification SMS as we’re sending them. Over a million users joined, more waiting
— Telegram Messenger (@telegram) 2 de maio de 2016
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.
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.
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.
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! =]
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?
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
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…
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. =]
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?
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.
Como faço pra adicioná-lo? como você fez.
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.
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
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.
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!
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. =]
MANO EU QUERO FAZER UM BOT QUE ASSIM QUE EU RECEBER UMA MENSAGEM DE UM CANAL “A” ELE A RETRANSMITA AUTOMATICAMENTE PARA UM CANAL “B”, TEM COMO?
Tem como sim, Matheus. Eu nunca implementei nada assim, mas é possível sim.
O que você pode fazer é adicionar o bot ao canal “A” e quando ele receber uma mensagem, enviar ela para o
chat_id
do canal “B”.Não sei se você é desenvolvedor. Caso você seja, dá uma olhada nas partes 2 e 3 deste post. Acho que elas vão te dar uma noção de como fazer.
Parte 2: https://luizmarcus.com/php/como-criar-um-bot-para-o-telegram-em-php-parte-2/
Parte 3: https://luizmarcus.com/php/como-criar-um-bot-para-o-telegram-em-php-parte-3/
Ola blz gostaria de saber se você consegue criar um bot do telegram para fazer pesquisa no Google?
Se puder fazer esse bot ficarei muito agradecido!
Olá, João!
Então, acho que esse bot é possível fazer sim. Se você entender de programação e ler a parte 2 e 3 deste post, acho que você consegue fazer.
Infelizmente, não tenho disponibilidade pra fazer esse bot no momento. =[
Oi Luiz
Tem como fazer um Bot para responder perguntas, com as respostas pré determinas ?
Exemplo.
Pergunta para o bot
Podemos visistar escolas ?
Resposta
Sim, podemos.
Obrigado
E ae Rafael, blz?
Tem como fazer esse tipo de bot, sim. Não sei se você é programador ou não, mas existem vários posts aqui no blog que ensinam a como fazer isso. Para começar, você pode ler as partes 2 e 3 deste post nos links a seguir.
Parte 2: https://luizmarcus.com/php/como-criar-um-bot-para-o-telegram-em-php-parte-2
Parte 3:https://luizmarcus.com/php/como-criar-um-bot-para-o-telegram-em-php-parte-3
Olá Luiz, tem algum telefone a qual eu possa entrar em contato?
Olá, Leonardo.
Me manda um email: [email protected]
Desculpa a pergunta besta, mas estava querendo fazer um sistema de busca interna, desta forma o usuario iria colocar /buscar, dai o bot responderia algo como “Ola, digite o que deseja abaixo!” dai a pessoa iria responder, tem como saber de alguma forma que este texto dela é uma resposta a pergunta? Tipo quando uso inline_keyboard ele me retorna o id da mensagem original.
Não existe pergunta besta, Marcon. Pode perguntar a vontade. =]
Com relação à sua pergunta, a única forma de saber seria pela ordem das perguntas feitas pelo bot. Então, se o bot perguntar “O que você deseja buscar?” e o usuário responde “computadores”, o bot deverá considerar “computadores” como o que o usuário quer pesquisar.
Até onde sei, não existe maneira de associar uma pergunta à resposta, a não ser seguindo a ordem da conversa.
Espero ter ajudado.
Porque ao chegar em 100 mensagens ele para de atualizar?
Tudo blz, Andre?
Até onde sei, a API de Bots do Telegram possui um limite de 1 mensagem por segundo. Esse é o único limite que conheço. Ele pode ser visto no link abaixo:
https://core.telegram.org/bots/faq#my-bot-is-hitting-limits-how-do-i-avoid-this
Não existe nenhum limite de 100 mensagens.
Espero ter ajudado.
Estou querendo cria um bot para gerenciar um grupo fornecendo um token para acesso ao grupo e removendo quando o tempo do token acabar, sabe se e possível fazer um bot desse ?
Olá, Wellington.
É possível, sim. Se você for programador (leia os outros posts da serie), você pode programar o bot para gerenciar e deixar no grupo apenas que atender aos critérios que você desejar.
A pessoa pode, ao entrar no grupo, precisar digitar uma senha. Se essa senha estiver errada, o bot o retira do grupo. Caso esteja certa, o bot começa a contar o tempo de permanência.
Espero ter ajudado.
Parabéns pelo seu artigo meu caro … Me tire uma dúvida, como eu faria pra preencher dados numa determinada ordem
exemplo preencha seu nome e em seguida seu cpf… é possivel e isso ficar armazenado de alguma forma sem ser no banco de dados?
Olá, Geovane.
É possível fazer a solicitação de dados em ordem ao usuário. Caso você deseje armazenar e utilizar esses dados, seria correto fazer uso de um banco de dados.
As partes 2 e 3 deste post mostram um exemplo de implementação de bot para o Telegram e podem te dar alguma ideia de implementação.
Espero ter ajudado.
Muito obrigado pelo atendimento… é isso mesmo acabei fazendo aqui dessa forma pra controlar isso … abraço e sucesso pra você …
Boa tarde Luiz!
É possível criar um bot capaz de remover automaticamente os membros de um grupo que não se encontram em uma api externa?
Olá, Andreia.
É possível, sim.
Você vai precisar desenvolver o bot utilizando a Telegram Bot API e colocá-lo como administrador do grupo. Feito isso, você implementa, no bot, as regras (chamando sua API, por exemplo) que os membros do grupo precisam atender para participar do grupo e chama o método kickChatMember da API do Telegram quando alguém não atender os critérios definidos.
Caso você não queira desenvolver o bot, existem bots para o Telegram criados por empresas especializadas para gerenciar grupos. Mas não sei se é possível a integração com API externa.
Espero ter ajudado.
Boa tarde oq podemos fazer p api não cair direto ?
Olá,
Se você estiver falando a API do Telegram, até onde eu sei, ela é bem estável.
Eu não sei o porque mas ultimamente o bot só envia um resultado a um tempão e até achei que os sorteio daega tinha parado mas no Google tinha outros números e de sorteio recente.
Olá, Nande.
O problema é que o G1, que é a fonte dos dados, não está atualizando a página com os resultados correntes. =(
Espero que atualizem em breve.
Entendi por isso até outro bot só libera o mesmo resultado também, até achei que tinha parado os sorteio mas depois vi que estava sempre tendo mas agora é em outro dia terça e sexta.
Bom dia,
Eu preciso ser notificado apenas das “mensagens fixadas” nos grupos e canais que participo no telegram, alguém tem uma solução para isso?
Olá,
O que você pode tentar é silenciar as notificações do grupo, depois ir nas configurações do seu Telegram no menu “Notificações e Sons” e, na seção, “Eventos” deixar a opção “Mensagens Fixadas” ativa. Acho que dessa forma você será alertado das mensagens fixadas, porém apenas as que o administrador do grupo optar por notificar todos os membros.
Espero ter ajudado.
Boa tarde meu amigo, tenho uma dúvida referente ao bot, queria saber se tem como eu desenvolver um bot para ir em um site e ficar 24h monitorando um resultado que eu coloquei pra ele tipo pressao de um time 1.50 e placar 0x0 etc e quando este resultado for igual ele retornar a msg no telegram, agradeço se puder me ajudar e como poderei desenvolver este bot
Olá, Elkellyton.
Esse bot pode ser feito, sim. Você pode implementar um bot em Python (apenas uma sugestão) que executa um web scrapping para ficar lendo o site. Quando os valores que você deseja aparecerem no site, seu bot chama o método
sendMessage
e da API do Telegram, o qual recebe como parâmetro ochat_id
da sua conversa com o bot e a mensagem com os valores do site. Dessa forma, você recebe a mensagem que precisa.Espero ter ajudado.