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
# 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
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"
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 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á
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?
Ai vc precisa programar um bot, para ele receber seus comandos e executar.
https://core.telegram.org/bots/samples
Muito Bom! Parabens!
Cara Muito Obrigado! Funcionando!
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)
Você já fez algo integrado com o smstools, exemplo pegar os alertas gerado pelo smstools e enviar pelo telegram.
Não, mas acredito que seja simples.
Tem como integrar com o observium?
Nunca usei observium, mas se ele tiver algum método de envio de alertas, acredito que se você criar um script é capaz de conseguir.
Muito bom o Tutorial , está de parabéns.
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
Ubuntu? Corra! heheheh
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?
Vai precisar configurar novamente, ou no telefone (fisico) entrar nas configuracoes e trocar por lá.