Cliente Telegram no seu terminal bash – Debian 8/9

Projeto: https://github.com/vysheng/tg

Distribuição testadas: Debian 8& 9 / Instalação Limpa (Tutorial de instalação aqui)

Instalando pacotes necessários

# apt install git libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make build-essential zlib1g-dev
# cd /tmp/
# git clone --recursive https://github.com/vysheng/tg.git 
# cd tg

Agora vamos compila-lo:

Debian 8

# ./configure
# make

Debian 9 precisei desativar o openssl:

# apt install libcrypto++-dev libgcrypt11-dev
# ./configure --disable-openssl
# make

screenshot_20160924_215935 screenshot_20160924_220232

# mkdir /opt/telegram
# cp bin/telegram-cli /opt/telegram/
# cp tg-server.pub /opt/telegram/
# cd /opt/telegram/

Crie o arquivo telegram.config, utilizarei o editor vim, utilize o de sua preferência.

# vim telegram.config 

Adicione as seguintes linhas:

default_profile = "rrprofile";

rrprofile = {
    config_directory = "/opt/telegram/";
    #test = false;
    #msg_num = true;
    #binlog_enabled = true;
    log_level = 2;
};

Vamos inicia-lo! Para isso digite o seguinte comando:

# ./telegram-cli --rsa-key tg-server.pub --config telegram.config
change_user_group: can't find the user telegramd to switch to
Telegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman
Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show_license' for details.
Telegram-cli uses libtgl version 2.1.0
Telegram-cli includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit. (http://www.openssl.org/)
[/opt/telegram//downloads] created
phone number: +555599999999 <strong>(Infome seu nº celular)</strong>
code ('CALL' for phone code): 12345 <strong>(Código via SMS)</strong>
password: <strong>(Se sua conto tiver senha)</strong>
>

Agora o telegram-cli está configurado para utilizar a sua conta.

O comando contact_list irá exibir seus contatos e o dialog_list suas conversas. Execute user_info seguido do nome do contato conforme está na sua agenda, se quiser enviar para um grupo, execute chat_info seguido do nome do grupo. Observe que a tecla TAB pode ser utilizada para autocompletar as palavras.
Nota: nos nomes de contatos e grupos, espaços são transformados em underscore (_), cerquilhas (#) em arrobas (@) e contatos com mesmo nome tem um #1 acrescentado ao nome.

   
> contact_list 
Nome Contato1
Nome Contato2
Nome Contato3
Nome Contato4
> user_info Rudimar_Remontti 
User Rudimar Remontti @remontti (#123456789):
        phone: 555599999999
        offline (was online [2016/09/24 22:14:23])
>
> chat_info Tutorial 
Chat Tutorial updated members
Chat Tutorial (id 987654321) members:
                Fulano de tal invited by Rudimar Remontti at [2016/09/24 22:22:03]
                Rudimar Remontti invited by user#0 at [1969/12/31 21:00:00]
>
> msg Rudimar_Remontti Teste
 [23:29]  Rudimar Remontti <<< Teste
> msg Rudimar_Remontti Mensagem via terminal ;) 
 [23:29]  Rudimar Remontti <<< Mensagem via terminal ;)
> 
> quit

screenshot_20160924_234513

screenshot_20160924_234841

Em https://github.com/vysheng/tg você encontra uma lista com todos os comandos.

Vamos criar um arquivo chamado de telegram-on para entrarmos automaticamente na nossa qual já está autorizada.

# vim /opt/telegram/telegram-on

Adicione:

#!/bin/bash
/opt/telegram/telegram-cli --rsa-key /opt/telegram/tg-server.pub --config /opt/telegram/telegram.config

Alteramos as permissões do arquivo para podermos executar, e criamos uma atalho em /usr/bin/ para podermos rodar o comando a partir de qualquer diretório.

# chmod +x /opt/telegram/telegram-on
# ln -s /opt/telegram/telegram-on /usr/bin/telegram-on

Agora basta dar o comando # telegram-on

Com base no que vimos podemos “ter ideias” exemplo um script para enviar alguns alertas do nosso servidor, utilizo algo assim com o Zabbix.
Vamos ao script.

Crie o arquivo /opt/telegram/telegram-cmd

# vim /opt/telegram/telegram-cmd

Adicione:

#!/bin/bash

MAIN_DIRECTORY="/opt/telegram/"
# Utilize: user#user_id ou chat#chat_id
# ./telegram-cmd user#123456789 "Minha mensagem"
# ./telegram-cmd chat#987654321 "Minha mensagem"

USER=$1
SUBJECT=$2
TEXT=$3

cd $MAIN_DIRECTORY
if [[ $? -ne 0 ]]; then
        echo "Erro! Diretorio nao encontrado."
        exit 1
fi

$MAIN_DIRECTORY/telegram-cli -k $MAIN_DIRECTORY/tg-server.pub -c $MAIN_DIRECTORY/telegram.config -WR -U rrprofile -e "msg $USER $SUBJECT" || exit 1

exit 0

Alteramos as permissão para execução, e vamos também criar um atalho em /usr/bin/ para executar o comando de qualquer diretório.

# chmod +x /opt/telegram/telegram-cmd
# ln -s /opt/telegram/telegram-cmd /usr/bin/telegram-cmd

Perceba que quando damos o comando user_info ou chat_info é exibido um código de usuário ou de grupo, nestes casos será esse “ID” que utilizaremos para escolher nosso destinatário.

> user_info Rudimar_Remontti 
User Rudimar Remontti @remontti (#<strong>123456789</strong>):
        phone: 555599999999
        offline (was online [2016/09/24 22:14:23])
>
> chat_info Tutorial 
Chat Tutorial updated members
Chat Tutorial (id <strong>987654321</strong>) members:
                Fulano de tal invited by Rudimar Remontti at [2016/09/24 22:22:03]
                Rudimar Remontti invited by user#0 at [1969/12/31 21:00:00]
>

Agora que sabemos os ID de user ou chat vamos aos teste:

# telegram-cmd user#123456789 "Minha mensagem"
# telegram-cmd chat#987654321 "Minha mensagem"

screenshot_20160925_150502

Gostou? Deixe seu comentário ficarei feliz em saber que lhe ajudei, e se tiver qualquer pergunta deixe-a também, se preferir acesse o menu Contato lá você encontra meios de falar comigo!

Abraço!

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

18 Resultados

  1. Diego Castro disse:

    Rudimar bom dia,

    Como faço pra remover completamente a instalação? Refiz a mesma e ao tentar criar o diretorio “opt/telegram” me retorna no seguinte erro.

    mkdir: cannot create directory ‘/opt/telegram’: No such file or directory

    Poderia me ajudar com essa solicitação?

    Agradeço desde já

  2. Jackson disse:

    Perfeito tutorial. Tenho uma dúvida, como faço para enviar comandos pelo telegram e ele me responder com um alerta. Por exemplo:
    Envio no grupo Telegram “/alerta” e o Zabbix responde com o status atual.
    Tem como me ajudar?

  3. WILLIAN disse:

    Muito Bom! Parabens!

  4. Ronaldo disse:

    Cara Muito Obrigado! Funcionando!

  5. Marcelo disse:

    bom dia, muito bom seu material, gostaria de saber se tem como me ajudar, depois que fiz a configuração, monitoro switches e servidores, estou recebendo muitas informações referente aos switches (informação), quando o link fica down(provavelemnte qdo a estação e desligada), e quando há uma alteração de velocidade de determinada porta do switch, o que me aconselha para eu não receber notificações referente as inforamçoes?
    sei que não e o assunto, mas pode me ajudar nas config de housekeep ( meu zabbix direto da Disk I/O is overload ou zabbix housekeeper process more than 75%)

    • O Disk I/O é uso excessivo de I/O, é provável que isso tenha relação com o Housekeeping.
      O Housekeeping é o processo responsável pela limpeza dos dados antigos (Itens, Historico, Gráficos, Eventos, etc) da base.
      Você deve ter muita coisa sendo monitorada entao será necessário personalizar as conf em zabbix_server.conf.
      Tente alterar essas infos: (pesquise sobre cada e tente entende-las)

      StartPollers=100
      StartIPMIPollers=10
      StartPollersUnreachable=50
      StartTrappers=30
      StartPingers=250
      StartDiscoverers=125
      StartDBSyncers=10
  6. Gil disse:

    Você já fez algo integrado com o smstools, exemplo pegar os alertas gerado pelo smstools e enviar pelo telegram.

  7. Lester disse:

    Tem como integrar com o observium?

  8. Daniel disse:

    Muito bom o Tutorial , está de parabéns.

  9. Ayrton disse:

    Excelente tutorial, Remontti, bem objetivo e facil de entender, sem enrolacao e direto ao ponto.
    A unica coisa que nao deu certo pra mim foi criar o telegram-cmd, eu fiz o ln -s porem pelo comando direto nao funcionou.
    P.S.: To usando o a distro atual do ubuntu

  10. Marcelo disse:

    olá, fiz e deu tudo certo. Muito obrigado por compartilhar a informação.
    Uma dúvida: Como faço para trocar o telefone do Cliente Telegram?

  1. 25 de setembro de 2016

    […] Antes de começar é necessário fazer o tutorial onde explico como ter um Cliente Telegram! […]

  2. 18 de julho de 2017

    […] pode gostar de: Cliente Telegram no seu terminal bash – Debian/Ubuntu Zabbix com notificações via […]

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *