我正在尝试将内联模式用于新的机器人。
我的用例:
当有人键入@my_bot abc
时,我想打电话给find_parties(update)
以显示其所有可用方作为内联结果。用户单击各方之一后,我想致电associate_string(update, party)
以便将abc
保留到我的数据库中。目前,我的内联处理程序如下所示:
def inline_handling(update, context):
query = update.inline_query.query
if not query:
return
inline_options = []
for party in find_parties(update):
inline_options.append(
InlineQueryResultArticle(
id=party['id'],
title=party['name'],
input_message_content=InputTextMessageContent(party['name'])
)
)
context.bot.answer_inline_query(update.inline_query.id, inline_options)
使用此处理程序,我只显示所有参与者的姓名,当单击其中一个参与者时,该姓名将发送到聊天室。
如果可能的话,我想用某种调用InlineQueryResultArticle
的内联查询回调结果替换associate_string
。遗憾的是,我还没有找到任何使用回调的InlineQueryResult
实现。
我确实在文档中找到了另一个名为CallbackQuery
的对象,但是我不知道如何在嵌入式查询中使用它。
答案 0 :(得分:0)
我所描述的行为对于电报机器人来说是不存在的。但是,有一个ChosenInlineResultHandler,只要用户执行了InlineQuery,就会调用它。