CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·아이포니앙 ·주식한당 ·MaClien ·방탄소년당 ·일본산당 ·소시당 ·개발한당 ·자전거당 ·이륜차당 ·AI당 ·안드로메당 ·소셜게임한당 ·골프당 ·바다건너당 ·걸그룹당 ·곰돌이당 ·나스당 ·콘솔한당 ·가상화폐당 ·키보드당 ·클다방 ·패스오브엑자일당 ·리눅서당 ·퐁당퐁당 ·물고기당 ·전기자전거당 ·노젓는당 ·디아블로당 ·찰칵찍당 ·라즈베리파이당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·날아간당 ·사과시계당 ·육아당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·개판이당 ·동숲한당 ·날아올랑 ·e북본당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·IoT당 ·KARA당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·PC튜닝한당 ·그림그린당 ·소풍간당 ·심는당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·여행을떠난당 ·터치패드당 ·트윗당 ·창업한당 ·VR당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

라즈베리파이당

Raspberry Pi 4 라즈베리 파이 3+에서 텔레그램 메시지 보내기 5

4
2019-05-27 02:04:48 수정일 : 2019-05-27 11:43:33 221.♡.163.66
짱구아빠


모종의 목적을 위해 라즈베리파이에서 텔레그램으로 메시지(또는 이미지 또는 동영상등)를 보내는 작업을 정리해봅니다.

여러 블로그에 이 내용이 설명되어 있지만 라이브러리가 달라져서 에러가 발생하는데, 달라진 내용만 정리하려면 불펌을 해야 하니 일괄 정리해봅니다.

기본 내용은 출처의 링크 글을 참고했습니다. 이하 설명을 위해 평어체를 사용합니다


1. 기본 패키지를 업데이트 해둔다

sudo apt-get update
sudo apt-get upgrade

2. 라이브러리 몇개를 설치한다. 설치할 라이브러리는 readline 또는 libedit과 openssl 그리고 (config를 이용하기 원한다면) libconfig와 liblua를 설치한다. 만약 이것들을 쓰고싶지 않다면 옵션에  --disable-libconfig 와 --disable-liblua  를 주면 사용하지 않을수 있다.

sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev make

3. Github 레파지토리에서 다음을 clone한다

git clone --recursive https://github.com/vysheng/tg.git && cd tg
./configure
make

3-1. make 중에 다음의 에러가 발생하면

잘못된 형식의 이미지 링크입니다.

   대충 구글링 해보니 openssl이 1.0.2을 사용하는 것으로 되어 있지만 라이브러리는 1.1.0이라 맞지 않아서 발생하는 것 같고, 이를 해결 하려면 tgl/crypto/rsa_pem_openssl.c 파일을 열어서 다음 부분을

  ret->e = unwrap_bn (TGLC_bn_new ());
  TGLC_bn_set_word (wrap_bn (ret->e), e);
  ret->n = unwrap_bn (TGLC_bn_bin2bn (n, n_bytes, NULL));

 이렇게 바꾸고

  BIGNUM *ret_e = unwrap_bn (TGLC_bn_new ());
  BIGNUM *ret_n = unwrap_bn (TGLC_bn_bin2bn (n, n_bytes, NULL));
  RSA_set0_key (ret, ret_n, ret_e, NULL);
  TGLC_bn_set_word (wrap_bn (ret_e), e);

  이 부분을

