[Python 텔레그램 봇] 버튼 기능 만들기 - Pt.1 알아둘 것들

Inline Keyboard

이 포스팅 묶음에서는 아래와 이 텔레그램 봇이 버튼으로 응답하도록 코딩을 하도록 합니다.


텔레그램 봇 버튼 만들기
텔레그램 봇 버튼기능 활용

이를 Inline Keyboards 라고 합니다. 
Keyboard 의 Button 화(Keyboard Button)와는 다르다는 것을 알아야 합니다.

텔레그램 키보드 버튼
텔레그램 키보드 버튼

왜냐하면 제가 몰라서 Inline Keyboards로 구현했거든요. Keyboard의 Button화는 구현하게 되면 포스팅 하겠습니다.

뭐가 다른가?

Inline keyboards are available for messages sent both in chat mode and inline mode.

라고 소개됩니다. 보통의 Chat 모드와 Inline 모드에서 둘 다 사용 가능하다고 하는데 이걸 이해하려면 Inline mode를 알아야 합니다.

Inline Mode는 홈페이지에 있는 아래 그림과 같이 채팅창에 @봇이름 을 입력해서 채팅봇을 사용할 수 있도록 하는 것입니다. 이렇게 되면 꼭 채팅봇과의 대화가 아닌 다른 대화방에서도 봇을 사용할 수 있게 됩니다.

텔레그램 인라인 봇
텔레그램 인라인 봇

따라서, Inline bot을 만들지 않고, 그냥 명령어 대신 버튼으로 입력 가능하게 봇을 만들고 싶다 하면 Keyboard Button으로 접근하시는 게 나을 수 있습니다.

Inline Keyboard는 기본적으로 Inline을 위해 callback, callbackQueryHandler, callback_query_data 등이 추가됩니다.

참고 자료와 라이브러리

텔레그램 봇 개발 시 어려운 점은, 보통 라이브러리를 쓰기 때문에 Document를 두 개를 읽어야 한다는 것입니다. 
저는 python-telegram-bot을 사용하는데 Document에 그림자료가 없어서 조금 불편했습니다.

가장 많은 참고가 된 자료는 이 한국 블로그 입니다.
현재 '텔레그램 봇 버튼' 등으로 검색하면 상위에 나오는 블로그들은 'telepot'이라는 라이브러리를 많이 소개해주는데, telepot은 2019년 이후 유지보수를 포기했으니 판단은 알아서 하시기 바랍니다. 

telepot 유지보수 포기
Telepot 개발자분이 바빠서 포기하심

라이브러리는 되도록 공식 홈페이지에서 추천해 주는 걸 쓰는 게 좋지 않을까요?


댓글

이 블로그의 인기 게시물

Box Tengo. Private Policy (iOS)

Value Calculator Privacy Policy

Unity meta파일 필요성과, VSC에서 숨기기