Как получить разные значения cache_times из разных встроенных запросов? - PullRequest
0 голосов
/ 03 мая 2020

только начал использовать библиотеку 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 секундам. Извините, если это глупый вопрос, но не удалось получить ответ на do c или в группе телеграмм.

1 Ответ

0 голосов
/ 05 мая 2020

cache_time - это параметр inline_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)
...