用Python发送Telegram键盘

问题描述 投票:1回答:1

我正在尝试将带有机器人的Telegram键盘发送到我的帐户。我已经关注了TelegramAPI文档,但我无法做到。我使用的是Python 2.7。

到目前为止,这是我尝试过的:

import requests

bot_token = 'xxxxxxxxxxxxxxxxxxxxxxxx'
chat_id = 'xxxxxxxxxxxx'
text = "Choose:"
reply_markup={"keyboard":[["Yes","No"],["Maybe"],["1","2","3"]],"one_time_keyboard":True}
data = {'chat_id': chat_id, 'text': text, 'reply_markup': reply_markup}
url ="https://api.telegram.org/bot" + bot_token + "/sendMessage"

r = requests.get(url, data = data)
results = r.json()
print (results)

Python没有崩溃,但是我收到Telegram API的失败响应,我不知道为什么:

{u'error_code':400,u'ok':False,u'description':u“错误请求:无法解析回复键盘标记JSON对象”}

任何想法或建议都非常感谢。

谢谢,其他。

python python-2.7 python-requests telegram telegram-bot
1个回答
1
投票

利用json库可以转储键盘对象:

import requests, json

bot_token = 'xxxxxxxxxxxxxxxxxxxxxxxx'
chat_id = 'xxxxxxxxxxxx'
text = "Choose:"
reply_markup={"keyboard":[["Yes","No"],["Maybe"],["1","2","3"]],"one_time_keyboard":True}
data = {'chat_id': chat_id, 'text': text, 'reply_markup': json.dumps(reply_markup)}
url ="https://api.telegram.org/bot" + bot_token + "/sendMessage"

r = requests.get(url, data = data)
results = r.json()
print (results)
© www.soinside.com 2019 - 2024. All rights reserved.