(Nesta parte, devemos criar o nosso primeiro Bot Telegram simples e usar a linguagem de programação Go para acessá-lo também)
Preâmbulo
Telegram é um aplicativo de mensagens que é super rápido, simples, seguro e gratuito.
Primeiro, instalei o aplicativo Telegram no meu telefone Android. Eu também instalei seu aplicativo nativo no meu desktop Windows 7 Professional.
O Telegram possui uma API aberta e um protocolo gratuito para todos. Com esta API podemos construir nossas próprias ferramentas.
Objetivo
Para criar um botão simples (chamado SMTFirstBot ) usando sua API aberta.
O que é um Bot?
Os Bots são aplicativos de terceiros que são executados dentro do Telegram. Os usuários podem interagir com bots, enviando mensagens, comandos e solicitações em linha. Você controla seus bots usando solicitações HTTPS para sua API bot . Telegram bots são contas especiais que não requerem um número de telefone adicional para configurar. Os usuários podem interagir com bots.
Como faço para criar um bot?
Há um … bot para isso.
Basta falar com @ BotFather e seguir alguns passos simples.
Ele abriu uma janela separada no meu aplicativo nativo do Telegram.
Em seguida, digitei:
Você: / newbot BotFather: tudo bem, um novo bot. Como vamos chamá-lo? Escolha um nome para o seu bot. Deve terminar em 'bot'. Assim, por exemplo: TetrisBot ou tetris_bot. Você: SMTFirstBot BotFather: Feito! Parabéns pelo seu novo bot. Você vai encontrá-lo em telegram.me/SMTFirstBot. Agora você pode adicionar uma descrição, sobre a seção e foto de perfil para o seu bot, veja / ajuda para uma lista de comandos. Por sinal, quando você terminar de criar seu botão legal, faça um ping no nosso Suporte de Bot se desejar um nome de usuário melhor para ele. Certifique-se de que o bot esteja totalmente operacional antes de fazer isso.
Use este token para acessar a API HTTP: 2764xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Uma vez que você criou um bot e recebeu seu token de autorização, vá até o manual da API do Bot para ver o que você pode ensinar o seu bot a fazer. O Bot API é uma interface baseada em HTTP criada para desenvolvedores interessados em construir bots para Telegram.
Alterando a descrição do SMTFirstBot
Você: / setdescription BotFather: Escolha um bot para alterar a descrição. Você: @SMTFirstBot BotFather: OK. Envie-me a nova descrição para o bot. As pessoas verão essa descrição quando abrem uma conversa com o seu bot, em um bloco intitulado "O que esse bot pode fazer?". Você: Este é um simples e meu primeiro BOT. BotFather: sucesso! Descrição atualizada.
Alterando a seção Sobre do SMTFirstBot
Você: / setabouttext BotFather: Escolha um bot para mudar a seção about. Você: @SMTFirstBot BotFather: OK. Envie-me o novo texto "Sobre". As pessoas verão este texto na página de perfil do bot e serão enviadas junto com um link para o seu bot quando o compartilharem com alguém. Você: Meu primeiro Telegram Bot. BotFather: sucesso! Sobre a seção atualizada.
Alterando a foto de perfil do SMTFirstBot
Você: / setuserpic BotFather: escolha um bot para mudar a foto de perfil. Você: @SMTFirstBot BotFather: OK. Envie-me a nova foto de perfil para o bot. Sua foto ] BotFather: sucesso! Foto de perfil atualizada.
Alterando a privacidade do SMTFirstBot
Você: / settingprivacy BotFather: escolha um bot para alterar as configurações das mensagens do grupo. Você: @SMTFirstBot BotFather: 'Habilitar' - seu bot só receberá mensagens que começam com o símbolo '/' ou mencione o bot pelo nome de usuário. 'Desativar' - seu bot receberá todas as mensagens que as pessoas enviam para grupos. O status atual é: ENABLED Você: Desativar BotFather: sucesso! O novo status é: DESATIVADO.
Autorizando seu bot
Cada bot recebe um token de autenticação exclusivo quando foi criado. O token parece algo como 123456: ABC-DEF1234ghIkl-zyx57W2v1u123ew11, mas eles simplesmente usam <token> em seu manual.
Falando com seu bot
Uma vez que você cria um bot e obteve o token, você pode começar a interagir com o seu bot.
Fazendo pedidos
Todas as consultas para a API do Telegram Bot devem ser exibidas através de HTTPS e precisam ser apresentadas neste formulário: https://api.telegram.org/bot<token>/METHOD_NAME. Assim, por exemplo:
https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/getMe
Eles suportam os métodos GET e POST HTTP. Eles também suportam quatro maneiras de passar parâmetros em pedidos de API Bot:
- Cadeia de consulta de URL
- aplicação / x-www-form-urlen codificado
- application / json (exceto para carregar arquivos)
- multipart / form-data (use para carregar arquivos)
A resposta contém um objeto JSON, que sempre tem um campo booleano ‘ok’ e pode ter um campo de String opcional ‘descrição’ com uma descrição legível por humanos do resultado. Se ‘ok’ for igual a verdadeiro, a solicitação foi bem-sucedida e o resultado da consulta pode ser encontrado no campo ‘resultado’. No caso de uma solicitação mal sucedida, ‘ok’ é igual a falso e o erro é explicado na ‘descrição’. O campo ‘erro_code’ de um Inteiro também é retornado, mas seu conteúdo está sujeito a alterações no futuro.
- Todos os métodos na API Bot são sensíveis a maiúsculas e minúsculas.
- Todas as consultas devem ser feitas usando UTF-8.
Você pode ver uma lista de nomes de métodos na documentação oficial do api .
método GetMe
Digamos que queremos recuperar informações básicas sobre o bot recém criado, precisamos usar o método getMe .
https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/getMe
A resposta que recebi foi:
{"ok": true, "result": {"id": 276401636, "first_name": "SMTFirst", "nome de usuário": "SMTFirstBot"}}
método GetUpdates
Existem duas formas mutuamente exclusivas de receber atualizações para o seu bot – o método getUpdates (que devemos usar abaixo) e Webhooks (devemos usar em um artigo diferente) no outro. As atualizações recebidas são armazenadas no servidor até que o bot as receba de qualquer maneira, mas elas não serão mantidas por mais de 24 horas.
Se precisarmos do chat_id de uma pessoa que envia uma mensagem para o nosso bot, use o método getUpdates .
https://api.telegram.org/bot 123456: ABC-DEF1234ghIkl-zyx57W2v1u123ew11 / getUpdates
A resposta que recebi foi:
{"ok": true, "result": [{"update_id": 839499903, "mensagem": {"message_id": 12, "de": {"id": 246367260, "primeiro nome": "Satish", "último nome": "Talim", "nome de usuário": "IndianGuru"}, "chat" : {"id": 246367260, "primeiro nome": "Satish", "último nome": "Talim", "nome de usuário": "IndianGuru", "tipo": "privado"}, "data": 1473914771, "texto" : "Olá SMTFirstBot"}}]}
Como você pode ver o meu chat_id é 246367260
método sendMessage
Use o método sendMessage para enviar mensagens de texto do Bot para o usuário usando o seu chat_id.
https://api.telegram.org/bot 123456: ABC-DEF1234ghIkl-zyx57W2v1u123ew11 / sendMessage? chat_id = 246367260 & text = "Olá do SMTFirstBot "
A resposta que recebi foi:
{"ok": true, "result": {"message_id": 13, "from": {"id": 276401636, "first_name": "SMTFirst", "username": "SMTFirstBot"}, "chat": {"id": 246367260, "primeiro nome": "Satish", "último nome": "Talim", "nome de usuário": "IndianGuru", "tipo": "privado"}, "data": 1473915564, "texto": "" Olá de SMTFirstBot ""}}
Aqui está o código Go para obter um chat_id e, em seguida, enviar uma mensagem para este chat_id de MyFirstBot.
Programe myfirstbot.go
myfirstbot.go
É isso aí. Diverta-se.
Os comentários estão desativados.