电报机器人在单击内联查询结果时执行回调



我正在尝试为新机器人使用内联模式。
我的用例:
当有人键入@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)

使用此处理程序,我只需显示所有派对名称,然后单击其中一个时,该名称将发送到聊天室。

如果可能的话,我想用某种调用associate_string的内联查询回调结果替换InlineQueryResultArticle。可悲的是,我还没有找到任何使用回调的InlineQueryResult实现。
我确实在文档中找到了另一个名为CallbackQuery的对象,但我不知道如何在内联查询中使用它。

我所描述的行为对于电报机器人来说并不存在。但是,有一个 ChosenInlineResultHandler,每当用户执行 InlineQuery 时都会调用它。

最新更新