Mudanças entre as edições de "TelegramNotifier"

De Wiki do Leitão
Ir para: navegação, pesquisa
(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...')
 
(Sem diferença)

Edição atual tal como às 14h52min de 27 de abril de 2025

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.