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
,telegram.ext.utils.types.CCT
]Handler class to handle string commands. Commands are string updates that start with
/
. The handler will add alist
to theCallbackContext
namedCallbackContext.args
. It will contain a list of strings, which is the text following the command split on single whitespace characters.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)¶ Add text after the command to
CallbackContext.args
as list, split on single whitespaces.
-
collect_optional_args
(dispatcher, update=None, check_result=None)¶ Provide text after the command to the callback the
args
argument as list, split on single whitespaces.