Olá pessoal, dando continuidade a nossa série de configurações, hoje iremos falar de notificações via Telegram. Já imaginou ter um script rodando em seu Linux e desejar que o mesmo lhe passe informações via Telegram? Pois é, vamos tratar sobre este feito no artigo, continue lendo e descubra.
Considerações
Este artigo tem o intuito de ensinar a configurar o envio de mensagens do Linux pelo Telegram. Além disso, é requisito para completar o conteúdo da série Backup Automático no Linux. O conhecimento aqui repassado também pode ser aplicado em outros projetos, e é uma boa alternativa utilizar notificações via aplicativos de mensagens como Telegram.
1) Criando Telegram Bot.
Pra que você possa receber mensagens de seus scripts através do Linux, você precisará ter alguém que realize estas tarefas para você, para isso, você precisa criar um bot no Telegram e adiciona-lo a um grupo de trabalho para que receba tais informações.
OBS: Já tratei a criação de Bot no Telegram em outro artigo, da uma olhadinha lá em Configuração Telegram Bot, depois volte aqui para continuarmos.
1) Intalando Telegram-Notify.
Com nosso Bot Telegram criado, vamos então configurar uma ferramenta que irá fazer todo trabalho pesado de comunicação entre Linux e Telegram, o telegram-notity.
OBS: Este Script foi criado por Nicolas Bernaerts, e é disponibilizado e mantido pelo próprio, maiores informações podem ser adquiridas através de seu site. Quero deixar aqui registrado ao Nicolas meu sinceros agradecimentos e parabéns pelo excelente trabalho disponibilizado.
Baixe o pacote do script como ilustrado abaixo:
wget https://raw.githubusercontent.com/NicolasBernaerts/debian-scripts/master/telegram/telegram-notify-install.sh
Após baixa-lo execute a instalação do arquivo.
sh telegram-notify-install.sh
Feito isso, o script de instalação instalará dois arquivos, um script localizado em /usr/local/sbin/telegram-notify e um arquivo de configuração em /etc/telegram-notify.conf.
Abra o arquivo de configuração e adicione a API de seu Bot criado.
OBS: Caso precise consultar o Token de seu Bot, basta entrar pelo Telegram e conversar com o @BotFather, digite /mybots na conversa e ele irá lhe responder trazendo todos os seus bots, clique no bot desejado e depois selecione a opção API Token. O código disponível nesta opção deverá ser inserido no arquivo de configuração na opção api-key.
Além disso precisamos também inserir o chave de acesso do grupo no qual nosso bot irá fazer parte.
Para isso, abra em seu navegador a seguinte URL:
https://api.telegram.org/bot/getUpdates
Onde a variável deve ser substituída pelo código que já conseguimos obter no passo anterior. Após adicioná-lo, envia uma mensagem para seu bot dentro do grupo e verifique na URL as informações. Na frente do título de seu grupo terá um ID começando com o sinal de menos, copie todo ele, inclusive o sinal e adicione ao arquivo de configuração na opção user-id.
Feito isso já podemos testar nosso Telegram Bot.
2) Testando envio de mensagens
Com nosso telegram-notify já configurado podemos realizar nossos testes, mas antes precisamos entender como funciona sua sintaxe. As mensagem enviadas pelo Telegram Bot podem conter ícone, texto, imagem e / ou documento.
Parâmetros principais são:
–text – Texto da mensagem ou arquivo que contém o texto
–photo – Imagem a ser exibida
–document – Documento a ser transferido
As opções são:
–title – Título da mensagem (se for uma mensagem de texto).
–html – Use o modo HTML para conteúdo de texto (remarcação por padrão).
–silent – Enviar mensagem no modo silencioso (nenhuma notificação do usuário no cliente)
–user – ID do usuário ou canal do destinatário (substitui o ID do usuário = em /etc/telegram-notify.conf).
–key – Chave da API do seu Bot de Telegram (substitui api-key = em /etc/telegram-notify.conf).
Os ícones opcionais são:
–success – Adicione um ícone de sucesso
–error – Adicione um ícone de erro
–question – Adicionar um ícone de ponto de interrogação
–icon – Adicione um ícone pelo código UTF (ex 1F355).
Abra o seu shell e teste alguns comandos:
# Exemplo 1
telegram-notify --success --text "Exemplo de ação *bem-sucedida* com remarcação *negrito*"
# Exemplo 2
telegram-notify --error --title "Erro" --text "Mensagem de erro com um título"
# Exemplo 3
telegram-notify --question --title "Exibição do conteúdo do arquivo" --text "/tmp/log.txt"
# Exemplo 4
telegram-notify --icon 1F355 --text "Mensagem com icone 1F355 e imagem imcorporada" --photo "/tmp/icon.png"
# Exemplo 5
telegram-notify --text "Resultado disponível no arquivo." --document "/tmp/result.log"
CONCLUSÃO
Através deste artigo foi possível demonstrar de maneira rápida e intuitiva a instalação e utilização do Telegram Bot dentro do Linux. Este artigo faz parte de uma série de 3, onde explico passo a passo como automatizar backups no Linux.
Se você gostou deste post e através dele pude lhe ajudar, o que acha de aproximarmos nosso contato? Siga meu blog, twitter e me adicione no Linkedin, aproveite para classificar algumas das minhas competências/recomendações, este simples gesto faz toda a diferença.
Att,
Rafael Oliveira
SysAdmin