Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
View this page
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

  Available In

  `telegram.ext.Application.handlers`

  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`.

      Added 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.

    Added 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`

  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.