달력

42024  이전 다음

  • 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
  • 29
  • 30

이번에 사용할 것은 핸드폰으로 텔레그램 어플을 이용하여

토렌트 파일을 검색하고 다운로드 하는 부분을 해보겠습니다.

시작 하기 전에 이전에 올린 글을 참고 하시고 하시기 바랍니다.

 

2017/12/27 - [라즈베리파이3] - 라즈베리파이3 transmission(토렌트)

2017/12/26 - [라즈베리파이3] - API 텔레그램 토큰 생성

2017/12/27 - [라즈베리파이3] - 라즈베리파이3 transmission (텔레그램 API 연동)

 

 

-$ cd /home/pi

 

받기
-$ git clone https://github.com/seungjuchoi/telegram-control-torrent

이름변경(사용하기 쉽게)
-$ mv telegram-control-torrent telegram

-$ cd ./telegram


이름 변경
-$ mv setting_templete.json setting.json


수정
-$ nano setting.json

 

--------------------------------------------------------
{
  "common": {
    "token": "110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw",
    "valid_users": [
      123456789,
      123456789
    ],
    "agent_type": "transmission",
    "download_path": "~/Downloads"
  },
  "transmission": {
    "id_pw": "transmission:transmission",
    "port": ""
  }
}

--------------------------------------------------------

위 내용이 보입니다. 아래는 설명

--------------------------------------------------------

{
  "common": {
    "token": "텔레그램 API 토큰",
    "valid_users": [
      사용할 아이디
   123456789,987654321  <---- 이렇게 하면 두명이 사용 가능합니다.     
    ],
    "agent_type": "transmission",
    "download_path": "~/Downloads"  <-- 기본 다운로드 경로
  },
  "transmission": {
    "id_pw": "아이디:패스워드",
    "port": "포트번호 기본 9091 입니다."
  }
}
--------------------------------------------------------

 

폴더안에 보시면 pip-requirements.txt 파일이 있습니다. 이파일은 여러개 패키지가 적혀있는데 한번에 불러와 설치합니다.

-$ sudo pip3 install -r pip-requirements.txt

 

실행방법
-$ python3 telegram_torrent.py

실행후

 Listening ...

라고 떠있으면 성공 한겁니다.

 

이제 핸드폰으로 봇창을 열어서 아무 말을 걸어 메세지 창이 뜨면 잘연동된것 입니다.

 

이제 이걸 자동으로 실행 되게 설정 하겠습니다.

먼저 아래 테스트내용을 해보고난 다음 스크립트를 작성해보겠습니다.

 

백그라운드 실행(테스트)
- $ nohup python3 -u /home/osmc/telegram/telegram_torrent.py &

 

텔레그램 백그라운드 검색 종료(테스트)
- $ kill $(ps -e | grep python3)
- $ kill $(ps aux |awk '/telegram_torrent.py/ {print $2}')

 

 

★ 실행정지 데몬 만들기

 

-$ sudo nano /etc/init.d/telegram

 

--------------------- telegram -----------------------
#!/bin/sh
### BEGIN INIT INFO
# Provides:          telegram
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/stop telegram
### END INIT INFO
 
case "$1" in
  start)
    nohup python3 -u /home/pi/telegram/telegram_torrent.py &
    echo "텔레그램 봇 시작"
    ;;
  stop)
    sudo kill $(ps -e | grep python3)
    echo "텔레그램 봇 정지"
    ;;
  *)
    echo "Usage: /etc/init.d/telegram {start|stop}"
    exit 1
    ;;
esac
exit 0

---------------------------------------------------------

소유권 이동

-$ sudo chown pi:pi /etc/init.d/telegram

권한 수정
-$ sudo chmod 755 /etc/init.d/telegram

 

 

#Tip. update-rc.d 서비스 수동실행 명령어
-$ sudo /etc/init.d/telegram start
-$ sudo /etc/init.d/telegram stop

 

-$ sudo service telegram start
-$ sudo service telegram stop

 

위 명령어가 이상 없이 잘되면은

아래 서비스를 등록하면 끝입니다.

 

 

시작 서비스 등록
-$ sudo update-rc.d telegram defaults

 

시작 서비스 삭제
-$ sudo update-rc.d -f telegram remove

 

아래 파일은 영문을 한글로 바꿔논 파일입니다.

기본 파일을 사용시에 시드가 죽거나, 받다가 시드가 없어지거나, 정지하거나 할 경우

해당 다운로드 시드를 지워버리는 부분이 보여서 수정하였습니다.

그리고 필요시에 transmission 을 종료 시키고 시작 시키는 버튼도 넣었으니 알아서 고쳐서 사용하시면 되겠습니다.

 

telegram_torrent.py

 

위 파일에서 transmission  종료는 이전 강좌에서 설명해 드렸던 내용중

 

2017/12/27 - [라즈베리파이3] - 라즈베리파이3 transmission(토렌트)

 

crontab 예약 작업을 제거하고 사용하시면 되겠습니다.

 

 

구동하고나서 텔레그램  비서로 확인한 스샷입니다.

 

 

   

 

 

 

Posted by 타카스 류지
|