달력

02

« 2019/02 »

  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  •  
  •  

라즈베리파이 - 텔레그램 설치하기 


최종 정리.


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

sudo apt-get install libpython-dev libssl1.0-dev make


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


vi tgl/mtproto-utils.c

comment : 101 

파일을 열어서  101 라인, assert(0); 을 주석처리 합니다.


static unsigned long long BN2ull (TGLC_bn *b) {

  if (sizeof (unsigned long) == 8) {

    return TGLC_bn_get_word (b);

  } else if (sizeof (unsigned long long) == 8) {

    // marasong

    //assert (0); // As long as nobody ever uses this code, assume it is broken.

    unsigned long long tmp;

    /* Here be dragons, but it should be okay due to be64toh */

    TGLC_bn_bn2bin (b, (unsigned char *) &tmp);

    return be64toh (tmp);

  } else {

    assert (0);

  }

}


이제 컴파일합니다.


./configure

make


최초 실행하면 번호 인증을 진행합니다. 핸드폰 번호 하나로 여러 디바이스 인증이 가능합니다.


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

phone number: 에서는 +8210 이런 식으로 넣어야 합니다.

그러면 이미 설치된 텔레그램으로 인증번호가 옵니다. 


텔레그램 봇을 사용하기 위해 파이썬 모듈을 설치합니다..


sudo python -m pip install python-telegram-bot


끝 ~


----- 에러 정리 1 -----

텔레그램 실행시 BN2ull 관련 에러가 뜨면 


pi@raspberrypi:~/workspace/tg$ ./bin/telegram-cli -k server.pub

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/.telegram-cli]

[/home/pi/.telegram-cli] created

[/home/pi/.telegram-cli/downloads] created

> telegram-cli: tgl/mtproto-utils.c:101: BN2ull: Assertion `0' failed.

SIGNAL received

vi tgl/mtproto-utils.c : comment : 101 : 이 파일을 열어서  101 라인, assert(0); 을 주석처리 합니다.


static unsigned long long BN2ull (TGLC_bn *b) {

  if (sizeof (unsigned long) == 8) {

    return TGLC_bn_get_word (b);

  } else if (sizeof (unsigned long long) == 8) {

    // marasong

    //assert (0); // As long as nobody ever uses this code, assume it is broken.

...

다시 컴파일 합니다. 


----- 에러 정리 2 -----

컴파일시 openssl 관련 에러가 뜨면


error

tgl/crypto/rsa_pem_openssl.c:41:6: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’


패키지 하나를 설치한 다음 다시 컴파일 합니다..


sudo apt-get install libssl1.0-dev


./configure

make







Posted by 멋지다마라송

텔레그램 봇 추천 - 이미지에서 텍스트 추출, 번역 @MaraOCRBot


유용한 텔레그램 봇을 소개합니다.


텔레그램 검색창에서 MaraOCRBot 을 검색하고, 대화를 시작합니다.


사진을 찍어 보내거나 저장된 이미지를 보내면 이미지안에서 텍스트를 추출하고, 

그 텍스트를 한글로 번역해서 결과를 메시지로 보내줍니다.


책이나 프로그램 소스를 타이핑하기 어렵거나...

게임내 채팅이라던가 외국어를 입력하기 어려울때 번역해서 보기 유용합니다 ~ 


구글 비전을 이용했습니다. 

개발자에게 힘을 ~ 


Posted by 멋지다마라송

라즈베리파이 텔레그램봇 설치



참고 : http://blog.acidpop.kr/184




Posted by 멋지다마라송

텔레그램 봇으로 그룹 채팅방에 메시지 보내기.



봇을 만들고 그룹에 봇을 초대한 다음


그룹 채팅창에 아무 메시지나 적고 재빠르게 웹 브라우저로 아래 주소를 요청한다. (메시지 보내고 웹 호출이 빨라야 한다)


https://api.telegram.org/bot124763527:AAElL2DfFSUc6gYUccAp4IXiAY7PvE/getUpdates


여기에서 124763527:AAElL2DfFSUc6gYUccAp4IXiAY7PvE 이 부분은 이걸 그대로 적는게 아니고 봇 토큰.을 적는다.


여기에서 chat_id 를 알아낼 수 있는데, 아래 그림에서 보면 id: 부분, 챗 아이디가 12345678 이 된다.




챗 아이디가 잘 안나오면 텔레그램 그룹채팅창에서 메시지 보내기 -> 웹 브라우저 호출. 이 작업을 빠르게! 하면 된다.


이제 리눅스 쉘에서는 아래처럼 메시지를 보낼 수 있다. (챗 아이디가 마이너스인 경우도 있다)


/usr/bin/curl https://api.telegram.org/bot124763527:AAElL2DfFSUc6gYUccAp4IXiAY7PvE/sendmessage -d chat_id=-28483868 -d text="${msg}"


만약 한글이 깨지면


/usr/bin/curl --data-urlencode https://api.telegram.org/bot124763527:AAElL2DfFSUc6gYUccAp4IXiAY7PvE/sendmessage -d chat_id=-28483868 -d text="${msg}"




추가 - 그룹채팅에 @get_id_bot 이라는 봇을 초대하고, 

/start

/my_id

를 입력하면 쉽게 챗 아이디를 알 수 있다.





Posted by 멋지다마라송


티스토리 툴바