Created
June 30, 2017 01:32
-
-
Save michelpf/cb4a7e45090a78d20b32fab96fe3e126 to your computer and use it in GitHub Desktop.
Exemplo de bot do Telegram desenvolvido em Java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Main { | |
public static void main(String[] args) { | |
//Criação do objeto bot com as informações de acesso | |
TelegramBot bot = TelegramBotAdapter.build("SEU_TOKEN_DE_ACESSO"); | |
//objeto responsável por receber as mensagens | |
GetUpdatesResponse updatesResponse; | |
//objeto responsável por gerenciar o envio de respostas | |
SendResponse sendResponse; | |
//objeto responsável por gerenciar o envio de ações do chat | |
BaseResponse baseResponse; | |
//controle de off-set, isto é, a partir deste ID será lido as mensagens pendentes na fila | |
int m=0; | |
//loop infinito pode ser alterado por algum timer de intervalo curto | |
while (true){ | |
//executa comando no Telegram para obter as mensagens pendentes a partir de um off-set (limite inicial) | |
updatesResponse = bot.execute(new GetUpdates().limit(100).offset(m)); | |
//lista de mensagens | |
List<Update> updates = updatesResponse.updates(); | |
//análise de cada ação da mensagem | |
for (Update update : updates) { | |
//atualização do off-set | |
m = update.updateId()+1; | |
System.out.println("Recebendo mensagem:"+ update.message().text()); | |
//envio de "Escrevendo" antes de enviar a resposta | |
baseResponse = bot.execute(new SendChatAction(update.message().chat().id(), ChatAction.typing.name())); | |
//verificação de ação de chat foi enviada com sucesso | |
System.out.println("Resposta de Chat Action Enviada?" + baseResponse.isOk()); | |
//envio da mensagem de resposta | |
sendResponse = bot.execute(new SendMessage(update.message().chat().id(),"Não entendi...")); | |
//verificação de mensagem enviada com sucesso | |
System.out.println("Mensagem Enviada?" +sendResponse.isOk()); | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment