quarta-feira, 4 de outubro de 2017

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
1
2
3
4
# 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
1
2
# ./configure
# make
Debian 9 precisei desativar o openssl:
1
2
3
# apt install libcrypto++-dev libgcrypt11-dev
# ./configure --disable-openssl
# make
screenshot_20160924_215935 screenshot_20160924_220232
1
2
3
4
# 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.
1
# vim telegram.config
Adicione as seguintes linhas:
1
2
3
4
5
6
7
8
9
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:
1
# ./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 (Infome seu nº celular)
code ('CALL' for phone code): 12345 (Código via SMS)
password: (Se sua conto tiver senha)
>
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.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
> 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.
1
# vim /opt/telegram/telegram-on
Adicione:
1
2
#!/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.
1
2
# chmod  777 /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
1
# vim /opt/telegram/telegram-cmd
Adicione:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/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.
1
2
# chmod  777 /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 (#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]
>
Agora que sabemos os ID de user ou chat vamos aos teste:
1
2
# telegram-cmd user#123456789 "Minha mensagem"
# telegram-cmd chat#987654321 "Minha mensagem"

screenshot_20160925_150502

Fonte:
http://blog.remontti.com.br/1325

Nenhum comentário:

Postar um comentário