Telegram Bot 在点击内联查询结果时执行回调
Telegram Bot execute callback on click of inline query result
我正在尝试为新机器人使用内联模式。
我的用例:
当有人键入 @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
的对象,但我不知道如何在内联查询中使用它。
Telegram 机器人不存在我描述的行为。但是,有一个ChosenInlineResultHandler,只要用户执行了InlineQuery,它就会被调用。
我正在尝试为新机器人使用内联模式。
我的用例:
当有人键入 @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
的对象,但我不知道如何在内联查询中使用它。
Telegram 机器人不存在我描述的行为。但是,有一个ChosenInlineResultHandler,只要用户执行了InlineQuery,它就会被调用。