telegram.ext.StringRegexHandler¶
-
class
telegram.ext.
StringRegexHandler
(pattern, callback, pass_groups=False, pass_groupdict=False, pass_update_queue=False, pass_job_queue=False, run_async=False)¶ Bases:
telegram.ext.handler.Handler
[str
,telegram.ext.utils.types.CCT
]Handler class to handle string updates based on a regex which checks the update content.
Read the documentation of the
re
module for more information. There.match
function is used to determine if an update should be handled by this handler.Note
This handler is not used to handle Telegram
telegram.Update
, but strings manually put in the queue. For example to send messages with the bot using command line or API.Warning
When setting
run_async
toTrue
, you cannot rely on adding custom attributes totelegram.ext.CallbackContext
. See its docs for more info.- Parameters
pattern (
str
|Pattern
) – The regex pattern.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_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_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.run_async (
bool
) – Determines whether the callback will run asynchronously. Defaults toFalse
.
-
pattern
¶ The regex pattern.
- Type
str
|Pattern
-
callback
¶ The callback function for this handler.
- Type
callable
-
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_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
-
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 (
object
) – The incoming update.- Returns
bool
-
collect_additional_context
(context, update, dispatcher, check_result)¶ Add the result of
re.match(pattern, update)
toCallbackContext.matches
as list with one element.
-
collect_optional_args
(dispatcher, update=None, check_result=None)¶ Pass the results of
re.match(pattern, update).{groups(), groupdict()}
to the callback as a keyword arguments calledgroups
andgroupdict
, respectively, if needed.