2020-05-09 18:05
개인적으로 챗봇 형태의 토이 프로젝트를 하고 싶을 때는 텔레그램 봇을 이용하는 것만큼 좋은 선택은 없다고 생각합니다. 애초에 카카오톡 봇같은 경우 개인적으로 이용할 수 있는 기능이 물어보는 기능에 대한 답변 정도만 구현 가능하니까요. 그 이후의 영역은 비즈톡 가입을 해야만 하니까요.

네, 그래서 조심스레 토이 프로젝트를 하나 시작하고자 텔레그램 봇 만드는 것부터 해서 시작해보려고 합니다.
당연하지만 텔레그램이 설치되어있어야겠죠? PC버전이든 모바일 버전이든 상관은 없지만 PC 버전이 명령어 입력이 훨씬 편할테니 저는 PC 버전을 이용하도록 하겠습니다.
검색창에서 BotFather를 찾습니다. 그리고 ‘/help’ 커맨드로 바로 사용 가능한 명령어를 확인해봅시다.

영어로 나오긴 하지만 /newbot 으로 새로운 봇을 만들수 있는건 잘 알것 같습니다. ’/newbot‘을 입력해봅시다.

/newbot
Alright, a new bot. How are we going to call it? Please choose a name for your bot.
이름을 정해달라고 하는 것 같습니다. 저는
nhj_test_bot 으로 이름을 만들겠습니다.

이렇게 되면 잘 만들어진 것 같습니다. 저 토큰이라는 녀석으로 이 봇을 다룰수 있다고 하는것 같고 안전하고 노출되지 않도록 관리하라고 하네요. 이미지에는 지워져있지만 여러분의 텔레그램 톡에는 남아있을 겁니다.
이렇게 되면 텔레그램 봇 만들기는 끝이 났습니다.
만든 봇을 검색(search)창에 입력해서 찾아봅시다.

만들어진 봇이 보입니다. 대화를 시작해봅시다. 채팅방을 시작하는 개념입니다.

이 글에서는 어떤 프로그램 언어와 상관없이 브라우저를 통해 메세지 실습을 해보도록 하죠! 그 다음 텔래그렘 봇 입장에서 사용자가 들어온 정보를 볼 수 있는 방법이 있는데요. 바로 웹 브라우저에 명령어를 전송해주면 됩니다!
이 [텔레그램봇토큰] 부분에 아까 봇파더가 알려줬던 텔레그램 봇 토큰을 입력한 다음 그걸 브라우저 주소창에 넣고 접속해보세요.

==> 브라우저 접속 결과
{“ok”:true,“result”:[{“update_id”:551101880, “message”:{“message_id”:2,“from”:{“id”:388946377,“is_bot”:false,“first_name”:“void”,“username”:“lie77”,“language_code”:“ko”},“chat”:{“id”:388946377,“first_name”:“void”,“username”:“lie77”,“type”:“private”},“date”:1589013352,“text”:“gfd”}},{“update_id”:551101881, “message”:{“message_id”:3,“from”:{“id”:388946377,“is_bot”:false,“first_name”:“void”,“username”:“lie77”,“language_code”:“ko”},“chat”:{“id”:388946377,“first_name”:“void”,“username”:“lie77”,“type”:“private”},“date”:1589013665,“text”:“/start”,“entities”:[{“offset”:0,“length”:6,“type”:“bot_command”}]}},{“update_id”:551101882, “message”:{“message_id”:4,“from”:{“id”:388946377,“is_bot”:false,“first_name”:“void”,“username”:“lie77”,“language_code”:“ko”},“chat”:{“id”:388946377,“first_name”:“void”,“username”:“lie77”,“type”:“private”},“date”:1589013688,“text”:“/start”,“entities”:[{“offset”:0,“length”:6,“type”:“bot_command”}]}}]}
저 같은 경우엔 이런식으로 접속자의 히스토리가 쭉 뜨게 됩니다. 여러분 한번만 접속했다면 하나만 나올거에요.
여기서 채팅방 아이디는 바로 id:388946377 부분의 숫자입니다.
여기에 나타난 채팅방 아이디를 통해서 텔레그램 채팅방으로 간단한 메세지를 보내보도록 하겠습니다.
https://api.telegram.org/bot\[텔레그램봇 토큰]/sendmessage?chat_id=388946377&text=안녕하세용 저는 텔레그램 봇입니당
위 형식을 브라우저에 넣고 접속해보세요~! 바로 이렇게요
아무 브라우저에 위 주소를 완성시켜서 접속해보세요.
▼▼▼

텔레그램 봇을 통해 메세지가 수신된 모습
▼▼▼

어때요? 간단하죠? 이렇게 텔레그램 봇 파더를 통해 신규 봇을 깜짝할 사이에 만들수 있고, 심지어 웹 브라우저를 통해서 간단한 메세지 또한 순식간에 보내볼 수 있었습니다.
이걸 여러가지 프로그램 언어인 노드(node.js)나 파이썬, 자바, 고, C, 등등으로 웹 브라우저를 통해 명령어를 사용하는 것처럼 봇의 기능을 만들어낼 수 있는 것이죠.
사용자의 채팅방 아이디를 기억해뒀다가 사용자의 특정 명령어 또한 기억하거나 실시간으로 입력 받아서 거기에 맞게 여러가지 응답을 해주는 것이죠.
여기에는 여러가지 추가 기능들을 통해서 만들어낼수 있습니다. 아까 봇파더에서 ‘/help’의 결과에 보면 간단한 명령어들이 즐비해있었거든요.
Edit Bots
/setname - change a bot’s name
/setdescription - change bot description
/setabouttext - change bot about info
/setuserpic - change bot profile photo
/setcommands - change the list of commands
/deletebot - delete a botBot Settings
/token - generate authorization token
/revoke - revoke bot access token
/setinline - toggle inline mode (https://core.telegram.org/bots/inline)
/setinlinegeo - toggle inline location requests (https://core.telegram.org/bots/inline#location-based-results) /setinlinefeedback - change inline feedback (https://core.telegram.org/bots/inline#collecting-feedback) settings
/setjoingroups - can your bot be added to groups?
/setprivacy - toggle privacy mode (https://core.telegram.org/bots#privacy-mode) in groups
여기있는 Edit Bots 기능들을 통해서 텔레그램 봇의 사진과 디스크립션, 이름, 명령어를 변경할 수도 있고요. Bot Settings 의 기능을 통해서 토큰을 새로 만들거나 해제할수 있고 부가적인 기능들을 부여할수 있습니다.
하지만 본 글에서는 심플하게 텔레그램 봇을 만들어 보고 최대한 간단하게 채팅방에 메세지를 보내서 텔레그램 봇을 만들고 작동시켜보는 최대한 간단한 내용이 되도록 했습니다~.
텔레그램 봇의 튜토리얼 1단계인 셈이지요. 참고가 되셨으면 좋겠습니다. 텔레그램 봇 만들기 방법에 대해서 마칩니다. 감사합니다.