Baixar código fonte e compilar
Configurar os diretórios para o telegram-cli
Copiar as chaves públicas e o binário do telegram-cli
Criar o arquivo de configuração /etc/telegram.conf
Executar o telegram-cli e solicitar a autorização.
Caso encontre problemas para se registrar, acesse o https://web.telegram.org pois os códigos serão mandados para a interface web também.
Se tudo ocorrer bem você já está habilitado para enviar mensagens usando o telegram-cli. Perceba que você esta em um terminal, se digitar help irá mostrar todos os comandos disponíveis.
É possível mandar mensagens usando o nome do usuário, porém é melhor utilizar o ID do mesmo. Para descobrir o ID do usuário, no terminal do telegram-cli digite get_self e anote o código dentro do parênteses após o # na primeira linha. O ID do usuário é o número 123456789, por exemplo.
phone: 55XXXXXXXXXX
Para testar o envio das mensagens dentro do terminal do telegram-cli vamos utilizar o comando abaixo:
> msg user#123456789 "teste mensagem telegram"
Se ocorrer algum erro como este "FAIL: 71: RPC_CALL_FAIL 400: PEER_ID_INVALID", é preciso adicionar à lista de contatos o telefone do destinatário.
# Adicionar contato
> add_contact 55DDDFONE Nome Sobrenome
# Pegar informações do contato, espaços devem ser substituídos por _ (underscore)
# Ou é possível usar o TAB para autocompletar.
> > user_info Nome_Sobrenome
User Nome Sobrenome @nomesobrenome (#987654321):
Para enviar mensagens para um grupo, é preciso criar um novo grupo ou utilizar um já existente e adicionar no grupo o número que será utilizado para enviar as mensagens. Sugestiono criar o nome do grupo ou alterar o nome dele para ficar monossílabo e sem acentuação. Exemplo: Bacula.
Para descobrir o ID do grupo, no terminal do telegram-cli digite chat_info Bacula e anote o código dentro do parênteses. O ID do grupo é o número 123456789, por exemplo.
Para testar o envio das mensagens dentro do terminal do telegram-cli para um grupo vamos utilizar o comando abaixo:
msg chat#123456789 "teste mensagem telegram para um grupo"
Testar o envio via linha de comando
/usr/local/bin/telegram-cli --config /etc/telegram.conf --rsa-key /usr/local/telegram-cli/keys/tg-server.pub --exec "msg user#987654321\"teste mensagem telegram\""
Criar o script em /etc/bacula/scripts/_send_telegram.sh e dar permissão a+x.
(Para que os emojis funcionem corretamente é necessário que o arquivo esteja com a codificação UTF8).
(O script é praticamente o mesmo do _send_whatsapp.sh, apenas com as modificações necessárias
# Função para converter bytes para humanos
#convert_humanreadable(Job.JobBytes) as JobBytes, Job.JobFiles,
# Query para buscar as informações do JobId
HEADER=">>>>> 💾 BACULA BAKUP ✅ <<<<<\n"  # OK
HEADER=">>>>> 💾 BACULA BAKUP ❌ <<<<<\n"  # Error
# PROCESS_NUM=$(ps -ef | grep "$1" | grep -v "grep" | wc -l)
while [ $(ps -ef | grep telegram-cli | grep -v grep | wc -l) -eq 1 ]; do
echo "$(date +%d/%m/%Y\ %H:%M:%S) - Telegram still running, waiting 2 seconds before a new try ..." >> $LOG