TelegramNotifier

De Wiki do Leitão
Revisão de 14h52min de 27 de abril de 2025 por Rodrigogml (discussão | contribs) (Criou página com '= TelegramNotifier - Integração de Notificações via Telegram = == Introdução == A classe '''TelegramNotifier''' foi criada para permitir o envio de mensagens e arquivos (documentos, imagens, áudios, vídeos) diretamente para usuários ou grupos no Telegram, utilizando apenas Java puro (sem bibliotecas externas). Ela oferece uma maneira simples e confiável de notificar sistemas, aplicações ou usuários via bot do Telegram, ideal para integrações de monitora...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

TelegramNotifier - Integração de Notificações via Telegram

Introdução

A classe TelegramNotifier foi criada para permitir o envio de mensagens e arquivos (documentos, imagens, áudios, vídeos) diretamente para usuários ou grupos no Telegram, utilizando apenas Java puro (sem bibliotecas externas). Ela oferece uma maneira simples e confiável de notificar sistemas, aplicações ou usuários via bot do Telegram, ideal para integrações de monitoramento, alertas e notificações.

Todos os métodos da classe são estáticos e utilizam apenas objetos básicos do Java (InputStream), garantindo flexibilidade no envio de arquivos de qualquer fonte (rede, pacotes internos, arquivos locais).

Objetivo

  • Enviar mensagens de texto para chats do Telegram.
  • Enviar arquivos variados (PDF, imagens, áudio, vídeo) para chats ou grupos.
  • Ser fácil de integrar em qualquer projeto Java.
  • Evitar dependências externas.

Criando seu Bot no Telegram

Passo 1: Criar o Bot

  1. Abra o aplicativo Telegram.
  2. Procure pelo usuário @BotFather.
  3. Envie o comando `/start`.
  4. Envie o comando `/newbot`.
  5. O BotFather pedirá:
  1. Nome para o bot (qualquer nome).
  2. Username (deve terminar com `bot`, exemplo: `meubotalertbot`).

Após isso, o BotFather responderá com o seu **TOKEN** de acesso ao bot.

Passo 2: Alterar a Imagem de Perfil do Bot

  1. No chat com o BotFather, envie o comando `/setuserpic`.
  2. Escolha seu bot.
  3. Envie uma imagem (de preferência quadrada, exemplo: 512x512px).

Passo 3: Importância do Token

O Token identifica seu bot para a API do Telegram. Nunca compartilhe ou exponha esse Token publicamente.

Recuperando o Chat ID

Passo 1: Conversa Privada (Chat ID de usuário)

  1. Envie uma mensagem qualquer para seu bot recém-criado.
  2. No navegador, acesse: [<SEU_TOKEN>/getUpdates ]
  3. No JSON de resposta, localize o campo: "chat":{"id":123456789,...}
    O número `123456789` é seu **Chat ID** pessoal.

Passo 2: Grupo (Chat ID de grupo)

  1. Crie um grupo no Telegram.
  2. Adicione seu bot ao grupo.
  3. Envie qualquer mensagem no grupo.
  4. Acesse novamente `getUpdates`.
  5. O `chat.id` retornado será o ID do grupo. Para supergrupos, o ID virá como número negativo (exemplo: `-1001234567890`).

Importância do Chat ID

O Chat ID é o identificador para onde a mensagem será enviada. Pode ser um usuário individual, um grupo ou um canal.

Utilização da Classe TelegramNotifier

Importação da Classe

Certifique-se que a classe esteja visível no seu projeto Java:

import br.eng.rodrigogml.rfw.notifier.TelegramNotifier;

Enviando uma Mensagem de Texto

TelegramNotifier.sendMessage(token, chatId, "Mensagem simples enviada pelo bot!");

Enviando Documentos

Carregando um arquivo PDF de dentro dos recursos:

try (InputStream document = TelegramNotifier.class.getResourceAsStream("/resources/arquivo.pdf")) {
    TelegramNotifier.sendDocument(token, chatId, document, "arquivo.pdf");
}

Enviando Fotos

try (InputStream photo = TelegramNotifier.class.getResourceAsStream("/resources/image.png")) {
    TelegramNotifier.sendPhoto(token, chatId, photo, "image.png");
}

Enviando Áudios

try (InputStream audio = TelegramNotifier.class.getResourceAsStream("/resources/audio.mp3")) {
    TelegramNotifier.sendAudio(token, chatId, audio, "audio.mp3");
}

Enviando Vídeos

try (InputStream video = TelegramNotifier.class.getResourceAsStream("/resources/video.mp4")) {
    TelegramNotifier.sendVideo(token, chatId, video, "video.mp4");
}

Boas Práticas

- Nunca faça commit do seu `token` ou `chatId` no repositório. - Utilize arquivos de configuração externos (como `config.properties`) para armazenar dados sensíveis. - Configure seu repositório para ignorar esses arquivos no `.gitignore`. - Trate falhas de comunicação (HTTP 4xx, 5xx) adequadamente nas chamadas.