我有我在Telegram机器人中使用的这部分代码(Python):
def reply(msg=None, img=None):
if msg:
resp = urllib2.urlopen(BASE_URL + 'sendMessage', urllib.urlencode({
'chat_id': str(chat_id),
'text': msg.encode('utf-8'),
'disable_web_page_preview': 'true',
# 'reply_to_message_id': str(message_id),
'reply_markup': json.dumps({'keyboard': [bline1, bline2], 'resize_keyboard': True}),
})).read()
对于这部分,一切正常。问题是:如何使用常规键盘的inline_keyboard intead?
我知道这是一个noob问题,但如果有人可以帮助我,那就太好了。
谢谢!
答案 0 :(得分:2)
因为Inline Keyboard只是一个不同的json对象,所以我说你只需用json.dumps
而不是当前的构建来构建它。按照你的例子,这样的事情应该成为诀窍:
def reply(msg=None, img=None):
if msg:
resp = urllib2.urlopen(BASE_URL + 'sendMessage', urllib.urlencode({
'chat_id': str(chat_id),
'text': msg.encode('utf-8'),
'disable_web_page_preview': 'true',
# 'reply_to_message_id': str(message_id),
'reply_markup': json.dumps({'inline_keyboard': [[{'text': bline1, 'callback_data': bline1}, {'text': bline2, 'callback_data': bline2}]]}),
})).read()