이 글은 우연히 보게 된 시놀로지 NAS 알림을 텔레그램으로 받는 방법에 대한 글을 참고하여 기록용으로 작성합니다.
간단히 요약하자면, 이 방법은 텔레그램 봇을 생성하여 이를 SMS 사업자와 같이 등록하여 시놀로지 NAS의 알림 메시지를 텔레그램 봇을 통해서 받아보는 방법입니다. 다른 메신저 봇도 가능할 것으로 보이지만 안타깝게도 이들의 경우에는 개인 서버가 필요하고 방법이 복잡합니다. 텔레그램은 봇 서버를 자체 운영하고 URL Query String을 통해서 정보를 받아올 수 있기 때문에 간편하게 사용할 수 있습니다.
텔레그램 봇 만들기
먼저 텔레그램 봇을 생성하기 위해서 @BotFather
를 검색합니다.
[시작] 버튼을 누르면 각종 커맨드에 대한 안내말이 나타납니다. 우측 아래 / 모양 버튼을 눌러 커맨드를 쉽게 고를 수 있습니다. 새 봇을 만들고자 하므로 /newbot
을 골라줍니다.
먼저 봇 이름을 입력합니다. 이는 나한테 메시지를 보내는 봇의 이름으로 나타나기 때문에 시놀로지 NAS에서 메시지가 오는 것임을 감안해서 잘 고르시길 바랍니다. 그리고 봇 아이디를 입력해야 하는데, 반드시 아이디 마지막은 bot으로 끝나야 합니다. 아이디는 고유하기 때문에 중복가능성이 있지만 복잡한 아이디여도 처음 검색시에만 귀찮을 뿐 큰 문제 없으니 길게 하셔도 됩니다.
여기서 API 토큰 (Token)이 나오는데, 이는 절대 노출되어서는 안됩니다. 누가 이것을 알게 되면 함부로 해당 봇에 접근할 수 있습니다. 저는 테스트 이후 봇을 삭제할 예정이므로 그대로 보여드립니다. 표현을 간략하게 하기 위해 위에 노출된 토큰을 [Token]이라 하겠습니다.
자, 이제 아래 주소의 웹페이지로 접속합니다.
https://api.telegram.org/bot[Token]/getUpdates
Code language: JavaScript (javascript)
그러면 거의 백지에 가까운 화면을 볼 수 있습니다.
이와 동시에 텔레그램에서 @<bot_id>
를 검색하여 대화를 시작합니다. 반드시 순서대로 해주세요.
여기서 [시작] 버튼을 누르고, 홈페이지로 돌아가서 새로고침을 하면 다음과 같은 메시지가 나타나는 것을 볼 수 있습니다.
{"ok":true,"result":[{"update_id":354032236,
"message":{"message_id":1,"from":{"id":83185803,"first_name":"*****","last_name":"***","username":"*****"},
"chat":"id":83185803,"first_name":"*****","last_name":"***","username":"*****","type":"private"},"date":1491308418,"text":"/start","entities":
Code language: JSON / JSON with Comments (json)
여기서 chat
부분의 id
가 필요합니다. 저의 경우에는 83185803
이 되겠네요. 이를 편의상 <chat_id>
라고 하겠습니다. <chat_id>
는 해당 봇 사이의 채팅방을 가리키는 고유한 아이디로 채팅방을 나간다고 변하지 않습니다. 이제 텔레그램 봇의 셋팅은 끝났습니다. 앞서 열어놓은 텔레그램 채팅화면을 그대로 유지합니다.
시놀로지 설정
이제 시놀로지 NAS의 [제어판 -> 알림 -> SMS] 항목으로 갑니다. 그리고 [SMS 서비스 제공업체 추가]를 클릭하여 공급자 이름은 무난하게 Telegram정도로 하시고 SMS URL을 아래와 같이 적습니다.
https://api.telegram.org/bot[Token]/sendmessage?chat_id=<chat_id>&user=1&pass=2&phone=3&text=Hello World
Code language: HTML, XML (xml)
여기서 1, 2, 3은 모두 임의로 지정하여도 됩니다.
다음을 눌러 쿼리에 해당하는 정보를 연결합니다. 텔레그램 API를 보시면 알겠지만, chat_id와 text 영역을 제외한 나머지 세 가지 항목은 아무 의미가 없습니다. [링크] 다만 시놀로지 NAS에서 요구하는 형태의 쿼리문을 맞추기 위해 임의로 집어넣었기 때문에 임의값을 넣어도 상관이 없다고 하는 것입니다. 전화번호 항목은 숫자로만 넣어야 합니다.
위와 같이 매개 변수에해당하는 영역을 설정하면 거의 준비가 다 되었습니다.
적용을 누르고 앞서 임의로 설정한 1,2,3을 각각 사용자이름, 패스워드 및 패스워드 확인 그리고 기본 전화번호 항목에 넣습니다. 전화번호는 두 개의 필드가 모두 필수값이기 때문에 저처럼 3으로 설정했으면 3-1정도로 입력해도 아무 문제가 없습니다.
이제 모든 설정이 완료되었으므로 [테스트 SMS 메시지 전송]을 눌러 실제로 동작하는지 확인합니다. 정상적으로 작동한다면 텔레그램에서 메시지를 받아볼 수 있습니다.
바로 이와 같이 말이죠. 앞으로 시놀로지 NAS에서 SMS를 통해 알림을 보내기로 설정된 항목에 대해서는 텔레그램으로 알림을 전송하게 될 것입니다. 받고자 하는 알림의 종류는 해당 제어판의 [고급] 탭에서 선택할 수 있습니다.
감사합니다. 덕분에 쉽게 텔레그램 설정을 했습니다.
저도 아직 잘 쓰고 있네요. ㅎㅎ
감사합니다
있으면 좋겠다 싶어서 검색해봤는데, 가이드를 써주셨네요
덕분에 잘 설정했습니다.
방문해주셔서 감사합니다. ^^
이것을 토대로 카카오톡 봇으로도 만들 수 있겠군요.
정보 감사합니다.
가능할 것도 같은데… 해본 적은 없어서 잘 모르겠군요. 저는 텔레그램을 선호해서 ㅎㅎ
좋은 정보 감사합니다.!!
덕분에 맘놓고 나스를 사용할 수 있겠네요!
아직 잘 동작하는가 보군요. 글을 쓴 지가 너무 오래되어서 ㅎㅎ
저 질문좀 드려도 될까요? 설정은 다하고 알림도 다 받는데요. 이게 알림이 영문으로 와서 한글로 오게 하는법이 있나요???
시놀로지 언어를 한국어로 써도 알림이 영문으로 온다면, 봇 개발자가 영문만 지원하도록 한 것이라서 딱히 방법은 없을 듯 합니다.
감사드립니다 어려워보였던 봇을 덕분에 쉽게 셋팅하였습니다.
방문해주셔서 감사합니다!
안녕하세요.
혹시 NAS 시스템 알림 뿐만아니라 NAS 내 새로운 파일,폴더 등의 생성, 삭제에 관한 알람을 텔레그램으로 받고 싶은데.. 이러한 부분은 어디서 설정할까요??
NAS 내에서 새로운 파일 생성이나 삭제에 대한 시스템 알림 발송이 되지 않는다면, 텔레그렘 연동도 어려울 것 같습니다…