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]Handler class to handle string updates based on a regex which checks the update content.
Read the documentation of the
remodule for more information. There.matchfunction 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_asynctoTrue, 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_updatehas 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 isFalseDEPRECATED: 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 isFalseDEPRECATED: Please switch to context based callbacks.pass_update_queue (
bool, optional) – If set toTrue, a keyword argument calledupdate_queuewill be passed to the callback function. It will be theQueueinstance used by thetelegram.ext.Updaterandtelegram.ext.Dispatcherthat 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_queuewill be passed to the callback function. It will be atelegram.ext.JobQueueinstance created by thetelegram.ext.Updaterwhich 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
groupswill 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_queuewill be passed to the callback function.- Type
bool
-
pass_job_queue¶ Determines whether
job_queuewill 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)¶ Prepares additional arguments for the context. Override if needed.
- Parameters
context (
telegram.ext.CallbackContext) – The context object.update (
telegram.Update) – The update to gather chat/user id from.dispatcher (
telegram.ext.Dispatcher) – The calling dispatcher.check_result – The result (return value) from
check_update.
-
collect_optional_args(dispatcher, update=None, check_result=None)¶ Prepares the optional arguments. If the handler has additional optional args, it should subclass this method, but remember to call this super method.
DEPRECATED: This method is being replaced by new context based callbacks. Please see https://git.io/fxJuV for more info.
- Parameters
dispatcher (
telegram.ext.Dispatcher) – The dispatcher.update (
telegram.Update) – The update to gather chat/user id from.check_result – The result from check_update