여기저기 글을 찾아보며 다른분들의 학습한내용을 실행시켜보고
나름대로 기억하기 위해 기록
import telepot
from telepot.loop import MessageLoop # 봇 구동
from telepot.namedtuple import InlineKeyboardMarkup as MARKUP # 마크업
from telepot.namedtuple import InlineKeyboardButton as BTN # 버튼
token = '1586693187:AAHyHFegfJfHh-x4HrgJst2Ktj1z0lr3zZ0'
ID = '64002766'
bot= telepot.Bot(token)
#bot.sendMessage(ID,"hi")
def btn_show(msg):
btn1 = BTN(text = "1. Hello", callback_data = "1" )
btn2 = BTN(text = "2. bye" , callback_data = "2" )
mu = MARKUP(inline_keyboard = [[btn1, btn2]])
bot.sendMessage(ID, "선택하세요", reply_markup = mu)
def query_ans(msg):
query_id = msg["id"]
query_data =msg["data"]
if query_data == "1":
bot.answerCallbackQuery(query_id, text = "안녕하세요")
elif query_data == "2":
bot.answerCallbackQuery(query_id, text = "잘가")
MessageLoop(bot,{'chat' : btn_show, 'callback_query' : query_ans}).run_as_thread()
대략 이런화면이 나옴
중요한 내용은 버튼은 마크업으로 묶인다는 것이다. 잘 포장된 버튼은 sendmessage로 작성되어 전달된다.(버튼을 세로로도 구현가능. 리스트을 위치를 나누면됨)
가끔햇갈리는 내용이 있는데 변수의 첫글자는 대문자는 안된다는 것이다.
참고 내용
네이밍 규칙
: 변수, 상수, 함수, 클래스 등의 이름에 권장되는 규칙
변수
:소문자로 시작, 중간에 _
상수
:모두 대문자, 중간에 _
함수
:소문자로 시작, 중간에 _
c++만 하다보니..
여튼 이러한 버튼들을 만들어 텔래그램에서 손쉽게 명령을 내릴수 있다.
참고 : 초보코딩 유튜브
댓글