ABOUT ME

-

Today
Yesterday
Total
  • 옥토프린트 - 플러그인: 텔레그램 봇 연동하기
    지식 쌓기 2020. 7. 23. 15:41
    반응형

    옥토프린트는 텔레그램 봇과 연동이 가능하다. 이외에도 push bullet 이라던가, 혹은 스파게티 디텍티브(기본 무료이나 유료)등으로 모니터링을 할 수 있다. 

    모니터링 방식은 선택하는 사람 마음 일 것이다. 

    필자의 경우에는 이미 텔레그램을 사용중에 있기 때문에 쉽게 접근 할 수 있는 텔레그램 플러그인을 사용하여 보았다. 

    그럼 시작해보자. 

     

    1. 텔레그램 옥토프린트 플러그인  설치

    일단 플러그인  설치하는 법들은 이미 알고 있으리라 본다. 

     

    필자의 경우는 이미 설치가 되어 있기에, 설치된 플러그인에서 해당 플러그인이 보여진다. 

    플러그인 설치를 했으면, 재부팅 메시지가 뜬다. 재부팅 해주자. 

     

    재부팅 하고 다시 접속해보면 텔레그램 설정 메시지가 뜨지만, 나중에 해도 된다. 가볍게 넘어가자. 

    다시 설정의 텔레그램에 가보면 조금전에 본 것과 동일한 화면이 보일 것이다. 자 이 화면을 유지시켜 둔 상태에서 텔레그램을 실행해보자. 

     

    2. 텔레그램 봇 생성하기

    텔레그램에서 우선 botfather를 검색한다. 

     

    @botfather를 잘 확인해야할 것 같다. 비슷한 채널들이 많이 있다. 

    들어가서 시작하기를 누르면, /start가 자동으로 실행되며, 실행 할 수 있는 명령어 리스트들이 나열된다. 

    새로 시작하는 것이니 당연히 /newbot 을 입력하거나 클릭한다. 

    그러면 봇이름을 물어본다. 이는 방이름을 지정하는 것이다. 차후에 수정도 가능하며, 이부분은 다른 봇과 중복도 가능하다. 

    필자는 세번째 봇을 만들어보았다. 

    그다음으로는 고유 계정 관리자 ID를 만드는 것이다. 이는 중복이 되지 않는다. 개인사용봇에만 한정되는 것이 아니라, 전체 봇에 유니크하게 적용되는 것 같다. 따라서 유명한 이름들은 이미 다 사용중에 있으므로, 어렵사리 지어보자. 

    필자는 세번째라는 의미로 DotopthrBot이라 이름지었다. 아래 내용은 잘 생성 되었다는 의미이며, 중요한 부분은 

    HTTP API: 뒷부분의 API 값이다. 다른사람이 사용할 수 없게 나만 확인하도록 하자. 

    (이 API 값을 옥토프린트 텔레그램 설정화면에서 입력해 주면 된다. )

     

    다음에 할일은 명령어 라인을 입력해 주는 것이다. 현재는 아무 명령어도 들어있지 않다. 

    아래 라인들을 카피하자. 

     

    abort - Aborts the currently running print. A confirmation is required.
    shutup - Disables automatic notifications till the next print ends.
    dontshutup - The opposite of /shutup - Makes the bot talk again.
    status - Sends the current status including a current photo.
    settings - Displays the current notification settings and allows you to change them.
    files - Lists all the files available for printing.
    filament - Shows you your filament spools or lets you change it.
    print - Lets you start a print. A confirmation is required.
    togglepause - Pause/Resume current Print.
    con - Connect/disconnect printer.
    upload - You can just send me a gcode file to save it to my library.
    sys - Execute Octoprint System Commands.
    ctrl - Use self defined controls from Octoprint.
    tune - Set feed- and flowrate. Control temperatures.
    user - get user info.
    help - show list of commands.
    gif - send a gif create from 20 images
    supergif - send a gif create from 60 images

     

    /setcommands

    명령어를 입력하면, 어떤 봇에 명령어를 세팅 할 것이냐고 물어보며, 내가 방금 만든 봇을 선택하면 되겠다. 

    그러면 조금전에 카피한 명령어들을 붙여 넣어 주자. 

     

    문제 없이 성공이라고 뜰 것이다. 

     

    마지막으로 검색창에서 @botID로 검색해서 들어가보자. 혹은 지금 있는 botfather방 대화내용을 위로 올려서 조금전에 생성한 ID를 클릭하여도 된다. 그러면 새 방이 생성되고, 하단의 시작을 눌러주면 된다. 

    여기까지 하였으면 텔레그램 설정은 모두 끝난 것이다. 이제 옥토프린트로 다시 가보자. 

     

    3. 옥토프린트 텔레그램 설정

    우선 텔레그램에서 아까 발급받은 API 값을 복사해와서 텔레그램 봇 토큰 입력란에 입력하자.  

    이제 테스트를 실행해보면, 우측과 같이 나오면 저장하자.

    그러면 이제 Known chats에 내 텔레그램 ID가 보일 것이다.

     

    내 ID가 보인다면,  action의 연필을 클릭하자. 

    그러면 해당 유저의 접근 권한을 설정 할 수 있다. 두개 모두 체크해주자.

    체크 하고 나오면 이전과 화면이 달라졌음을 확인 할 수 있다. 

     

    그렇다. 명령과 알림이 파란색으로 활성화 된 것이다. 

    여기까지 하고 다 끝났다 싶어서 텔레그램에서 명령을 내려 보았다. 

    어? 그런데 권한이 없다고 한다. 뭐지? 난 권한을 부여했는데? 

    이리저리 원인을 찾아 뒤져 본다. 

    다시 설정화면에서 파란 아이콘들을 클릭해보자. 하위 메뉴들이 리스트 된다. 

    두 아이콘 하위 메뉴 모두 체크를 해주자. 그리고 다시 명령을 내려보면? 

    이제는 말할 수..아니 실행 할 수 있다. 

    명령어가 잘 실행됨. 끝!

    세팅이 잘 된 것 같다. 이제부터 텔레그램 봇을 가지고 원격으로 놀아보자. 

     

    느낀점

    1. 텔레그램을 이렇게도 활용 할 줄은 몰랐다. 감사히 잘 쓰겠습니다. 

    2. 봇 생성시 발급되는 API 값은 중요하다. 잊어버리지도 말고, 유출되지도 말자. 

    3. 웹페이지 외부접속과 별개이다. 공유기 포트포워딩과도 아무 상관 없다. 외부에서 옥토프린트 웹 접근이 어렵다면 이를 이용하면 간단한 모니터링이 가능하다. 

    4. 옥토프린트 텔레그램 플러그인의 설정창에 스크롤을 내려보면 세부 알림에 대한 세부 설정들이 가능하다. 입맛에 맞게 조절해서 쓰면 되겠다. 

     

    PS. 텔레그램 봇 TIP. 

     

    텔레그램 봇은 기본적으로 생성하고 나면 누구나 들어올 수 있다. 다만 들어올 수 있다고는 해도 API 소유자가 허용하지 않으면 아무것도 할 수 없기는 하다. 하지만 그래도 다른 누군가가 들어오는 것이 거슬린다면? 

    @botfather에서 

    /setjoingroups

    명령어를 실행해서, 봇을 선택하고 disable를 선택하면 아무도 조인 할 수 없게 된다. 물론 이미 참가 되있는 사람은 별도로 쫒아 내야 할 것이다. 

     

    댓글

Presented by 도탑.