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_asynctoTrue, 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_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_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 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 a class:telegram.ext.JobQueue instance 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.
-
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_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