Telegram bot api键盘

时间:2015-12-16 15:23:01

标签: python tornado telegram telegram-bot python-telegram-bot

我有Telegram Bot Api和“ReplyKeyboard”的问题。我正在使用Python 2.7并发送帖子请求:

constexpr

这种格式的键盘:

TelegramAPI.post(TELEGRAM_URL + "sendMessage", data=dict(chat_id=CHAT_ID, text="", keyboard={'keyboard': keyboard, 'one_time_keyboard': False, 'resize_keyboard': True})

但在电报中我没有看到键盘。可能有什么问题?

1 个答案:

答案 0 :(得分:6)

根据Bot API documentations,自定义键盘需要reply_markup参数,其值是键盘的JSON序列化规范。假设您的TelegramAPI.post()函数没有为您进行JSON序列化,我会尝试以下方法:

import json

json_keyboard = json.dumps({'keyboard': [["A button"], ["B button"]], 
                            'one_time_keyboard': False, 
                            'resize_keyboard': True})

TelegramAPI.post(TELEGRAM_URL + "sendMessage", 
                 data=dict(chat_id=CHAT_ID, 
                           text="Has to be non-empty", 
                           reply_markup=json_keyboard))

请注意,text必须为非空。