· 톺아보기

PC/모바일

텔레그램으로 토렌트 검색하고 다운받는 시스템 구축

타이머즈 ·

조회 34,441 · 공감 15 · 댓글 56

Telegram Bot을 이용해 Torrent 검색하고 다운 받는 시스템 구축하기입니다.

 

MochaLatte님

께서 알림 받는 부분을 아래 link에서 소개해주셔서 참 반가웠네요. 저도 비슷한 시스템을 만들고 있었거든요.

http://www.clien.net/cs2/bbs/board.php?bo_table=lecture&wr_id=303669CLIEN

 

관련 상세 블로그: http://wp.me/pvrSb-7r

 

목적 - 준비물 - 결과물 이렇게 3가지로 나눠 간단히 설명 드리면, 

 

1. 목적

토렌트 이용에 간편함을 주기 위해서,

텔레그램 창에서 바로 검색하고 선택하여 원격 서버(라즈베리파이) 에서 다운로드 시작토록 함.

 

2. 준비물

  1. 간편히 텍스트로 검색, 선택, 다운로드 시작을 위한 채팅 프로그램
  2. 핵심적인 수행을 담당할 중앙 서버 (라즈베리파이 등)
  3. 컨텐츠를 플레이할 TV 혹은 미디어 플레이어

3. 설계 및 결과물

Telebot_Schemetics

 

 

대충 설계는 이렇고,

 

아래처럼 로마의 휴일을 타이핑하면 아래 키보드 부분이 버튼이 생깁니다.

클릭하면 집에 있는 라즈베리파이에 다운로드 되고

돌아와 Smart TV로 라즈베리 파이에 접속해서 감상하면 되죠.

 

관심있으신 분들이 비슷한 작업하실 때 쓰시도록 코드는 공개했습니다.

https://github.com/seungjuchoi/telegram-control-deluge

 

프로그래머시라면 한번 훑어보시길. :D

 

 

 

Screenshot_20160103-084112

Screenshot_20160103-084121

 

더 자세한 설명은 아래 블로그를 참고해주세요.

http://wp.me/pvrSb-7r

 

 

 

