如何从不同的内联查询中获取不同的cache_times?

How to get different cache_times from different inline queries?

刚开始使用 python-telegram-bot 库,我使用他们的示例和文档制作了自己的机器人,但仍然无法让我的机器人做一些应该相当简单的事情,这就是对不同的内联查询有不同的cache_times。这是涉及的代码:

    def inline_opt(update, context):
        results = [
        InlineQueryResultArticle(
            id=uuid4(),
            title = "QUERY1",
            input_message_content = InputTextMessageContent(
                "blah blah")),

        InlineQueryResultArticle(
            id=uuid4(),
            title = "QUERY2",
            input_message_content = InputTextMessageContent(
                "Blah blah "))
        ]

    update.inline_query.answer(results, cache_time=0)

它工作正常,只是我希望第一个查询的 cache_time 为 0 秒,而另一个查询的 cache_time 为 x 秒。对不起,如果这是一个愚蠢的问题,但无法在文档或电报群中得到答案。

cache_timeinline_query.answer() 的参数,这意味着您需要过滤收到的查询以创建具有特定 cache_time.

的定制答案
import time

def inlinequery(update, context):
    query = update.inline_query.query
    if query=="time":
        results = [
            InlineQueryResultArticle(
                id=uuid4(),
                title="time",
                input_message_content=InputTextMessageContent(
                    "time({!s}): {!s}".format(query,time.asctime(time.localtime()))))
            ]
        seconds = 1;
        update.inline_query.answer(results,cache_time=seconds)
    elif query=="hora":
        results = [
            InlineQueryResultArticle(
                id=uuid4(),
                title="hora",
                input_message_content=InputTextMessageContent(
                    "Time({!s}): {!s}".format(query,time.asctime(time.localtime()))))
            ]
        seconds = 60;
        update.inline_query.answer(results,cache_time=seconds)