#define RSA_GETTER(M)                                                          \
  TGLC_bn *TGLC_rsa_ ## M (TGLC_rsa *key) {                                    \
    return wrap_bn (unwrap_rsa (key)->M);                                      \
  }                                                                            \

  이렇게 변경하고 파일을 저장한다. (출처 : https://github.com/vysheng/tgl/issues/129 )

#define RSA_GETTER(M)                       \
TGLC_bn *TGLC_rsa_ ## M (TGLC_rsa *key) {   \
    BIGNUM *rsa_n, *rsa_e, *rsa_d;          \
    RSA_get0_key(unwrap_rsa (key),          \
        (const BIGNUM **) &rsa_n,           \
        (const BIGNUM **) &rsa_e,           \
        (const BIGNUM **) &rsa_d);          \
    return wrap_bn (rsa_ ## M);             \
}

3-2. make를 하기 전에 tgl/mtproto-utils.c 을 오픈하여 101, 115 번째 줄을 찾아 comment 처리 한다. (라즈베리 파이의 경우 해당 부분을 사용하여야 하는데 assert로 오류처리해버림). 저장 후 make를 진행한다. (출처 : https://github.com/vysheng/tg/issues/1070 )

4. 에러 메시지 없이 설치가 끝났으면 다음의 명령으로 폰과 연동을 한다

bin/telegram-cli -k tg-server.pub -W

4.1 다음의 출력이 나오면

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/)
I: config dir=[/home/pi/.config/telegram-cli]
phone number: 

자신의 텔레그램이 설치된 폰번호를 입력한다. 한국은 +82를 쓰므로 010-1234-5678의 경우 

+8201012345678

와 같이 입력 후 엔터를 누르고 잠시 기다리면 자신의 폰으로 Telegram으로부터 다섯자리의 숫자 코드가 날라온다. 이것을 

code ('CALL' for phone code):

여기에 입력하고 엔터.

정상적으로 입력하면 > 문자 뒤에 입력을 기다리는 커서가 나타나며 연동이 완료된 것이다. 이후 bin/telegram-cli -k tg-server.pub -W 명령으로 언제든 telegram cli를 실행할수 있다.

5. telegram cli의 주요 명령어는 다음과 같다

  msg : 채팅 상대에게 메시지를 보냄. 상대 지정은 텔레그램에 표시되는 연락처에서 이름_성 과 같이 표기해야 하는 것을 유의. 이름과 성 사이의 공백은 _로 대체해야 한다.

     예> msg 길동_홍 안녕? 잘 지내?

  send_photo : 이미지 파일을 전송. 상대 지정은 msg와 같고, 그 뒤에 파일 경로를 써주면 파일을 보내줌

     예> send_photo 길동_홍 ~/camera/1125.jpg

  quit : CLI를 종료한다. 만약 업로드나 다운로드 같은것이 진행중인 경우, safe_quit으로 모든 메시치 처리가 끝난 후 안전하게 종료할수도 있다.

  기타 채팅방을 만들거나, 비밀 채팅을 하거나, 연락처를 업데이트 하거나, 비디오나 텍스트 파일을 메시지로 보내거나 등등의 동작이 가능하다. 자세한 내용은 출처의 글을 확인.

  자기 자신에게 메시지를 보낼 경우 '저장한 메시지'라는 방으로 메시지가 날라오기 때문에, 새 글 알림이 오지 않는 것을 유의해야 한다.

잘못된 형식의 이미지 링크입니다.


다음에는 특정 이벤트나 주기적으로 텔레그램으로 메시지를 보내는 방법을 정리해보도록 하겠습니다.

끝.

출처 : https://www.instructables.com/id/Telegram-on-Raspberry-Pi/
짱구아빠 님의 게시글 댓글
SIGNATURE
세상에 공짜는 없다.
서명 더 보기 서명 가리기
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [5]
행인101
IP 223.♡.41.36
05-27 2019-05-27 15:35:33
·
와~ 싱기방기 ㅋㅋㅋ
건설노무자
IP 202.♡.109.92
05-27 2019-05-27 18:02:50
·
메시지를 수신할 필요는 없고 스크립트 등으로 자동송신만 하실 경우라면 telegram-send가 좋습니다. 몇년전 경험이지만 telegram cli는 복잡하고 또 그만큼 불안정했던것 같드라구요
화안금정
IP 58.♡.131.205
05-28 2019-05-28 07:09:15
·
cli 주기적으로 이미지 전송하게 했었는데 간헐적으로 죽었습니다.
send로 바꾸고 그런일 없어요
ShadowGallery
IP 14.♡.100.223
05-31 2019-05-31 03:35:12
·
cli는 진짜 별로였습니다. 잘 죽었어요
cli 울며 겨자먹기로 쓰다가 bot 나오자마자 갈아탔습니다.
eㅔ비수
IP 222.♡.142.85
11-24 2019-11-24 22:22:42
·
다른곳에서도 따라해보고 여기 글도 따라해보는데 저는 계속 똑같은 에러가 뜨는데 이건 뭘까요 ㅠㅠ
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.