telegram.ext.InlineQueryHandler¶
-
class
telegram.ext.
InlineQueryHandler
(callback, pass_update_queue=False, pass_job_queue=False, pattern=None, pass_groups=False, pass_groupdict=False, pass_user_data=False, pass_chat_data=False, run_async=False, chat_types=None)¶ Bases:
telegram.ext.handler.Handler
[telegram.update.Update
,telegram.ext.utils.types.CCT
]Handler class to handle Telegram inline queries. Optionally based on a regex. Read the documentation of the
re
module for more information.Note
pass_user_data
andpass_chat_data
determine whether adict
you can use to keep any data in will be sent to thecallback
function. Related to either the user or the chat that the update was sent in. For each update from the same user or in the same chat, it will be the samedict
.Note that this is DEPRECATED, and you should use context based callbacks. See https://git.io/fxJuV for more info.
Warning
When setting
run_async
toTrue
, you cannot rely on adding custom attributes totelegram.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, ifchat_types
is passed.
- Parameters
callback (
callable
) –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 for context based API:def callback(update: Update, context: CallbackContext)
The return value of the callback is usually ignored except for the special case of
telegram.ext.ConversationHandler
.pass_update_queue (
bool
, optional) – If set toTrue
, a keyword argument calledupdate_queue
will be passed to the callback function. It will be theQueue
instance used by thetelegram.ext.Updater
andtelegram.ext.Dispatcher
that contains new updates which can be used to insert updates. Default isFalse
. DEPRECATED: Please switch to context based callbacks.pass_job_queue (
bool
, optional) – If set toTrue
, a keyword argument calledjob_queue
will be passed to the callback function. It will be atelegram.ext.JobQueue
instance created by thetelegram.ext.Updater
which can be used to schedule new jobs. Default isFalse
. DEPRECATED: Please switch to context based callbacks.pattern (
str
|Pattern
, optional) – Regex pattern. If notNone
,re.match
is used ontelegram.InlineQuery.query
to determine if an update should be handled by this handler.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.
pass_groups (
bool
, optional) – If the callback should be passed the result ofre.match(pattern, data).groups()
as a keyword argument calledgroups
. Default isFalse
DEPRECATED: Please switch to context based callbacks.pass_groupdict (
bool
, optional) – If the callback should be passed the result ofre.match(pattern, data).groupdict()
as a keyword argument calledgroupdict
. Default isFalse
DEPRECATED: Please switch to context based callbacks.pass_user_data (
bool
, optional) – If set toTrue
, a keyword argument calleduser_data
will be passed to the callback function. Default isFalse
. DEPRECATED: Please switch to context based callbacks.pass_chat_data (
bool
, optional) – If set toTrue
, a keyword argument calledchat_data
will be passed to the callback function. Default isFalse
. DEPRECATED: Please switch to context based callbacks.run_async (
bool
) – Determines whether the callback will run asynchronously. Defaults toFalse
.
-
callback
¶ The callback function for this handler.
- Type
callable
-
pass_update_queue
¶ Determines whether
update_queue
will be passed to the callback function.- Type
bool
-
pass_job_queue
¶ Determines whether
job_queue
will be passed to the callback function.- Type
bool
-
pattern
¶ Optional. Regex pattern to test
telegram.InlineQuery.query
against.- Type
str
|Pattern
-
chat_types
¶ List of allowed chat types.
New in version 13.5.
- Type
List[
str
], optional
-
pass_groups
¶ Determines whether
groups
will be passed to the callback function.- Type
bool
-
pass_groupdict
¶ Determines whether
groupdict
. will be passed to the callback function.- Type
bool
-
pass_user_data
¶ Determines whether
user_data
will be passed to the callback function.- Type
bool
-
pass_chat_data
¶ Determines whether
chat_data
will be passed to the callback function.- Type
bool
-
run_async
¶ Determines whether the callback will run asynchronously.
- Type
bool
-
check_update
(update)¶ Determines whether an update should be passed to this handlers
callback
.- Parameters
update (
telegram.Update
|object
) – Incoming update.- Returns
bool
-
collect_additional_context
(context, update, dispatcher, check_result)¶ Add the result of
re.match(pattern, update.inline_query.query)
toCallbackContext.matches
as list with one element.
-
collect_optional_args
(dispatcher, update=None, check_result=None)¶ Pass the results of
re.match(pattern, query).{groups(), groupdict()}
to the callback as a keyword arguments calledgroups
andgroupdict
, respectively, if needed.