Hide navigation sidebar
Hide table of contents sidebar
PTB has undergone significant changes in v20. Please read the documentation carefully and also check out the transition guide in the wiki.
Back to top
Toggle table of contents sidebar

# InlineQueryHandler

class telegram.ext.InlineQueryHandler(callback, pattern=None, block=True, chat_types=None)

  Bases: `telegram.ext.BaseHandler`

  BaseHandler class to handle Telegram updates that contain a `telegram.Update.inline_query`. Optionally based on a regex. Read the documentation of the `re` module for more information.

  Warning

  - When setting `block` to `False`, you cannot rely on adding custom attributes to `telegram.ext.CallbackContext`. See its docs for more info.

  - `telegram.InlineQuery.chat_type` will not be set for inline queries from secret chats and may not be set for inline queries coming from third-party clients. These updates won’t be handled, if `chat_types` is passed.

  Examples

  Inline Bot

  Parameters:

    - callback (coroutine function) –

      The callback function for this handler. Will be called when `check_update()` has determined that an update should be processed by this handler. Callback signature:

          async def callback(update: Update, context: CallbackContext)

      The return value of the callback is usually ignored except for the special case of `telegram.ext.ConversationHandler`.

    - pattern (`str` | `re.Pattern`, optional) – Regex pattern. If not `None`, `re.match()` is used on `telegram.InlineQuery.query` to determine if an update should be handled by this handler.

    - block (`bool`, optional) –

      Determines whether the return value of the callback should be awaited before processing the next handler in `telegram.ext.Application.process_update()`. Defaults to `True`.

      See also

      Concurrency

    - chat_types (List[`str`], optional) –

      List of allowed chat types. If passed, will only handle inline queries with the appropriate `telegram.InlineQuery.chat_type`.

      New in version 13.5.

  callback

    The callback function for this handler.

    Type:

      coroutine function

  pattern

    Optional. Regex pattern to test `telegram.InlineQuery.query` against.

    Type:

      `str` | `re.Pattern`

  chat_types

    Optional. List of allowed chat types.

    New in version 13.5.

    Type:

      List[`str`]

  block

    Determines whether the return value of the callback should be awaited before processing the next handler in `telegram.ext.Application.process_update()`.

    Type:

      `bool`

  Available In

  `telegram.ext.Application.handlers`

  check_update(update)

    Determines whether an update should be passed to this handler’s `callback`.

    Parameters:

      update (`telegram.Update` | `object`) – Incoming update.

    Returns:

      `bool` | `re.match`

  collect_additional_context(context, update, application, check_result)

    Add the result of `re.match(pattern, update.inline_query.query)` to `CallbackContext.matches` as list with one element.