[transmission-telegram] 트랜스미션 + 텔레그램을 이용한 편리한 방법 (feat. 두번째 텔레그램봇 만들기, pi4)

yes 2023.08.15 14:42:41

[transmission-telegram] 트랜스미션 + 텔레그램을 이용한 편리한 방법 (feat. 두번째 텔레그램봇 만들기, pi4)

 

기대효과

- 도커 트랜스미션에 접속하지 않고도, 텔레그램에 마그넷 or 토렌트파일을 넣어주면, 작동하게 됩니다.

 

 

1. 텔레그램 봇 만들기

- 기존에 한번 만들어 봤습니다. 

여지껏 봇은 아이디당 한개방 만들수 있는줄 알았습니다. 이번에 두번째 봇을 만들어 봅니다.

 

image.png

 

 

- 채팅방으로 들어 가서, hi 라고 합니다.

 

image.png

 

 

 

- 웹브라우저에 주소를 입력합니다.

https://api.telegram.org/bot[토큰]/getUpdates

 

image.png

 

 

 

image.png

 

 

- 마지막 단계 입니다.

 

https://api.telegram.org/bot[토큰]/sendMessage?chat_id=[챗아이디]&text=DoneCompleteyourRQ 

 

https://api.telegram.org/bot[토큰]/sendMessage?chat_id=[챗아이디]&text=바보가 봇 잘 만들었네 ㅋㅋ

 

위 주소를 웹브라우저에 입력하면, 아래와 같이 채팅창에서 응답을 해줍니다.

 

image.png

 

 

 

=====================================

 

 

도커 설치 (라즈베리파이4)

https://github.com/pyed/transmission-telegram

https://hub.docker.com/r/xorguy/transmission-telegram/tags              #arm64 용

 

 

docker run -d --name transmission-telegram \
xorguy/transmission-telegram:1.4.1-arm64 \
-token="661****431:AAEwk_a_B2bw*********1NcEYYKV3ydqA" \
-master="텔레그램유저네임" \
-url="http://192.168.219.125:9091/transmission/rpc/" \
-username="트렌스미션아이디" \
-password="트랜스미션비번"

 

 

정상적으로 설치가 완료 되면, 아래와 같은 로그파일을 볼 수 있습니다.

2023/08/15 11:21:35 [INFO] Token=661****431:AAEwk_a_B2bw*********1NcEYYKV3ydqA

                            Masters=[텔레그램유저네임]

                            URL=http://192.168.219.125:9091/transmission/rpc/

                            USER=트렌스미션아이디

                            PASS=트랜스미션비번

2023/08/15 11:21:36 [INFO] Authorized: t***s_9456_bot       #봇이름

 

 

 

 

 

우여곡절

- arm64 버전을 찾는데 시간 소요 (아래는 amd 버전으로 잘못 설치했을때, 나오는 에러 메세지)

409: Conflict

Your request had an invalid session-id header.

To fix this, follow these steps:

  1. When reading a response, get its X-Transmission-Session-Id header and remember it
  2. Add the updated header to your outgoing requests
  3. When you get this 409 error message, resend your request with the updated header

 

This requirement has been added to help prevent CSRF attacks.

X-Transmission-Session-Id: oY4M8******IwCu8L96MaSQ

 

 

- 텔레그램 유저네임이 뭔지 몰라서 헤맸습니다.

   처음 가입할때, 전화번호로 등록했더니, 여지껏 username 을 만들지 않았었네요.

   그래서 새로 username 을 만들었습니다.

   앞으로는 상대방에게 전화번호 대신 유저네임을 알려주면 연결이 된다고 합니다.

 

image.png

 

 

 

 

결론

- 이번에 처음으로 봇과 양방향 소통하는 채팅방을 만들었습니다.

  예전에 만든것은 텔레그램 창을 통해서 알림만 받았는데, 이번 작업은 내가 뭔하는 것을 봇한테 요청할 수 있는 거네요.

 

 

 

추가 ; 2023 10 09

- 나의 챗 아이디 찾는 법 (CHAT_ID="your_chat_id")

검색창에 'get id' 입력, 그리고 get my id bot 선택

 

image.png

 

 

챗 아이디 확인.

 

 

image.png