我在使用 new inline mode 编写 Python 机器人时遇到问题.
机器人收到查询,并在尝试回答时收到错误 400。
这是此时机器人发送的数据示例:
{
'inline_query_id': '287878416582808857',
'results': [
{
'type': 'article',
'title': 'Convertion',
'parse_mode': 'Markdown',
'id': '287878416582808857/0',
'message_text': 'blah blah'
}
]
}
我使用 requests库中发出请求,这是在代码中执行此操作的行:
requests.post(url = "https://api.telegram.org/bot%s%s" % (telegram_bot_token, "/answerInlineQuery"), data = myData)
myData
保存示例中描述的数据。
你能帮我解决这个问题吗?
最佳答案
我怀疑这是因为您没有对 results
参数进行 JSON 序列化。
import json
results = [{'type': 'article',
'title': 'Convertion',
'parse_mode': 'Markdown',
'id': '287878416582808857/0',
'message_text': 'blah blah'}]
my_data = {
'inline_query_id': '287878416582808857',
'results': json.dumps(results),
}
requests.post(url="https://api.telegram.org/bot%s%s" % (telegram_bot_token, "/answerInlineQuery"),
params=my_data)
请注意,我使用 params
来提供数据。
关于python - Telegram bot API - 内联机器人在尝试回答内联查询时出现错误 400,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34618784/