telegram.ext.StringCommandHandler¶
-
class
telegram.ext.
StringCommandHandler
(command, callback, pass_args=False, pass_update_queue=False, pass_job_queue=False, run_async=False)¶ Bases:
telegram.ext.handler.Handler
[str
]Handler class to handle string commands. Commands are string updates that start with
/
.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
command (
str
) – The command this handler should listen for.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_args (
bool
, optional) – Determines whether the handler should be passed the arguments passed to the command as a keyword argument calledargs
. It will contain a list of strings, which is the text following the command split on single or consecutive whitespace characters. 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 a class:telegram.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
.
-
command
¶ The command this handler should listen for.
- Type
str
-
callback
¶ The callback function for this handler.
- Type
callable
-
pass_args
¶ Determines whether the handler should be passed
args
.- 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)¶ 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