728x90
반응형
요즘 인기가 살짝 식은(?) 텔레그램을 스마트 폰이나 PC에서 GUI 환경 뿐 아니라 CLI(Command Line Interface)로도 사용가능한 프로그램이 있습니다. 바로 Telegram_cli 라는 프로그램 입니다. 간단하게 설치와 활용방법에 대해서 포스팅 합니다. 1. Telegram_cli 다운로드 우선 설치는 리눅스 환경에서 가능합니다. 저는 Centos 6버전대에 설치를 했습니다. 프로그램 다운로드는 두 가지 방식이 있습니다. 웹에서 다운받거나 GIT을 통해 받으면 됩니다. 1) wget을 이용해 웹 페이지에서 받는 방법 # wget https://github.com/vysheng/tg/archive/master.zip -O tg-master.zip # unzip tg-master.zip && cd tg-master 2) GIT을 통해 받는 방법 # git clone --recursive https://github.com/vysheng/tg.git && cd tg 2. Telegram_cli 설치 이제 다운로드가 완료 됐으면 설치 할 차례입니다. 1) 우선 yum을 이용해서 Telegram_cli 설치에 필요한 라이브러리를 사전 설치 합니다. # yum install lua-devel openssl-devel libconfig-devel readline-devel libevent-devel libjansson-devel python-devel 2) 본격적으로 Teleram_cli를 설치합니다. # ./configure # make * 설치 중 에러가 발생 할 경우 특정 모듈을 제외하고 설치해도 무방합니다. 제 경우 json 쪽에서 자꾸 에러가 나서 ./configure --disable-json 이렇게 설치 했습니다. (해결이 안되네요 -_-+) 3. Telegram_cli 실행 설치가 완료되면 설치한 경로로 이동해서 Telegram_cli 를 실행합니다. 실행 시 -k 공개키 파일 옵션을 붙여줘야 합니다. # cd /home/test/telegram_cli/bin # ./telegram_cli -k server.pub 정상적으로 실행되면 최초 기동 시 텔레그램에 등록된 폰 번호화 인증번호를 입력합니다. # ./telegram_cli -k server.pub change_user_group: can't find the user telegramd to switch to Telegram-cli version 1.3.3, 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. Telephone number (with '+' sign): 텔레그램설치된 폰 번호 입력 Code from sms (if you did not receive an SMS and want to be called, type "call"): 폰 텔레그램으로 전송된 인증번호 입력 > stats users_allocated 1 chats_allocated 0 secret_chats_allocated 0 peer_num 1 messages_allocated 0 > help help 명령을 입력하면 사용가능한 명령어 리스트를 보여주게 됩니다. 이제 메시지를 주고 받을 수 있는 준비는 모두 끝났습니다. 이 상태에서 "msg 사용자이름(혹은 user#번호) 메시지" 를 입력하면 사용자에게 메시지가 전송되고 결과를 보여 줍니다. dialog_list 를 입력하면 현재 내 텔레그램에 존재하는 대화창을 보여줍니다. 4. Telegram_Cli 활용 텔레그램 CLI를 설치한 본래 목적! 이 있었습니다. 저는 데이터함께쓰기 유심과 세컨 폰으로 핸폰을 3개 사용하는데, 각각 SMS를 따로 수신하다 보니 불편해서 메인폰 한군데서 문자를 관리 할 방안을 찾았습니다. 비슷한 용도의 SMS포워딩 앱들이 있기는 했는데 입맛에 딱 맞는 앱은 없더군요. 그래서 각각의 폰에 수신되는 SMS를 텔레그램으로 모아서 받아보자.. 이게 첫 컨셉이였습니다. 1) 텔레그램 메시지 자동 전송을 위한 쉘 스크립트 작성 telegram_cli 는 -e 라는 옵션을 제공해서 기동 시 바로 명령 수행이 가능합니다. 가령.. # telegram-cli -W -e "msg 아무개 메시지테스트" 이라고 입력하면 telegram_cli 가 기동되면서 바로 '아무개'에게 '메시지테스트' 라는 메시지를 전송합니다. 인자를 받는 sh 를 작성합니다. #!/bin/bash ./telegram-cli -k server.pub -W -e "$1" 이제 어디서든 해당 sh을 호출하면 msg 나 broadcast 인자를 통해 메시지 전송이 가능합니다. 2) 웹 페이지에서 쉘 실행 통한 텔레그램 메시지 전송 기능 구현 구글링 해서 찾은 LUA 나 Perl, Python 스크립트를 참고해서 그나마 손에 익은 php로 만들었습니다. 웹 상에서 간단하게 인자를 받아 메시지를 전송합니다. <?php $msg =""; $msg = $_POST['msg']; : $process = proc_open('msg.sh "msg '.$name.' '.$msg .'"', $descr, $pipes, __DIR__, $env); //msg.sh 실행 프로세스 생성 : 3) 폰에서 문자 수신 시 포워딩 구현 안드로이드에서 문자 수신 시 작성한 php 파일로 SMS를 전달합니다. //<SMS 수신 이벤트 발생 시 SMS파싱> //<SMS 파싱해서 문자와 발신자 번호를 php파일로 전달> 4) 결과 SMS로 수신된 문자들이 텔레그램 메신저로 잘 전달되고 있습니다. :) 5. Telegram_cli 설치 & 사용 후기 문자 포워딩 용도외에 .sh 과 php로 제작했기 때문에 서버 모니터링을 하거나 웹에서 php를 바로 호출하는 등 다양한 용도로 활용 가능 할 것 같습니다. 당분간 telegram 은 개인용 push 서비스로 사용될 거 같습니다. (사람과의 대화는 카톡으로 :) 카톡도 앱용 API외에도 이런 커맨드라인 인터페이스를 제공해주면 좋을텐데 말이죠.. 예전에 마이피플은 API를 통해서 메시지 전달 기능이 있었는데.. 다음카카오에서 카톡에도 이런 API를 적용해줄런지... 암튼 원하는 기능은 구현했으나 몇가지 문제점은 눈에 띄네요.. 일단 메시지 전송 시 마다 telegram_cli를 기동하는 방식이다 보니 1~2초씩 딜레이가 생기는 문제점이 있습니다. 크게 신경쓰이는 정도는 아니지만 나중에 시간나면 별도 콘솔에 telegram_cli는 계속 띄워두고 msg 나 broadcast 명령만 전달해서 바로 발송하도록 보완해 봐야 겠습니다. 간만에 리눅스 서버에 프로그램 세팅하고 JAVA, 쉘스크립트, PHP 까지 조금씩 코딩하니 재미있네요.. 예전에 SI 할때 개발자 시절로 돌아간것 같은 기분도 들고 ^^; 보완할 부분은 나중에 또 짬나면 조금씩 수정해 봐야겠습니다. [출처] 텔레그램을 커맨드 라인으로 사용하기, Telegram_cli|작성자 강군 쉘로 보내기 ./telegram-cli -k ../server.pub -W -e "msg chanyol_yoon asdasd" > /dev/null |
반응형
'엔지니어 > Linux' 카테고리의 다른 글
iptables-xml (0) | 2016.05.26 |
---|---|
MongoDB ReplicaSet (0) | 2016.05.26 |
DRBD (0) | 2016.05.26 |
nginx upstream (0) | 2016.05.26 |
snmpd 불필요한 메세지 로그 처리 (0) | 2016.05.26 |