댓글 56

  1. Eunire ·
    와우 ㅋㅋ 꿀이네요 감사합니다 이걸로 비서 만들스 있을듯 ㅋㅋ
    from CV
  2. 타이머즈 ·
    네. ㅎㅎ 사실 인공 지능 비서 시스템을 만들어보려고 시도했던 흔적이에요.
    from CV
  3. 도빠 ·
    인상깊은 봇 활용이네요 ㅎ 추천합니다!
  4. 타이머즈 ·
    아 네네. 감사합니다. :)
    from CV
  5. 세라공주 ·
    그냥 웹토렌트가 뒷탈도 없고 깔끔하고, 속도 눈깜짝할 때 끝나는데....굳이... ⓣ
  6. 타이머즈 ·
    네네. 맞아요. ㅎㅎ 그게 어려운 와이프를 위해 만들었어요.
    from CV
  7. 타이머즈 ·
    네네. 이건 코드가 잘 정리되어있네요. ㅎㅎ 감사합니다. 기능 추가할때 참고할게요. ㅎㅎ 그나저나 bot으로 lua를 많이쓰네요.
    from CV
  8. lacsonluxur ·
    https://github.com/yagop/node-telegram-bot-api

    BitLocker 님이 소개해주신 분의 봇과 비슷한 형태의 봇인데...
    텔레그램의 공식 BOT API 를 지원하는 봇이 있습니다. 공식 API 를 사용하니 좀 더 낫지 않을까 싶습니다.
    Synology 기준 debian chroot 설치 없이 Node.js 만으로 되는듯 싶구요. telegram CLI 는 debian chroot 상에서 써야해서 좀 복잡한 감이...

    개발쪽은 영 젬병이라 기능 추가는 엄두도 못 내네요 ㅎ
  9. 타이머즈 ·
    네네 감사합니다. 그렇군요. 저는 Telegram Bot 공식 API를 Wrapping한 Telepot 이란 Python Library를 사용했어요. 간단히 Python으로 만들고 싶었거든요. ㅎㅎ Telepot도 Telegram 공식 사이트에서 추천하는 Library이더군요 ^^
  10. 탄산뚱땡이 ·
    와....... 와..... 와밖에 안나오네요... ㅎㅎ
  11. 쿠키맨 ·
    헐... 저랑 비슷한걸 만들고 계셨네요..ㅡㅡ;;;;
    (저는 일정 및 메일 알림이었는데..)

    소스공개 감사합니다. 덕분에 많은 참고가 될꺼 같아요. (저도 공개해야겠어요 ㅎㅎ)
  12. 타이머즈 ·
    네네. 반갑네요. 공개하신다면 저도 알려주세요. ;D
  13. 주사위내기 ·
    아니 텔레그램봇이 저렇게 선택지까지 되었어요? 헐..... 텔레그램 봇 API가 갑자기 엄청 확 땡기네요!
  14. 타이머즈 ·
    네네. 버튼형 선택지가 있어서 직관적입니다. ㅎㅎ 반응속도도 빠른 편이에요. 퀴즈도 풀 수 있고 윈도우 탐색기 처럼 브라우징을 할 수도 있겠죠? :D
  15. 성면 ·
    지나가던 문과...지나갑니다...
  16. 산끈티 ·
    같이 갑니다.
    from CV
  17. 팝이좋아 ·
    Telegram BOT 을 제대로 활용 하시는군요 ^^;
    저는 요즘 시간이 없어 CLI에서 공식 BOT API로 넘어가질 못하고 있습니다 ㅠㅠ
  18. 팝이좋아 ·
    넵 맞습니다
  19. 타이머즈 ·
    Acidpop님// ㅎㅎ 꼼꼼히 잘 만드셨네요. 멋집니다. ㅎㅎ
  20. 팝이좋아 ·
    레드리머님// 감사합니다 ^^;; 레드리머님이 만드신 코드 활용을 좀 해도 될까요?
    저도 공식 BOT API 로 조금씩 준비하고는 있는데 파이썬이 아직 익숙지 않아서..ㅠㅠ
    완성되면 github 로 공개 예정입니다.
  21. idnrfc ·
    허허허 괜찮아보이네요
    그런데 토렌트 목록은 어디서 가져오시는건가요?
    피어 없으면 답답하더라구요.
  22. 타이머즈 ·
    네네 국내 토렌트 사이트 중 한곳에서 최신순으로 받아옵니다. ^^;
  23. 연필깍이 ·
    기계과는 그냥 와~~~~~ 하면서 지나갑니다. ㅋ
    멋지시네요 나중에 시간내서 도전해볼려고 추천꽝! + 스크랩 해두고 갑니다
  24. 타이머즈 ·
    추천 감사합니다 ^^
  25. YouthGoneWild ·
    오... 아주 좋은데요?

    가끔 죽은 토렌트들도 발견할 수 있으니 torrent와 거기 엮인 seed 수도 같이 알려주면 좋지 않을까요?
    0이하는 걸러내는 방식을 쓴다고 하더라도 이왕이면 많은 seed를 가진 torrent를 받을 수 있으니...
  26. 타이머즈 ·
    네 좋은 생각이시네요. :D 이왕이면 Seed를 신경쓰지 않도록 후보리스트의 Torrent를 5~6개 동시에 받아서 경쟁적으로 seed가 높고 속도가 좋은 녀석을 자동적으로 선택하고 나머지는 알아서 삭제하는 방식도 괜찮겠네요. 물론 병렬 다운로드하려면 서버가 좋아야 겠죠? ㅎㅎ
  27. 슬프다람쥐 ·
    라즈페리 말고 데비안 노트북에서도 되는거지요??

    라즈페리만 되는건가요??
  28. 타이머즈 ·
    네. 서버이기만 하면 됩니다. Python으로 만든거고 실행만하면 되요. 윈도우에서도 되구요. 물론 적절한 토렌트 런쳐가 필요할테고. telegram bot으로 Google검색하시면 괜찮은 자료가 많아요. :D
  29. iros ·
    근데 이런식의 불법 공유는 별로 좋아 보이지 않네요.
    #CLiOS
  30. 타이머즈 ·
    네네. 불법자료는 다운로드 받지 마세요 :D 비유하자면 전 총을 쏘는 스마트한 방법을 보여드린건데 사람을 쏘느냐, 동물을 쏘느냐에 따라 살인인지 사냥인지 갈리니까요. 그건 개인의 선택. :D
  31. 삽질 ·
    엄청나네요
  32. 타이머즈 ·
    감사합니다.
  33. 궁금한폴 ·
    날 로그인하게 만들다니. 추천남기고 갑니다.
  34. 타이머즈 ·
    감사합니다. 아직 부족합니다.
  35. 위글지글 ·
    우와.. 멋지네요
  36. 타이머즈 ·
    의외로 쉬운 작업입니다. ㅎㅎ 전 차려진 밥상에 숫가락만... ㅎㅎ
  37. 슈퍼마리옹 ·
    시..신기하다..이과지만 신기해요....
  38. 타이머즈 ·
    ㅎㅎ 관심 가져주셔서 감사합니다.
  39. 긴급휴무 ·
    //레드리머님 github에 pull-request 있네요.
    트랜스미션 제어가 추가 되었군요.
  40. 타이머즈 ·
    오 마이갓 그러네요!!^^:; 검증 후 반영해야겠습니다. ^^
  41. 앙겔로스 ·
    신기하네요.. -_- 천재같아..
  42. 타이머즈 ·
    감사합니다. 더 업그레이드 해볼게요.
  43. 텐지로 ·
    시놀로지에서 돌릴려면 어떻게 해야할까요?
  44. 타이머즈 ·
    아 Nas system인가요? 잠깐 검색해보니 OS도 들어가 있는거 같은데, 그 OS가 python이 설치되고 Torrent 프로그램을 지원한다면 가능합니다.^^:; 방법은 좀 찾아봐야겠네요
  45. darkscavenger ·
    시더 수를 가져오고 싶은데, rss에 포함이 안되어있는 것 같네요 음...
  46. 타이머즈 ·
    네 맞아요. 사실 rss를 사용할 필요는 없는 데 Source를 얻어오는 site가 링크 복붙만으로 파일 다운로드를 할 수 있도록 해놓지 않아서요. :D
  47. smtank ·
    궁금한게 있는데 소스중에 telepot.DelegatorBot(TOKEN, [(per_chat_id(), create_open(Torrenter, timeout=120)),])
    요 부분은 어떤 역할을 하나요? 봇 토큰을 넣으면 그 봇이 사용자에게 메세지를 받을 수 있도록 세팅되는건가요?? ㅎㅎ;;
  48. 타이머즈 ·
    네. 해당 토큰으로 봇을 생성하는데 message를 handle하는 class가 Torrent이고 말을 걸고 120초 동안 반응을 해주지 않으면 다시 첫물음으로 돌아간다는 이야깁니다. per_chat_id()는 말을 거는 user마다 하나의 별도 봇을 생성한다는 의밀겁니다.
  49. smtank ·
    감사합니다. 예전에 봇과 대화를 하려면 웹훅으로 했었는데 조만간 테스트해 봐야겠네요
  50. Sora ·
    시놀로지에 설치해보고 싶네요 ㅎㅎ
    시놀로지는 파이썬이나 왠만한건 다돌아갑니다
  51. ezkiller ·
    ㅠㅠ 맥에서 시도해보고 있는데
    봇에게 명령을 내리면
    Permission Denied 뜨네요
    어디서 퍼미션 문제인지 알수도 없고 ㅠㅠ
  52. ezkiller ·
    그냥 id 처크 부분 주석처리 해버리니 봇은 작동하네요
    일단 위에건 해결했는데..
    setting. json에서 agaent_type가 무엇을 의미하는지 알수 있을까요??
  53. 타이머즈 ·
    Deluge외에 다른 프로그램도 사용할 수 있도록 만듭겁니다. transmission과 deluge 모두 지원합니다.
  54. 꼬치 ·
    너무 어렵네요... 서버역할을 하는 PC는 설정을 어떻게 하는지 알수있을까요?

팁과강좌 최근 글

팁과강좌 목록 더 보기