telegram.ext.StringCommandHandler¶
-
class
telegram.ext.StringCommandHandler(command: str, callback: Callable[[str, CallbackContext], RT], pass_args: bool = False, pass_update_queue: bool = False, pass_job_queue: bool = False, run_async: Union[bool, telegram.utils.helpers.DefaultValue] = False)¶ Bases:
telegram.ext.handler.HandlerHandler 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: object) → Optional[List[str]]¶ Determines whether an update should be passed to this handlers
callback.Parameters: update ( object) – The incoming update.Returns: bool
-
collect_additional_context(context: CallbackContext, update: str, dispatcher: Dispatcher, check_result: Optional[List[str]]) → None¶ 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.
- context (
-
collect_optional_args(dispatcher: Dispatcher, update: str = None, check_result: Optional[List[str]] = None) → Dict[str, object]¶ 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
- dispatcher (
- command (