Telegram 机器人 api 键盘
Telegram bot api keyboard
我对 Telegram Bot Api 和 "ReplyKeyboard" 有疑问。我正在使用 Python 2.7 并发送 post 请求:
TelegramAPI.post(TELEGRAM_URL + "sendMessage", data=dict(chat_id=CHAT_ID, text="", keyboard={'keyboard': keyboard, 'one_time_keyboard': False, 'resize_keyboard': True})
这种格式的键盘:
[["A button"], ["B button"]]
但是在 Telegram 中我没有看到键盘。可能是什么问题?
根据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
必须是非空的。
我对 Telegram Bot Api 和 "ReplyKeyboard" 有疑问。我正在使用 Python 2.7 并发送 post 请求:
TelegramAPI.post(TELEGRAM_URL + "sendMessage", data=dict(chat_id=CHAT_ID, text="", keyboard={'keyboard': keyboard, 'one_time_keyboard': False, 'resize_keyboard': True})
这种格式的键盘:
[["A button"], ["B button"]]
但是在 Telegram 中我没有看到键盘。可能是什么问题?
根据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
必须是非空的。