【发布时间】:2017-04-17 09:59:06
【问题描述】:
我的 Telegram 机器人无法获得内联查询的答案。
以下是一些处理内联查询的代码:
urlid = url['result'][0]['inline_query']['id']
str(urlid)
fromid = url['result'][0]['inline_query']['from']['id']
str(fromid)
query = url['result'][0]['inline_query']['query']
if query == '/getinfo':
r = requests.get('http://' + address + ':' + port + '/')
D = r.json()
message_text = str(len(D['info']))
results = [{'type': 'article', 'message_text': message_text, 'id': '1', 'title': 'count'}]
json.dumps(results)
data = {'inline_query_id': urlid, 'results': results}
bot.answerInlineQuery(data)
这是答案功能:
def answerInlineQuery(self, data):
global url
print('ok, we in answer func')
sendurl = url + 'answerInlineQuery'
requests.post(sendurl, data)
如您所见,这里有一个到函数标记的转换:print('ok, we in answer func')。当我输入内联查询时,我会在控制台中看到此消息。但是对请求的响应并没有到达 Telegram。这意味着请求处理程序工作正常,但在响应函数中出现问题。你能告诉我我的错误是什么吗?
UPD:我在 results 字典中添加了 "input _message_content" 键,但它没有解决我的问题。
【问题讨论】:
标签: telegram telegram-bot python-telegram-bot